The Image-to-Video Prompt Structure That Produces Controllable Motion
A fixed five-element image-to-video prompt template—subject, motion, camera, lighting, duration—and why the order determines what the model actually animates.
The Image-To-Video Prompt Structure That Produces Controllable Motion
You upload a sharp photograph of a vintage motorcycle parked on a wet cobblestone street. The model returns a clip where the motorcycle warps into a blur of chrome drifting sideways while the cobblestones ripple like water. The scene you described did not happen. The prompt ignored the order in which models read your text. The fix is a fixed five-element sequence: subject, motion, camera, lighting, duration. Every major model weights the first tokens of your prompt most heavily. This order forces the model to anchor on what stays constant before it tries to interpret what moves.
Write the prompt in natural English that follows this sequence and you control the output. Write it in any other order and you hand control to the model's statistical guesses. That is when you get motion collapse or the prompt-ignored failure. The template below explains why each element sits where it sits. The same shot prompted two ways shows the difference frame by frame.
The Five-Element Prompt Template
Every image-to-video prompt you write should follow this exact order. The model does not read your entire prompt equally. Its text-conditioning mechanism attends most strongly to the first words. Those words must establish the identity of the shot before anything else competes for attention.
- Subject description. One or two sentences that describe the source image in plain terms. If the image contains a specific person, object, or scene, say exactly what it is. Do not assume the model recognises the figure from the image alone. Runway Gen-3 Alpha and Kling 1.6, available as of early 2025, require this anchor. Their temporal attention layers compare the text to the image features at every denoising step. Omit the subject description and the model may drift into a generic output that shares nothing with your source image.
- Motion descriptor. What moves and how. Use action verbs. "The figure walks forward", "the flag waves in a breeze", "the car turns left". This element triggers motion collapse if placed at the end of the prompt. When the model encounters the motion descriptor late, it has already committed to a low-motion baseline. Your request for movement produces a barely perceptible shiver instead of the action you wrote.
- Camera movement. How the virtual camera moves through the scene. Use the same vocabulary you would give a cinematographer: zoom in, pan left, tilt up, dolly forward, crane down, roll clockwise, orbit around the figure. Runway Gen-3 Alpha and Veo 3 treat camera keywords as separate axes. Luma Dream Machine and Hailuo Minimax expect natural-language prompts but also respect these keywords, provided they appear after the motion descriptor. Place camera movement before motion and the model often interprets a camera push as the figure moving toward the lens. You get a confusing double motion.
- Lighting conditions. One or two words that describe the light: "golden hour", "neon at night", "overcast", "hard studio light". Lighting acts as a modifier on the entire scene. Placing it after the camera movement tells the model to apply the light to the already moving figure and camera path rather than trying to infer light from a static image first. Google Veo 3 and Sora, both current as of mid-2025, reproduce specified lighting consistently when it occupies the fourth position.
- Clip duration. State the length at the end even when the UI offers a duration dropdown. "Five seconds" or "three seconds" reinforces the temporal budget the model should use. When you omit duration, the model defaults to its training distribution. For most commercial models that distribution peaks at four to six seconds regardless of what you want.
Why This Order Prevents Motion Collapse And Prompt-Ignored Failures
Motion collapse happens when the model generates a nearly static clip despite a prompt requesting significant movement. The cause is not a bug. It is the model's training bias toward low-motion outputs that have fewer visible artefacts. When your motion descriptor appears late in the prompt, the text-conditioning mechanism has already weighted the earlier tokens more heavily. The motion request arrives too late to shift the output away from the static baseline. The prompt-ignored failure is the other side of the same problem. The generated motion bears no relationship to the text prompt. The model's attention never reached the motion words with enough strength to influence the denoising path.
Every model in the current generation uses some form of temporal attention that attends to text tokens across the entire clip. The first tokens receive the highest weight regardless of model architecture. This is true for Runway Gen-3 Alpha, Kling 1.6, Luma Dream Machine, Pika 2.0, OpenAI Sora, Google Veo 3, Hailuo Minimax, Wan 2.2, Seedance 1.0, LTX-Video 0.9.5, and Stable Video Diffusion 1.1. The only difference is how strongly each model weights the text at all. LTX-Video and Stable Video Diffusion have weaker text-conditioning overall. For those models the order matters even more. You cannot afford to waste any of the attention budget.
How To Write An Image-To-Video Prompt: A Worked Example
Start with a specific source image: a close-up photograph of a ceramic coffee cup on a wooden table, taken from a slight overhead angle, with steam rising from the surface. The shot is static, the table is warm oak, the cup is white with a single blue stripe.
The Well-Structured Prompt
"A white ceramic coffee cup with a blue stripe sits on a wooden table. Steam rises from the surface of the coffee in gentle curls. The camera slowly pushes in toward the cup over the duration. Soft warm sunlight from a window on the left. Four seconds."
Input this to Runway Gen-3 Alpha or Kling 1.6. The output holds the cup's shape. The steam moves upward in visible currents. The camera moves closer without distorting the cup. The warm light stays consistent across the clip. The motion stops at four seconds. The source-image fidelity at clip end remains good. The subject description anchored the model before the motion token arrived.
The Badly Structured Prompt
"A slow push-in on a coffee cup with steam rising, warm lighting, white with a blue stripe, four seconds."
This prompt moves the subject description to the middle, drops the camera instruction into the first position, and buries the object attributes after the motion. The same model returns a clip where the camera does not push in at all. The cup wobbles slightly. The steam appears as a static white blur. The model interpreted "slow push-in" as the entire subject. The cup's blue stripe shifts to a different position every few frames. The lighting flickers between warm and neutral. The lighting keyword arrived after the model had already committed to a default colour temperature. The clip runs beyond four seconds. The duration statement was the last token and received the weakest attention.
Which Models Respond To Structured Prompts And Which Prefer Natural Language
The five-element template works across every model listed here, but the degree of structure you need varies by model.
Runway Gen-3 Alpha And Gen-4
Runway Gen-3 Alpha and its successor Gen-4 were designed for structured prompts. Runway's own interface includes dedicated camera-motion sliders for pan, tilt, zoom, and roll. The model expects camera direction as a separate signal. Write the prompt in the fixed order and Runway's temporal attention layers map each element to the correct axis of generation. Write a run-on natural-language prompt and Runway still produces usable output but the motion coherence drops after the first four seconds.
Kling 1.6
Kling 1.6 also responds well to structure. Its start-and-end-frame feature lets you specify both the first and last frame of the generated clip. The model already thinks in terms of a fixed motion arc. A structured prompt that places the motion descriptor second and the camera movement third aligns with the model's internal pipeline. Kling ignores duration statements less than most models. Its native clip lengths of five and ten seconds are hard limits the prompt cannot override. The duration token still influences how much of that budget the model uses for motion versus settling.
Luma Dream Machine And Hailuo Minimax
Luma Dream Machine and Hailuo Minimax prefer natural-language prompts that read like a single flowing sentence. These models were trained on large corpora of descriptive video captions rather than structured metadata. When you use the five-element template with Dream Machine, write the prompt as a paragraph that follows the subject-motion-camera-lighting-duration order but use natural connecting words. "A white ceramic coffee cup with a blue stripe sits on a wooden table while steam rises from the surface in gentle curls as the camera slowly pushes in, lit by soft warm sunlight from the left, lasting four seconds." The model interprets the same elements but rejects the staccato format of a structured prompt.
OpenAI Sora And Google Veo 3
OpenAI Sora and Google Veo 3 sit in the middle. Both accept structured prompts and natural-language prompts equally well. They were trained on captioned video data that includes both metadata-style descriptions and narrative text. The five-element sequence works in either mode. The difference appears in camera control. Veo 3 recognises a wider vocabulary of camera keywords including crane, orbit, and tracking. Sora responds more reliably to simple pan and zoom. Both models show the highest prompt adherence of any current model as of mid-2025. The order matters less than it does on Kling or Runway, but the template still improves consistency. It forces you to include all five elements rather than assuming the model will infer them.
Pika 2.0
Pika 2.0 benefits from the template for a different reason. Pika's region-mask feature lets you animate a selected area of the frame while keeping the rest static. When you write the subject description first, you tell the model which region to leave alone before you describe the motion that should affect the rest. Write motion first on Pika and the region mask often fails. The model interpreted the motion token as applying to the entire frame regardless of the mask boundaries.
Common Questions
Why does placing the motion descriptor last cause motion collapse?
The model weights the first tokens of your prompt most heavily. When the motion descriptor arrives late, the model has already committed to a low-motion baseline during early denoising steps, so it suppresses the requested movement to avoid artefacts.
Can I skip the subject description if my source image is clear?
No. Models do not reliably recognise subjects from the source image alone. Omitting the subject description increases the risk of subject drift, where the person or object transforms into something else over the clip duration.
Does the template work for open-weights models like Stable Video Diffusion?
Yes, but open-weights models such as Stable Video Diffusion 1.1 and LTX-Video 0.9.5 have weaker text-conditioning than commercial models, so the order matters more. You cannot afford to waste attention budget on late-positioned motion tokens.
What if the model has a dedicated camera control panel?
Use it in addition to the text prompt, not instead of it. Runway Gen-4 has camera sliders, but writing the camera movement in the text prompt reinforces the instruction across both conditioning pathways and reduces the chance of a contradiction between the two signals.