← Blog

Why AI Video Garbles Text on Screen (and How to Work With It)

Short answer: every AI video model mangles on-screen text, and it is not something you can prompt your way out of. The fix is architectural: make the model render the picture, and render the words separately with a real text engine.

You have probably seen it. You ask for a shot with a price tag reading "$40.99" and get "$4O.99", or "$40.9S", or three characters that are letter-shaped but are not letters. You rewrite the prompt. You put the text in quotes. You try a different model. It comes back wrong in a new way.

It is not your prompt, and it is not your model

The most useful thing to know is that this is a property of the whole category, not of the tool you happen to be using.

The one public systematic test of this is T2VTextBench, a human-evaluation benchmark built specifically for textual control in video generation. It put ten state-of-the-art systems, open-source and commercial, through prompts containing complex text strings and dynamic scene changes, and had humans score whether the text came out legible and stayed consistent. Its conclusion: "Most struggle to generate legible, consistent text." The paper calls it a critical gap in current video generators.

Ten systems. Human raters. Most of them fail. That is the state of the field, and it has not been quietly solved since — the newest models released in 2026 postdate that benchmark and have never been scored on it, or on any other public text-rendering test. Vendor launch material makes confident claims about text quality. Nobody has published a number.

Why text is uniquely hard for video models

It helps to understand the mechanism, because it tells you which text will work and which will not.

A video model does not typeset. It has no font, no glyph table, no concept of a character as a discrete symbol. It has learned, from an enormous amount of footage, what regions of an image that contain writing tend to look like. When you ask for the word SALE, it produces something that has the statistical texture of the word SALE. Sometimes that lands exactly. Often it lands one letter off, because nothing in the process is checking spelling — there is no spelling to check.

Video then adds a second problem that still images do not have. The text has to be the same in every frame. At 24 frames per second, a letter that shifts shape slightly between frames reads as a glitch immediately. Your eye tolerates a leaf moving differently frame to frame; it does not tolerate a letter doing it. So a still image that would pass inspection becomes obviously broken once it moves.

And there is a resolution floor. Models work internally on a compressed representation of the frame, not the frame itself. Fine strokes — the crossbar of an "e", the difference between "5" and "S", the stroke detail in a Chinese character — sit below what survives that compression. This is why the failure pattern is so consistent across models: big display type sometimes works, small type essentially never does.

What everyone doing this professionally converged on

Practitioners running these models on paid client work all end up at the same workflow, independently, and it is not "prompt harder."

Generate the shot clean, with deliberate empty space where the text belongs. Then add the titles, captions, prices and logos afterwards, with software that actually renders type. It sounds like a workaround. It is really the correct architecture, for a reason that goes beyond legibility: text added afterwards is editable. You can change a price, fix a claim, swap a language, or run four caption variants against the same footage without regenerating anything. Text baked into the pixels is frozen the moment it is generated.

What we do about it

Riffkit takes this to the point of enforcement. Every generation request we send carries a rendering floor — a set of hard constraints appended to every prompt — and its first clause is:

NO ON-FRAME TEXT — captions / subtitles / labels are burned by a separate channel; the model renders no text on frame (the only text is text physically on real objects in the scene).

The model is not asked nicely to avoid text. It is told, on every single segment, that writing is not its job. Captions are then aligned against the actual generated voice track and burned in with a real text renderer, at full resolution, pixel-identical across every frame.

This is why the caption on a Riffkit video is sharp when the same model's own attempt at on-frame text would not be. It is not a better model. It is a division of labour: the model does motion, performance and light, which it is genuinely good at, and does not do typography, which it is not. If you are weighing how localization tools split the same problem, dubbing, subtitles and native generation each draw that line in a different place.

The exception that still matters: text on real objects

There is one kind of on-screen text you cannot move to a separate channel, and it is the one that matters most for commerce: the writing on your product.

Your packaging has your brand name on it. Your label has ingredients, a size, a claim. When your product appears in the shot, that text has to be there, and it has to be right — a viewer who sees your brand name misspelled on your own pack does not think "AI artifact," they think the ad is fake.

This case is genuinely different from caption text, and meaningfully easier for the model. Your pack is supplied as a reference image, so the task is reproduction rather than invention: the model is reproducing letterforms it can see, not inventing letterforms it has only read about. It works far more often than free-form text. It is still not guaranteed, and small print is still where it breaks.

Practical rules that follow directly:

  • Supply the product image large and sharp. Fine detail that is not in your reference cannot be recovered from it.
  • Let the label be the subject of the shot, not a background object. Reference fidelity is strongest where the model is paying attention.
  • Put the claim in the caption, not on the pack render. If the words carry your offer, they belong in the layer you control.
  • Check the pack before you spend. One look at the finished video, every time, before it goes behind ad budget.

What to take away

Stop trying to get the model to write. It is the one thing in this whole pipeline where prompt effort has close to zero return, because the failure is structural rather than a matter of instruction. Give it the picture to make, keep the words in a layer where a real renderer handles them, and reserve your attention for the one case that genuinely needs the model to get letters right — your own product in frame.

That is how the videos coming out of Riffkit are built: the model performs the shot, the captions are burned separately and stay crisp, and the source formula that made the original video work is what gets recreated — not the footage, and not the typography.

FAQ

Why does AI video generate garbled or misspelled text?

Because video models render text as pixels rather than typesetting it as glyphs. The model has learned what letterforms tend to look like, not what a specific word is, so it produces something letter-shaped that drifts from the real spelling. Video makes it worse than still images: the text has to stay identical across every frame at 24 frames per second, and any wobble between frames is instantly visible in a way a drifting leaf or a shifting shadow is not. Small type breaks first, because thin strokes fall below the resolution the model actually works at internally.

Can any AI video generator render readable text?

None reliably. T2VTextBench, a human-evaluation benchmark that tested ten state-of-the-art systems on on-screen text, concluded that "most struggle to generate legible, consistent text" and called it a critical gap in current video generators. Large display type sometimes lands; small type, dense type, and non-Latin scripts with fine stroke detail still break. Treat any single clean example you see as a lucky draw rather than a capability you can build a workflow on.

Should I add captions before or after generating the video?

After. Generate the shot with deliberate empty space where the text belongs, then burn captions, titles, prices and logos in afterwards with a real text renderer. That way the words are typeset rather than hallucinated, they stay pixel-identical across every frame, and you can change the copy without regenerating the video. Asking the model to write them into the shot puts your claim, your price, or your brand name at the mercy of a system that cannot spell.

Will the text on my product packaging come out right?

This is the one case the model genuinely has to handle, and it is different from caption text: your packaging is supplied as a reference image, so the job is reproduction rather than invention. It works better than free-form text but is not guaranteed, especially for small print and fine stroke detail. Shoot or supply the pack image large and legible in frame, keep the label as the visual focus rather than a background detail, and check the finished video before you run spend behind it.

Keep reading

GMV Max Accelerated Testing: The Lever That Funds Your New Creatives

Accelerated Testing forces exploration budget onto new GMV Max creatives and accounts. How it works, how it pairs with Creative Boost, and the right order.

Your Creative Didn't Fail, Your Landing Page Did: Read the Funnel in Four Segments

Weak ROAS doesn't mean bad creative. Read CTR, add-to-cart rate, checkout conversion and repeat purchase separately to find where your funnel really breaks.

CBO Starves Your Best Creative: Use ABO to Test, CBO to Scale

CBO vs ABO for creative testing: why campaign budget optimisation kills good creatives during tests, and the two-track ABO/CBO structure that fixes it.