Kling vs Sora vs Veo: the AI video tool a marketer should actually use
One of these three left the building. That is the most useful thing about this comparison.
The short answer. OpenAI removed the Videos API and the Sora 2 model aliases on September 24, 2026, after six months’ notice, and named no replacement. So “Sora vs Veo” stopped being a purchasing decision in late September. What is left is a real decision, but not a ranking. It is a routing problem. Hooks, product shots, and talking heads each break a different limit, and the cheapest model per second is rarely the cheapest model per approved shot. Three numbers settle it every time: price per second, the longest clip a single call returns, and whether the audio arrives attached to the picture.
Quick facts
| Question | Answer |
|---|---|
| Cheapest verified rate | $0.034 per second (Gemini Omni Flash, 360p) |
| Most expensive 720p rate measured | $0.40 per second (Veo 3.1, audio on; 4K tiers run higher) |
| Longest single call | 30 seconds (Kling 4.0, Wan 3.0) |
| Shortest usable take | 1 second (Kling 3.0) |
| Native audio | Always on (Veo, Kling 4.0), switchable (Kling 3.0, Wan 3), absent (Gen-4.5) |
| Retired during 2026 | Sora 2 API (September 24), Veo 3.1 preview in Gemini API (October 22) |
1. Three jobs, not one purchase order
A marketing video is not one object. It is a stack of shots with incompatible constraints, and the vendor conversation goes wrong the moment you treat it as a single line item.
The hook runs zero to four seconds. Its constraint is the number of attempts, not the quality of any one attempt. You will make twelve and keep three. Per-take cost dominates everything, and a five-cent difference per second compounds across a year of testing.
The product shot runs four to eight seconds. Its constraint is detail: label text, fabric texture, a highlight that lands on the right bevel. This is the only row where a master file, HDR, or ProRes actually earns its surcharge.
The dialogue shot runs eight to fifteen seconds. Its constraint is that someone is speaking, which means the mouth shapes have to match the words, which means the audio cannot be an afterthought bolted on in another tool.
No model wins all three, because the cost structures point in opposite directions. Dialogue wants native audio and accepts short clips. Long holds want a high duration ceiling and accept a per-second bill that punishes re-rolls. Product wants pixels and will pay for finishing.
2. What each model is actually built to do
I am not going to rank texture quality from demo reels. What follows is limited to specifications that a vendor has published and can be held to.
Veo 3.1 — the dialogue specialist
Four, six, or eight seconds. 1080p and 4K only at eight seconds. Audio is natively generated and always on in the Gemini API, and every output is stamped with SynthID. Extension adds seven seconds per call, but only at 720p, capped at 141 seconds total. Request latency runs from 11 seconds to six minutes during peak hours.
The pricing wrinkle is worth knowing: on Google’s own API there is no mute switch, while a reseller lists the same model at $0.40 per second with audio and $0.20 without. Audio literally doubles the bill, and on one path you cannot decline it.
Also worth knowing: the Veo 3.1 preview endpoints in the Gemini API were shut down on October 22, 2026, with traffic steered to Gemini Omni Flash or the generally available Veo 3.1 models on Google’s enterprise platform. The model is still sold through third-party APIs. The lesson is not about Veo. It is that you should never let a campaign depend on a preview endpoint.
Gemini Omni Flash — the volume machine
Three to ten seconds, or an automatic duration. Up to 4K. $0.10 per second at 720p, $0.15 at 1080p, $0.30 at 4K, and $0.034 at 360p, which is the cheapest verified number in this comparison. Video-to-video reference and edit work up to ten seconds, extension up to thirty. There is no audio field on the endpoint, so plan a separate track.
Kling 3.0 and 4.0 — the long-take specialists
Kling 3.0 does one to fifteen seconds per segment and accepts up to six shot prompts in a single request, which is how you get a coherent three-beat sequence without three separate renders. Audio is switchable and on by default. Standard runs $0.13 per second with audio and $0.09 muted, Pro $0.17 and $0.12, and 4K $0.43 either way at 3840 by 2160.
Kling 4.0 stretches to thirty seconds and includes audio with no toggle: $0.157 per second at 720p and $0.235 at 1080p, with a 20 percent discount running to November 30, 2026.
Runway Gen-4.5 — the finishing room
Two to ten seconds at $0.12 per second, no native audio. ProRes and PNG sequence output add $0.05 per second; HDR profiles add $0.20, or $0.40 above roughly four megapixels. Note the ceiling: output ratios top out at 1280 by 720, so this is a finishing step, not a resolution upgrade. This is where a shot goes when a brand team wants a master file instead of an MP4.
Wan 3.0 — the volume floor
Two to thirty seconds at $0.05, $0.10, or $0.20 per second for 480p, 720p, and 1080p, with an audio flag. Nobody’s hero shot, everybody’s animatic.
Sora 2 — retired, and still the reference point
Sixteen- and twenty-second single generations with native dialogue. That combination — long take plus baked audio — is exactly what everyone is now trying to buy elsewhere. The deprecation notice went out on March 24, 2026, removal landed on September 24, 2026, and the replacement column is empty. I am describing the developer API; nothing here speaks to the consumer product.

