# Prompt length and what engines ignore — write 60 words, not 300

> Long prompts are not richer prompts. What the hard caps are, what gets trimmed before the engine reads it, and why one directive per kind is the rule.

Published 2026-09-13 · eroq.ai — canonical: https://eroq.ai/blog/prompt-length-and-what-engines-ignore


There is a stage of learning any generator where prompts get longer every day. You add "cinematic", then "8k", then three sentences about the emotional register, then a list of things to avoid, and the results get *worse* — reliably, in a way that feels like the tool is broken. It is not broken. A prompt is a budget, and past a certain length you are spending it on yourself.

## The caps you can actually hit

Two of them are hard, enforced before anything is billed.

A video or image prompt is capped at **2,400 characters**. That is roughly 380 words. Go over and the call is rejected with a `400 invalid_body` naming the field, which at least fails honestly and free. Chat is a different surface with a different budget — 24,000 characters across the whole message history plus context, because a roleplay scene carries state a render does not. Speech takes 5,000 characters per call.

So 2,400 is the ceiling. It is not the target. Nothing in the system rewards approaching it, and one specific thing punishes it.

## The trim nobody warns you about

Your prompt is not what the engine reads. What it reads is a *composed* prompt, assembled server-side: your text first, then the elements you selected, then the camera move, camera gear, lens, aperture, lighting, palette, film type, era, tempo and — where the engine cannot take a ratio as a parameter — the aspect. That assembly is the [director's rack](/glossary/director-rack), and it is appended after your words, in that order, as short fragments.

Then the whole composed string is trimmed before it goes out: at 2,000 characters on the Seedance engines, Kling, Hailuo and Veo, and at 2,400 on Motion One.

Read those two facts together and the failure mode is obvious. Your prose goes first, so your prose survives. The rack goes last, so **the rack is what gets cut**. Write a 2,400-character prompt on Seedance and roughly the final four hundred characters never reach the engine — which is precisely where your camera move, your lens, your lighting and your palette were sitting. The settings panel will still show them selected. The render will not contain them.

This is the mechanical reason a maximal prompt underperforms a short one. You did not merely dilute your intent, you evicted your own controls.

## One directive per kind

The composer also reads instructions out of your text. Type "wide shot", "anamorphic", "35mm" or "shallow depth of field" and the phrase is highlighted and sets the matching parameter for that render, beating whatever the rack had selected — the written word wins, the way a shooting script beats a mood board.

The catch is that it takes **one directive per kind**: one camera move, one camera body, one lens, one aperture. Write two camera moves and only one survives, and it is not necessarily the first one you typed — the match is decided by the lexicon, not by your sentence order. A prompt reading "a wide establishing shot, then a slow push-in" does not produce a wide shot that pushes in. It produces one of them, chosen by a rule you cannot see from the composer.

The fix is the same as it is for every other render problem: one move per clip. If the shot genuinely needs two, it is two clips.

## What gets averaged away

Beyond the caps, there is the softer failure. Diffusion and video models distribute a fixed amount of attention across everything you named. Name five things and each gets a fifth.

Concretely, these are the words that reliably do nothing:

- **Quality adjectives.** "Masterpiece, 8k, ultra-detailed, award-winning, highly realistic" do not correspond to a control. They are noise competing with your subject.
- **Instructions about consistency.** "Consistent face, stable, no morphing" describe a property of the output, not of the picture. The engine has no mechanism for them.
- **Negations in the positive prompt.** "No text, no extra fingers" puts the word *text* and the word *fingers* into the prompt. Negation belongs in the negative prompt field — which in video is a native control on Kling alone and is quietly dropped by the other engines.
- **Stacked moods.** "Tense, dreamy, energetic, melancholy" averages to nothing in particular.

What survives contact with the model is concrete and singular: one subject, one action, one camera move, one light source, one mood. In that order.

## The shape that works

Thirty to eighty words, one flowing paragraph, in this sequence — subject, what they do, how the camera behaves, where the light comes from, the mood. No lists, no keyword soup, no parenthetical weights.

> A bartender in a black apron polishes a glass and glances toward the door as it opens; slow push-in from a wide shot to a medium, low practical lamps above the bar, rain visible through the window behind him, a tense and expectant mood.

Forty-four words. Every one of them is doing something. That prompt leaves about 2,150 characters of headroom, so the entire rack arrives intact and every setting you picked in the panel actually reaches the engine.

The long version of the same shot — three sentences of backstory, a list of eleven adjectives, a paragraph about the bar's history — is not more specific. It is the same forty-three words of signal with three hundred words of noise around them, and on a premium engine it arrives with its camera move amputated.

There is a fuller treatment of prompt construction in [the AI video prompt guide](/blog/ai-video-prompt-guide), and of what the rack contributes in [the director's rack](/blog/directors-rack-film-type-era-tempo).

## Where the length should go instead

If you have detail worth keeping, it belongs somewhere durable rather than in the prompt box.

An **Element** holds a place, an object or a style with its own description and photos, reusable by @mention across every render, and its description is pulled in as its own fragment — see [how to use elements](/blog/how-to-use-elements-places-objects-styles). A **Character** holds a persona and reference photos and gives you the same face every time. A reference image carries more about a location than two hundred words ever will. All three keep the prompt short while making the render more specific, which is the opposite trade from writing an essay.

And when a rough idea needs turning into a director-grade sentence, **Enhance** does it for free — it rewrites, rather than inflates. The [prompt enhancer](/tools/prompt-enhancer) is the right first move on a prompt you are not happy with, before you start adding.

[Open the video studio](/studio/video) and try your longest prompt cut to sixty words. It is usually better, and you will be able to tell why.

## FAQ

### Is there a maximum prompt length?

Yes. Video and image prompts are capped at 2,400 characters and a longer one is rejected with a 400 before any credits move, while chat allows 24,000 across the whole history and speech 5,000 per call. But the practical limit is much lower, because the composed prompt is trimmed again before the engine reads it.

### What happens to the settings I picked if my prompt is very long?

They are appended after your text and are therefore the first thing cut when the composed prompt is trimmed — at 2,000 characters on the premium engines. The panel will still show them selected while the render ignores them. Keeping the prompt short is how you guarantee the rack survives.

### Can I put two camera moves in one prompt?

You can type them, but only one takes effect, and which one is decided by the matching lexicon rather than by the order you wrote them. Treat it as one move per clip and cut between shots if you need more. The same applies to lenses, camera bodies and aperture.

### Does the prompt enhancer make prompts longer?

It rewrites them into the shape the engines respond to, which usually means tightening rather than expanding. It is free to run, so there is no reason not to try it on a prompt that is not working. Use it before you start adding adjectives by hand.
