Generating video with AI
AI video generation means a model builds one shot from your text description, typically 8 to 30 seconds long. The unit of work is a shot, not a video, and that single sentence decides where these tools are useful today and where they are not.
- Lesson 8 of 10
- Beginner
- Free, no signup
The five stages of a video, and the one the model performs
-
1
The shot list
The idea is cut into shots that each fit under the model ceiling. You decide here, not at generation time.
-
2
The style frame
One frame that locks light, colour and texture. It is later handed to every shot as a reference.
-
3
Generate shot by shot
The only stage the model performs. There is no memory between two generations, so you repeat the fixed constraint yourself.
-
4
Assemble on a timeline
Order, rhythm, and dropping the shots that did not match. Here is where you learn which shot has to be generated again.
-
5
Voice and subtitles
For a Persian video this stage is always separate, because none of these models lists Persian among its speech languages.
The model performs stage three only, and only in units of a few seconds. The other four are your work, and that is where scattered clips become one video.
Last checked: Facts and tool names in this lesson are re-checked against their sources on this date.
What one generation actually hands you
One short video file, uncut, with no memory of the generation before it. That is the whole delivery.
A video model builds frames from your sentence and, like an image model, finds nothing. What separates it from an image model is duration: the output covers a span of time, and that span is short today. Seedance 2.5 gives up to 30 seconds in one generation, Kling VIDEO 3.0 up to 15, Runway Gen-4.5 up to 10 and Veo 3.1 exactly 8. Google own documentation for Veo is even more specific: one video per request, 24 frames per second, and the 8 second length is only allowed at 1080p or 4k or when you use reference images.
The practical consequence: your one minute video is not one generation. It is four to eight separate generations that then have to be assembled. And because these models hold no memory between generations, every press of the button can change the colour of a jacket, the quality of the light or a person face. The Veo documentation confirms this in a blunt sentence: referencing or reasoning across multiple videos is not supported, and attempting it degrades the output.
So the real skill here is not prompt writing. It is cutting an idea into shots that each fit under the model ceiling and still match each other. Nearly every tutorial we have seen concentrates on the first half and drops the second, and the second half is exactly where professional work separates from a pile of clips.
One more constraint that never makes a headline: sound. Veo, Kling and Seedance generate native audio; Gen-4.5 does not. But native audio does not mean Persian speech, and the next section shows why.