3. Cost per approved shot beats cost per second
Per-second rates are an input. The number that reaches a budget line is different:
(seconds × rate) × (takes ÷ approved)
Budgeting five takes per approved clip is not pessimism. On a dialogue shot with a specific line and a specific face, five is Tuesday.
Start with an eight-second dialogue beat:
| Model | Per take | Five takes |
|---|---|---|
| Veo 3.1, audio on | $3.20 | $16.00 |
| Kling 3.0 4K, audio on | $3.44 | $17.20 |
| Kling 3.0 Pro, audio on | $1.36 | $6.80 |
| Veo 3.1 Fast, audio on | $1.20 | $6.00 |
| Kling 3.0 Standard, audio on | $1.04 | $5.20 |
| Gemini Omni Flash, 720p | $0.80 | $4.00 |
Now change the shot, not the model. At four seconds the whole field compresses: a take costs between $0.20 and $1.60 across six vendors, and the cheap end is good enough for a hook. At fifteen seconds the field collapses to two suppliers.
That is the flip. It is not that one model is better. It is that the list of eligible models changes with the shot length, and the price ranking you memorized at four seconds is meaningless at fifteen.
4. Audio: baked in, switchable, or missing
Three billing models hide inside one feature.
Always on. Veo generates audio whether you want it or not. On a dialogue beat that is the entire point. On a silent product rotation you are paying for a track you will mute, and on Google’s API you cannot turn it off.
Switchable. Kling 3.0 and Wan 3 let you decline. Muting Kling 3.0 Standard saves about 31 percent, from $0.13 to $0.09 per second. Across 200 muted eight-second B-roll clips that comes to 200 × 8 seconds × $0.04, or about $64 — small money, but it costs nothing to claim. The same switch does nothing at 4K, where Kling 3.0 bills $0.43 either way.
Missing. Gen-4.5 has no audio field at all, so audio becomes a second vendor and a second review cycle. Cheap per second, not cheap per finished asset.
There is a fourth thing audio does, which no rate card mentions: it fails. Google documents that Veo will sometimes block a generation because of safety filters or processing problems with the audio. That is a re-roll you did not budget, and it arrives at the worst moment — after the client has approved the look.
Lip-sync only matters on the dialogue row. If nobody on screen speaks, native audio is a tax, not a feature.
5. The ceiling nobody checks
| Model | Longest single call | 4K | Audio |
|---|---|---|---|
| Veo 3.1 | 8 s (4, 6, or 8; 4K at 8 only) | Yes, 8 s only | Always on |
| Gemini Omni Flash 1.1 | 10 s (3–10, or auto) | Yes | No field |
| Runway Gen-4.5 | 10 s (2–10) | No — 720p output | None |
| Kling 3.0 | 15 s (1–15 per segment) | Yes, 3–15 s | Toggle |
| Kling 4.0 | 30 s (3–30) | 1080p tier | Always on |
| Wan 3.0 | 30 s (2–30) | 1080p tier | Toggle |
Every row in that table is a different edit decision.
Two consequences most briefs miss.
First, a cut is a continuity risk. Every extra cut is another chance for a face, a garment, or a light direction to drift, and drift is what clients notice even when they cannot name it.
Second, extension does not buy continuity for free. Veo’s seven-second extension only works at 720p, so “we’ll just extend it” quietly trades resolution for length. If the script calls for a twelve-second unbroken product rotation, exactly two product lines can deliver it in one call: Kling 3.0 at fifteen seconds, and Kling 4.0 or Wan 3.0 at thirty. Veo tops out at eight.

