Everything else on this site is about files. This page is about the text box, because it behaves like an upload path and almost nobody validates it like one.
Three behaviours, none of which produce an error:
Twenty thousand characters is roughly three thousand words. Almost nobody hits it by writing prose.
The people who hit it are the ones doing it properly: a shot list with timings, a description of each beat, the sound design written out, a style reference paragraph, and a negative-space section describing what to avoid. That is a document, and documents grow.
And when it goes over, nothing tells you. There is no error, no warning, and no marker in the output. The last beat of your shot list simply was not in the request, and the clip that comes back is missing an ending you will spend twenty minutes re-prompting for.
Count the characters client-side and show the count. It is a <span>.
Prompt expansion helps a short prompt enormously — it fills in the camera, the lighting, the texture vocabulary that a one-line request omits.
It interferes with a long one, for exactly the same reason. A prompt you have already tuned across six attempts is a prompt where every clause is load bearing, and an expander that "improves" it is removing the result of your last six attempts.
The practical rule is that expansion should be on while you are exploring and off once you are converging. Which means an interface that does not expose the toggle is making a decision for you at precisely the point where the decision starts to matter.
The diff is always available. The original text comes back with the response, so "what did the model actually read" is a solved problem — as long as something in the chain surfaces it.
The part of prompt handling that is genuinely model-specific, rather than generic advice, is that this family publishes a layer order — subject, scene, motion, camera, atmosphere, style — and prompts written out of that order degrade in a way that is not about word choice at all.
That is not a validation rule and no API will reject you for it. It is closer to a calling convention: the model was trained to read in a sequence, and handing it the same words in a different sequence is handing it a different prompt.
If you would rather not assemble that by hand every time, a free prompt builder that writes in the published layer order does the ordering for you and needs no account, and eleven complete prompts printed beside the clips they produced is the version I reach for when I want to see the convention rather than read about it.
One last ingest-shaped trap. When reference material is attached, the prompt refers to it by number — Image 1, Video 1. The numbering follows the order of each media array, per type.
Which means "Image 1" does not mean "the first thing I attached" if the first thing you attached was a video. Reorder the array in a later edit and every reference in the prompt now points somewhere else, with no error and no visible symptom until you watch the clip.
Treat the prompt and the attachment arrays as one object that must be edited together. They are a single input wearing two fields.
Prompt limits and default behaviours on this page were read from Alibaba Cloud Model Studio's Wan 3.0 API reference on 2026-08-25.