The paper
MOSS-Image Technical Report, arXiv 2610.23374, submitted 16 October 2026.
The finding in plain English
Most open image models still fall apart when you ask for a lot of words. A thumbnail with a five-word headline is fine. A carousel slide with a 200-word explainer, or an infographic with nine labelled sections, usually comes back with melted letters, missing lines and invented spelling. The paid models from OpenAI, Google and ByteDance have pulled well ahead here.
MOSS-Image is an open-weight model built to close that gap. The authors report that on LongLongTextBench, a test of page-length English and Chinese text, it reaches an average text coverage of 96.3%, the best of the open-weight models they tested. The next open model in their table, Qwen Image 2512, scored 64.9. On a second test of full designs (posters, infographics and app screens made from a short request), human raters ranked the complete MOSS-Image system second of nine, behind GPT Image 2 and ahead of Seedream 5.0 Pro and Nano Banana Pro.
The weights for both the Base and SFT versions are on Hugging Face under the Apache-2.0 licence, which allows commercial use.
How they did it
A 5B model trained from scratch. The team did not fine-tune someone else's model. They pretrained a 5-billion-parameter diffusion transformer from zero, starting from public image-text collections such as ReLAION, OmniCorpus and DataComp. After removing duplicates and AI-generated images, the corpus dropped from roughly 5 billion to 3 billion images. They chose not to filter harder. In an early experiment, extra quality filtering cut the model's text-rendering score from 0.52 to 0.12, so they kept the messy data and described its flaws (watermarks, blur) in the captions instead.
Training images were given short, medium and long captions, and visible text in each image was transcribed exactly, with line breaks, position, font and colour. Some images also got structured layout labels: each element and block of text with a bounding box. Plain-English prompts and JSON layouts go through the same input, so at generation time the model accepts either.
An agent that writes the brief for you. The second half of the system is a prompt-expansion agent the authors call Layout PE. A request like "make an infographic about sleep" says almost nothing about what goes on the page. The agent works out which kind of graphic you want (poster, infographic or user interface), searches the web for facts and reference designs, and then writes a JSON spec covering every visible string, each element's bounding box, typography, colour palette, up to three spatial rules and up to three things to avoid. It checks that the text will fit inside each box before handing the spec to the image model.
This matters more than it sounds. In the authors' prompt tests, short requests scored 1081.70 on their rating scale and the full JSON layout spec scored 1622.87.
Why it matters
Text-heavy graphics are a big share of what creators actually make: YouTube thumbnails, LinkedIn and Instagram carousels, quote cards, infographics, ad creatives, slide covers. Until now, doing these with an open model meant generating the background and adding the text by hand in Canva or Figma. If an open model can reliably lay down several hundred words, you can automate the whole asset.
Open weights under Apache-2.0 also change the economics. You can run it on your own GPU or a rented one, generate thousands of variants without per-image fees, fine-tune a LoRA on your brand style (the user guide covers LoRA training), and you don't depend on one platform's content policy or price changes. The authors also show layout-guided edits: change one string or move one box in the JSON, regenerate, and the rest of the design stays put. That is close to a template engine.
Caveats
The authors built both benchmarks. LongLongTextBench (240 tasks) and RealLayoutArena (61 tasks) are new and come from the same team, and the paper says all results on them come from its own runs. Treat the numbers as promising rather than settled until someone else reproduces them. We covered why model-graded and self-built evaluations can drift in our piece on LLM-judge instability.
96.3% is not spelling accuracy. The score uses OCR to count how many of the target words or characters appear. The paper says the metric "does not check order or directly penalize extra OCR units". A slide can score well and still have a line out of place. Long Chinese text was weaker, at 92.4.
It still lost to GPT Image 2 in the end-to-end human ranking (1698.70 against 1844.35). The arena is small, and the authors' own coverage table shows only 31.1% of possible task pairs in the main comparison received a vote.
The clever agent uses a closed model. In the paper, Layout PE runs on GPT-6. The released prompt-enhancer skill is "designed for GPT-6-family agents", so the full pipeline is not fully open or free. The authors also note the enhancer can bring in factual errors, so check any facts it adds to an infographic.
Hardware. Neither the model card nor the GitHub README gives a VRAM figure. The model card asks for an NVIDIA GPU with CUDA, and the README offers a lower-memory "Sequential" mode that is slower. Test on your own card before you plan around it.
No image editing or reference images yet. The authors list both as future work.
How builders and ordinary people can use it today
No GPU: try the MOSS-Image demo Space on Hugging Face to test prompts in the browser.
With a GPU: the model card gives a short diffusers script (Python 3.10+, PyTorch 2.9+), and there is a ComfyUI plugin you can find in ComfyUI Manager. Default settings are 50 steps and guidance 3. Image width and height must be multiples of 16.
Worked example: one idea, three assets.
Write the content yourself in a plain doc: the headline, three to five points and a call to action. Keep the facts in your own hands.
Ask your LLM of choice (or the MOSS-Image prompt-enhancer skill, if you use a GPT-6-family agent) to turn it into a layout prompt for each format: a 1280×720 thumbnail with a six-word headline, a 1080×1350 carousel with one slide per point, and a 1024×1536 infographic. Tell it to keep every string exactly as written and to add explicit line breaks. The authors found line breaks help the model get each line right.
Generate four images per asset with fixed seeds, so you can reproduce the one you like.
Proofread every word against your doc. Fix any bad line by editing that one string in the JSON and regenerating, rather than rewriting the whole prompt.
Once a layout works, save it as a template and swap the strings for next week's post.
If you want to turn the same script into short video next, our write-up of the Ngram video agent covers that step.
A 30-minute test against your paid image API
Minutes 0–5: write 10 prompts from your real backlog: 3 thumbnails, 3 carousel slides with 60–150 words, 2 infographics, 1 quote card and 1 ad with a price and a call to action. Paste the exact text each one must contain into a spreadsheet.
Minutes 5–20: run all 10 through MOSS-Image (Space or local) and through the paid API you use now, at the same sizes. One image per prompt each, no rerolls, the same rule the paper's arena used.
Minutes 20–27: score each image on four things, 0–2 each: every word present and spelled right, correct reading order, layout matches the request, usable without touch-ups. Hide which model made which image if a colleague can shuffle them for you.
Minutes 27–30: total the scores and note time per image and cost per image. If MOSS-Image lands within a couple of points of the paid model on your text-heavy prompts, move those formats over and keep the paid API for the rest.
Keep the sheet. When the next open model ships, rerun the same 10 prompts and you have your own benchmark, built on work you actually publish.