6. The iteration tax
Four charges never appear on a rate card.
Latency. Eleven seconds to six minutes per Veo call. A twelve-variant matrix is not twelve calls but twelve waits, and someone is billing for the waiting.
Resolution re-renders. Kling 3.0 at 4K costs 4.8 times its standard muted rate. Iterate at 720p and promote once.
Promotional cliffs. Kling 4.0 is discounted 20 percent until November 30, 2026, then list price applies. A budget signed in November is wrong in December.
Draft-then-enhance. Seedance 2.5 renders a 480p preview at $0.20 per second and enhances the keeper to 1080p at $0.68 within seven days. You pay twice, but only on the take you keep. That is the correct shape of a creative budget: cheap judgment, expensive delivery.
A cheap model that takes six minutes to answer is not cheap on a deadline.
Anyone who has sat through a render queue knows the shape of the other failure: the hand that passes through the bottle rim, the label that reads cleanly in frame one and turns to mush at the ninety-degree turn, the mouth that lands the line half a beat late. None of that appears on a rate card, and all of it is why a take costs what it costs.

7. Provenance is now a line item
Two systems do the work. Veo stamps every output with SynthID, a watermark designed to survive editing. Separately, the EU AI Act’s transparency rules took effect in August 2026: AI-generated content that could be mistaken for real, deepfakes in particular, must be clearly and visibly labeled, and the Commission has published a voluntary code of practice with a standard icon set for marking synthetic images, audio, and text.
Two practical consequences.
Keep a render ledger. Model, version, endpoint, date, and shot ID, one line per file. Endpoints get retired mid-campaign — the Veo 3.1 preview on October 22, 2026, the Sora 2 API on September 24, 2026 — and when a client asks in March which frames were synthetic, a ledger answers in ten seconds.
And do not confuse a vendor watermark with a platform label. They are different obligations, owned by different people, checked at different times.
8. Platform acceptance is a publishing step
YouTube requires disclosure for AI-generated or altered content that seems realistic, and names four triggers: a real person appearing to say or do something they did not; footage of a real event or place being altered; a realistic scene that did not occur; and music that is the main focus of the video. Non-realistic content and minor cosmetic edits are exempt.
TikTok requires creators to label AI-generated or significantly edited content that shows realistic-looking scenes or people, and warns that unlabeled content may be removed, restricted, or labeled by the platform.
Read those two rules against a shot list and the boundary lands somewhere useful. A synthetic spokesperson triggers both. A macro product shot on a seamless background usually triggers neither. A product dropped into a real street is the gray zone.
Which means the “AI use” toggle belongs in the upload checklist and in the client sign-off document, not in a producer’s memory.
9. The decision table
| Shot | First call | Cheap alternative | Avoid | Reason |
|---|---|---|---|---|
| Hook, 0–4 s | Gemini Omni Flash, 720p | Wan 3.0 at 480p | Veo 3.1 full tier | $0.40 per take versus $0.20 |
| Hook, silent | Kling 3.0 Standard, muted | Gemini Omni Flash, 360p | Any always-on-audio model | 31 percent saved by muting |
| Product, 4–8 s | Kling 3.0, 4K | Gemini Omni Flash, 4K | 4K on a re-roll | 4.8 times the 720p rate |
| Product, master file | Gen-4.5 with ProRes | Gen-4.5 with HDR | Any MP4-only path | Container and HDR, not resolution |
| Dialogue, 8–15 s | Veo 3.1, audio on | Kling 3.0 Pro, audio on | Gen-4.5 | No native audio |
| Long hold, 15–30 s | Kling 4.0 | Kling 3.0 at 15 s | Veo 3.1 | Hard ceiling at 8 s |
| Animatic or board | Wan 3.0 at 480p | Gemini Omni Flash, 360p | Any 4K tier | You are testing motion |
10. A workflow that survives a client review
- Board cheap. Wan 3.0 at 480p costs $0.05 per second; Gemini Omni Flash at 360p costs $0.034. You are testing whether the motion reads, not whether the fabric reads.
- Re-roll at 720p on the model whose ceiling matches the shot. Kling for anything past ten seconds, Veo for anything spoken.
- Promote one take. The approved one, once.
- Budget audio separately whenever the endpoint has no audio field. A Gen-4.5 shot needs a track from somewhere else, and that is a second vendor and a second approval.
- Write the ledger entry before the file leaves the edit.
- Automate the routing if you can. A model router picks per request and bills at the selected model’s standard rate, which makes A/B tests cheap and keeps procurement out of the loop.
11. Budget arithmetic for one quarter
Sixty approved shots, 240 renders, four seconds to fifteen, one brand:
| Shot group | Volume | Length | Takes | Model | Render cost |
|---|---|---|---|---|---|
| Hooks | 30 | 4 s | 4 | Gemini Omni Flash 720p | $48.00 |
| Product | 18 | 6 s | 4 | Gen-4.5 | $51.84 |
| Dialogue | 8 | 8 s | 5 | Kling 3.0 Pro | $54.40 |
| Long holds | 4 | 15 s | 6 | Kling 4.0 1080p | $84.60 |
| Hero 4K versions | 8 | 8 s | 3 | Gemini Omni Flash 4K | $57.60 |
| Total | $296.44 |
Run the same plan on a single vendor at Veo 3.1 rates and you spend about $570, and the four fifteen-second holds turn into eight-second holds — a different edit, not a more expensive one.
The gap, $570 minus $296, is the less interesting half of that sentence. The interesting half is that $296 buys a shot list the single-vendor plan cannot shoot at all.
12. The quarterly retest
Prices move quietly and ceilings move rarely, so check both, in this order.
- Price per second at your actual output resolution, not the headline tier.
- Longest single call, against your longest scripted hold.
- Whether audio can be declined, and what declining saves.
- The 4K multiplier, against your re-roll count.
- Promotional expiry dates currently in force.
- Deprecation notices for every endpoint in your stack.
- Draft or preview modes that let you judge cheaply.
- Watermarking and provenance support.
- Platform disclosure rules on the channels you publish to.
- EU labeling guidance and the current icon set.
- Your own takes-per-approved figure, from actual project data.
- Whether one model has quietly closed the ceiling gap.
Bottom line
Buy by shot, not by leaderboard. The model that wins a four-second hook is not the model that wins a fifteen-second hold, and the model that wins a spoken line is not the one that wins a master file. Sora’s exit did not settle the argument; it clarified it, by removing the one vendor whose entire pitch was length plus dialogue and leaving everyone else to specialize.
FAQ
Is Sora still an option for marketing video?
Not through the API. OpenAI removed the Videos API and the Sora 2 model aliases on September 24, 2026, having notified developers on March 24, 2026, and published no replacement. Its signature capability — sixteen- and twenty-second takes with native dialogue — now has to be assembled from two vendors or two calls.
What is the cheapest way to produce a four-second hook?
Gemini Omni Flash at 360p, at $0.034 per second, which puts a four-second take at roughly fourteen cents. Wan 3.0 at 480p is the next step up at $0.05 per second. Both are good enough to test whether a hook lands, and neither is what you publish.
Do I have to label AI video on YouTube and TikTok?
Conditionally, yes, and the conditions are narrow but strict. YouTube requires disclosure when realistic content shows a real person saying or doing something they did not, alters footage of a real event or place, depicts a realistic scene that did not occur, or makes generated music the focus. TikTok requires labels on AI-generated or significantly edited content showing realistic scenes or people, and unlabeled content may be removed or restricted.
Why does my cost per finished ad run three to five times the per-second rate?
Because the rate card prices a second and your editor prices a shot. Multiply the per-second rate by the shot length and again by the number of takes per approved clip; a five-take dialogue beat turns $0.40 per second into $16 for eight usable seconds.
Can one model cover an entire campaign?
Only if every shot is under eight seconds and nothing speaks. The moment a script needs a twelve-second hold or a line of dialogue delivered on camera, you are routing across at least two vendors, whatever the pitch deck says.