Which models publish numbers today
The AI section of this site already ranks four video models with published weights and sources, and we are not rebuilding that table here; the video model ranking lives where it lives. What an editor should take from it is three lines.
Line one: Seedance 2.5 leads the two columns that matter for narrative, 30 seconds in one generation and 50 reference files, being 30 images, 10 videos and 10 audio clips. Line two: the same model loses the resolution column outright, because ByteDance own API documentation allows only 480p and 720p for it while listing four values up to 4k for its own predecessor. Line three: Kling VIDEO 3.0 is the only model here with native 4K, but its reference-driven mode caps at 1080p, so 4K and heavy referencing do not happen in one generation.
On the day this lesson was written we re-read three numbers from vendor pages that are not in that table. First, the Veo 3.1 documentation now publishes a latency range: minimum 11 seconds, maximum 6 minutes at peak hours. Second, the same page says a generated video is stored on the server for two days and then removed. Third, the Sora 2 model page opens on the OpenAI developer domain and prints a price per second: $0.10 for Sora 2 and $0.30 for Sora 2 Pro, at 720x1280 or 1280x720. That page does not state a clip length for Sora, and neither do we.
The other prices come from the Runway API price list, where one credit is one cent: Gen-4.5 at twelve credits per second, Seedance 2.5 at 720p at thirty, and Veo 3.1 with audio at forty. That is twelve, thirty and forty cents per second of output. Kling is not on that list and its own pricing is in credits tied to a plan, so we leave its cell empty rather than filling it.
| Model | Length in one pass | Resolution ceiling | Price per second | Who published the number |
|---|---|---|---|---|
| Seedance 2.5 | 30 seconds | 720p | 30 cents | price from Runway, rest from ByteDance |
| Kling VIDEO 3.0 | 15 seconds | native 4K | not published | Kling itself |
| Runway Gen-4.5 | 10 seconds | 720p | 12 cents | Runway itself |
| Veo 3.1 | 8 seconds | 4K (at 8 seconds only) | 40 cents | price from Runway, rest from Google |
| Sora 2 | not published | 1280x720 | 10 cents | OpenAI itself |
The last column is there on purpose. Three of the five prices are a reseller price rather than the maker own, and that difference matters the moment you have to set a budget. It is also why the table in the AI section carries no price column at all, and we have solved that here with a source column instead of by hiding it.
What these are good for today, and what they are not
Our position is plain and fits in two lines. For ideas, mood and filler shots, these tools work today and are cheaper than any alternative. For a brand final, they do not, and anyone claiming otherwise has either never delivered a final or never met a strict brand.
Three uses that genuinely work: the concept shot that sells an idea to a client before real production, the filler or background shot inside a video whose backbone is filmed footage or motion graphics, and the style frame, a generated frame that tells the team what the light, the colour and the texture are supposed to be. In all three the model output is an input to the next stage, not the delivery.
And three places where the answer is no today: any shot in which a real person or a real product has to be exactly itself, any video in which a character must hold across more than a couple of shots, and any output that has to speak and speaks Persian.
Let us source that third one, because it is where Persian tutorials make the most confident wrong claim. The Veo documentation carries a sentence that settles it: English is fully supported, other languages have not been evaluated, so they may work but results can vary. The Kling guide, for its part, counts five speech languages, Chinese, English, Japanese, Korean and Spanish, and Persian is not among them. So for a Persian video, whichever route you take, the voice is a separate step. If you read somewhere that one of these speaks Persian, ask for the source.
There is also a practical constraint few people weigh before the first invoice: cost scales with seconds rather than with attempts, but attempts are seconds too. One 8 second Veo shot at forty cents a second is about three dollars twenty, and if it takes five generations to land the shot you want, that single shot cost sixteen dollars. Nobody says that number in a promotional video.
What a generated shot can carry, and what it cannot
What works today
- A concept shot that sells the idea before real production
- Filler and background shots inside a video whose backbone is something else
- A style frame that aligns the team on light and colour
- Abstract shots and moving texture to sit behind text
What does not work today
- A shot where a real person or product has to be exactly itself
- A character who must hold across more than a couple of shots
- Persian narration from inside the model
- Text on the image, in any language, from inside the model
The second column does not mean never, it means not today. Every time a vendor publishes a new number this sheet gets re-read, and the verified date on this page says when that last happened.
What leaves with the file
Two things, and neither shows up in the preview.
First, a mark. The Veo documentation states plainly that videos created by Veo are watermarked using SynthID and can be verified on the SynthID verification platform. Which means the thing we know from images is in video too: a mark invisible to the eye that its maker can read. If you want to know exactly what sits inside the file, who can read it and what survives an edit, the lesson on image watermarks and content credentials opens that and covers both media.
Second, an expiry date almost no tutorial mentions. The Veo page says a generated video is stored on the server for two days and then removed, and that to keep a local copy you must download it within those two days. An extended video counts as a newly generated one and its clock restarts. For anyone spreading a project across several days, that means the output of day one may be gone by day four.
A third constraint is worth naming, not as a risk but as a cost: the latency range. The same page gives a minimum of 11 seconds and a maximum of 6 minutes at peak hours. If your plan is to generate and choose between ten shots in one sitting, it is the maximum that sets the length of that sitting, not the minimum. The other three vendors publish no generation time at all, and we invent none for them.
Decide these four things before the first generation
All four get expensive or impossible after generation.
Aspect ratio. Portrait or landscape, from the start. Cropping landscape into portrait means throwing away both sides of the frame, and in a shot where the subject is off-centre that crop cuts the subject. Veo takes the ratio in the request itself, so changing it afterwards means generating again, which means paying again.
The length of each shot, against your own model ceiling. If your model gives 8 seconds, write the shot list in shots of 8 seconds and less, not in twelve second shots you will have to break later. Breaking a shot after generation leaves you with an unwanted cut in the middle of it.
Where the sound comes from. From the model, or separately. If you have Persian narration the answer is decided in advance: separately. In that case it is better to generate the shots silent and build the whole audio bed in one pass, because the model native audio rarely sits under Persian narration and pulling it back out of a video file is hard work. The lesson on AI voice and dubbing opens that stage properly.
What has to stay identical across every shot. A short list: the product colour, the character clothing, the direction of the light, the palette. That list later gets pasted verbatim at the head of every prompt, and it is what stands in for the memory the model does not have. The fast path below builds exactly that.
And a fifth decision that is not technical: whether you tell the client that part of the video was generated. The right answer is that you tell them, and better before you start than after you deliver. For work that is going to be delivered, our motion graphics service settles that boundary with the client up front.
The fast path, with AI
The fast path here is not a better prompt. It is one move that Persian tutorials almost never show: because the model holds no memory between generations, you build a fixed-constraint paragraph and repeat it verbatim, word for word, at the head of every shot prompt. That literal repetition stands in for the memory, and it is what makes the shots match. A fast, cheap text model is enough to build the shot list and that paragraph; our current pick lives in <a class="text-link" href="/en/ai/">the AI section</a>, and take the video model from <a class="text-link" href="/en/ai/video/">that ranking</a>.
- Write down your own model ceiling first: the length of one generation, the aspect ratio, and whether the sound comes from the model or separately. The rest of the path is built on those three.
- Give the recipe below to a text model with your own variables. Part three of the output, the fixed constraint, is the most valuable thing you get back; do not drop it.
- Before any shot, generate exactly one style frame: a still image built from that same fixed constraint. Until that one frame is right, generate no shots.
- Generate the shots in order, each with the style frame as a reference and the same fixed paragraph at the head of the prompt. Download each shot the moment it lands: Veo output stays on the server for two days only.
- At the end, check three things yourself: whether the shots actually match when cut together, that the Persian narration and the subtitles were added outside the model, and that you know what mark the output of your chosen model carries.
Copy-ready recipe
Role: a director writing a shot list for a video model.
The message of the video in one sentence:
{write it in one sentence}
Total length: {e.g. 30 seconds}
Maximum length of one generation on my model: {8, 10, 15 or 30 seconds}
Aspect ratio: {16:9 or 9:16}
What must stay identical across every shot: {e.g. product colour, character
clothing, direction of light}
Return exactly these four parts:
1. The shot list. One row per shot: number, duration in seconds, camera move,
and what happens in that shot. No shot may exceed the ceiling and the
durations must add up to exactly the total length.
2. For each shot, one paragraph English prompt: subject, action, frame and
camera distance, light, medium. Put no speech and no text inside the prompt.
3. One fixed-constraint paragraph, forty words at most, to be repeated verbatim
at the head of every prompt. Put in it only what is identical across all
shots; anything that differs between shots must stay outside it.
4. The list of work left after generation: narration, music, subtitles, logo.
For each one, say at which stage it gets added.
Write no number about the quality, speed or price of any model.
Before you trust the output: This path does not solve three things, and all three are a person job. First, Persian narration: the prompt said no speech inside the shot, so the voice is still a separate stage. Second, whether the shots really match: the fixed constraint raises the odds, it does not guarantee anything, and you still have to view them cut together and regenerate some. Third, the file: download the output the same day, and know what mark is inside it before you publish. Fast does not mean unsupervised.
AI in this kind of work
This whole lesson is about working with AI, so this section takes the question usually asked last: which of these is reachable from Iran at all. Our position in one sentence: <strong>a model you cannot pay for officially is not a tool for client work, however good its output looks in a promo reel.</strong>
Tools that actually help
- Veo 3.1 The most transparent documentation in this list: 8 seconds, 24 frames per second, one video per request, up to three reference images, a latency range of 11 seconds to 6 minutes, two day retention and a SynthID watermark, all on one page. Iran is not on Google supported-countries list and there is no official payment route.
- Kling VIDEO 3.0 The only model here with native 4K, which matters for anything going to a client because upscalers move faces. Fifteen seconds in one generation and seven reference inputs. It publishes no country list, but its own user policy asks you to warrant that you are not subject to any sanctions, and the subscription is paid by international card only.
- Seedance 2.5 If you are building a narrative, this has the longest generation and the most reference inputs: thirty seconds and fifty files. Its resolution ceiling is 720p, though, which is small for a final delivery. ByteDance publishes no country list; the official route to buy it is the Volcano Engine console in China, and the second route is the same model resold on US platforms that sit under US export control law.
- Runway Gen-4.5 The cheapest ranked row at twelve cents a second, ten seconds in one generation, 720p and no native audio. For a filler shot that will sit under music, that is enough, and the top of the table is money wasted. Runway publishes no country list, but its terms of use state that its products are subject to US export control laws.
Where it backfires
Three specific risks in this work, and none of them is about picture quality.
First, the mark inside the file. The Veo documentation says videos created by Veo are watermarked using SynthID and can be verified on that same technology verification platform. This is neither illegal nor secret, but it does mean your file carries something you cannot see. The watermark lesson opens it properly.
Second, losing the output. The same page says a video is stored on the server for two days and then removed. A project that runs over several days and does not download its files the same day loses part of its work and has to pay for it twice.
Third, the language claim. Google itself writes that only English is fully supported and other languages have not been evaluated, and Kling counts five speech languages with Persian not among them. Any tutorial claiming these models speak Persian is saying something no vendor has written.
And on access from Iran we suggest no way around anything. To see where each tool stands, read AI in Iran and the buying guide.
Sources: Google: Veo video generation in the Gemini API Google DeepMind: SynthID Google: where the Gemini web app is available Kling AI: VIDEO 3.0 model user guide Kling AI: user policy ByteDance Seed: Seedance 2.5 model page Runway: API pricing per second of output Runway: terms of use, export control OpenAI: Sora 2 model page, price per second
Where this advice stops
This lesson did not run these models side by side on one prompt and not one number in it comes from our own test; what you are reading is a comparison of documentation. Four things are deliberately absent. Any judgement about whose output looks better, because that has to come from someone who ran all five on one brief and we have not. Any clip length for Sora, because OpenAI own page prints the price and the dimensions but not the length. Any generation time for the other three vendors, because they publish none. And any route to access from Iran, because we do not teach what we do not recommend. One more honest boundary: this lesson covers the models assessed in the AI section of this site; Hailuo, Luma and Grok Imagine have not been looked at, and their absence means we have not got to them rather than that they failed.
From our own work
That we do not build a row without numbers, and that we re-read the numbers, is checkable on this very server. On the day this lesson was written we opened the model pages again and found two things that are not in the table in the AI section of this site, because on that table verification date of 12 August they had not been read yet: the Veo documentation now prints a latency range and a two day retention window, and the Sora 2 model page on the OpenAI developer domain carries a price per second. In the same minute, the OpenAI home page and both Sora domains all returned 403 to our server while its developer domain returned 200, so the problem was not our network and one domain of one company is open while the others are not. The consequence is that the ranking table still has no generation-time column, because one vendor out of four does not make a column. The same test takes a minute and works on any tool somebody recommended to you: open its pricing page and its documentation and see whether they open at all.
Real follow-up questions
Which AI is best for generating video?
It depends on your constraint, not on a table. If you need narrative and a character that holds, Seedance 2.5, with 30 seconds in one generation and 50 reference inputs. If the output goes to a client, Kling VIDEO 3.0, the only native 4K model. If cost is the only thing that binds, Gen-4.5 at twelve cents a second. Three different constraints, three different answers.
Which AI video model speaks Persian?
None of them. Google writes for Veo that only English is fully supported and other languages have not been evaluated, and Kling counts five speech languages with Persian not among them. For a Persian video, put the voice in your plan as a separate stage from the very beginning.
What does a one minute video cost?
The published prices give you a floor, not the real figure. Sixty seconds of output is about seven dollars twenty on Gen-4.5 and about twenty four dollars on Veo 3.1, if every shot lands on the first attempt. In real work it does not, so the real number is a multiple of that and depends on how many attempts you take rather than on the price list.
Can these models be used from Iran?
For Veo, Iran is not on Google supported-countries list and there is no official payment route. Kling and Seedance publish no country list, but the Kling user policy asks you to warrant that you are not under sanctions and the Runway terms point at US export control law. We do not sell accounts and we do not suggest ways around anything.