Edition 0 · Pilot ·
AI Video Ad Benchmark
One ad brief. Nine AI video models. Two takes each. Three AI judges. What does a 15-second ad really cost — and do the judges even agree?
Pilot: one brief, AI judges only. Not a ranking you should bet a budget on — yet.
- AI video models
- 9
- ads generated, failures included
- 18
- AI judges, anonymized
- 3
- spent in total$48.06 generation + $22.90 judging
- $70.96
Key findings
What the pilot shows
-
The cheapest model came first
Wan 3.0 (Alibaba) made the best-rated ad for $1.27, the lowest cost in the test, and got the brand and the offer right in both takes. Veo 3.1 (Google) cost 5× more, $6.40 per ad, and finished 8th of 9.
-
The AI judges disagreed more than the models differed
On the same model, the three judges were 22 points apart on average, while the whole leaderboard spans 9.4 points. One judge ranked Veo 3.1 2nd and Kling 3.0 Pro 3rd; the other two put both of them in their bottom three.
-
Speech is solved. Spelling isn't.
Every model said the 36-word script almost word for word (94–100%). But Veo 3.1, Kling 3.0 Pro and HappyHorse 1.1 never printed "DROVO" right on the can, and both Seedance models missed it in one take of two. Only Wan 3.0, Hailuo 3, Grok Imagine 1.5 and FLUX 3 Video were clean.
The ads
Same brief, nine models
Every ad below comes from the same prompt. We show both takes of every model, failures included: no cherry-picking. Tap to play with sound.
-
#1
Wan 3.0
Alibaba
- Score
- 65.4
- Cost
- $1.27
- Score
- 68.2
- Cost
- $1.27
-
#2
Hailuo 3
MiniMax
- Score
- 65.8
- Cost
- $1.95
- Score
- 66.1
- Cost
- $1.95
-
#3
Seedance 2.0
ByteDance
- Score
- 64.9
- Cost
- $2.27
- Score
- 63.0
- Cost
- $2.27
-
#4
Seedance 2.5
ByteDance
- Score
- 64.5
- Cost
- $3.48
- Score
- 62.7
- Cost
- $3.48
-
#5
Grok Imagine 1.5
xAI
- Score
- 63.4
- Cost
- $2.10
- Score
- 62.5
- Cost
- $2.10
-
#6
FLUX 3 Video
Black Forest Labs
- Score
- 56.6
- Cost
- $2.55
- Score
- 66.4
- Cost
- $2.55
-
#7
HappyHorse 1.1
Alibaba
- Score
- 50.6
- Cost
- $1.48
- Score
- 62.9
- Cost
- $1.48
-
#8
Veo 3.1
Google
- Score
- 59.9
- Cost
- $6.40
- Score
- 61.4
- Cost
- $6.40
-
#9
Kling 3.0 Pro
Kuaishou
- Score
- 57.9
- Cost
- $2.52
- Score
- 56.8
- Cost
- $2.52
Leaderboard
Who made the best ad, according to AI
One row per model, sorted by the mean of the three judges’ scores (0–100). The bar runs from the lowest to the highest judge: the longer it is, the more the judges disagreed.
- 1
Wan 3.0
- Cost per ad
- $1.27
- Price per second
- $0.085
- Generation time
- 5m 15s
- 2
Hailuo 3
- Cost per ad
- $1.95
- Price per second
- $0.129
- Generation time
- 9m 24s
Only 2K is offered on OpenRouter
- 3
Seedance 2.0
- Cost per ad
- $2.27
- Price per second
- $0.15
- Generation time
- 4m 40s
- 4
Seedance 2.5
- Cost per ad
- $3.48
- Price per second
- $0.23
- Generation time
- 7m 44s
- 5
Grok Imagine 1.5
- Cost per ad
- $2.10
- Price per second
- $0.14
- Generation time
- 1m 56s
No audio switch on OpenRouter; audio is always on
- 6
FLUX 3 Video
- Cost per ad
- $2.55
- Price per second
- $0.17
- Generation time
- 3m 08s
- 7
HappyHorse 1.1
- Cost per ad
- $1.48
- Price per second
- $0.097
- Generation time
- 2m 26s
No audio switch on OpenRouter; audio is always on. One judge could not score take 1: its model's answer broke 4 times in a row, so that judge's score uses take 2 only
- 8
Veo 3.1
- Cost per ad
- $6.40
- Price per second
- $0.40
- Generation time
- 3m 27s
Max 8 s per run: two 8 s runs stitched, part B starts from the last frame of part A. Take 2 part B was refused once by the content filter and passed on retry (refusals are not billed)
- 9
Kling 3.0 Pro
- Cost per ad
- $2.52
- Price per second
- $0.168
- Generation time
- 3m 42s
Asked for 720p, returned 1080p at the 720p price
Show the leaderboard as a table
| # | Model | Vendor | Mean | Judge A | Judge B | Judge C | Spread | Cost / ad | $ / s | Gen time | Res. | Audio | OpenRouter ID |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Wan 3.0 | Alibaba | 66.8 | 80.7 | 62.0 | 57.7 | 23.0 | $1.27 | $0.085 | 5m 15s | 720p | Native | alibaba/wan-3.0 |
| 2 | Hailuo 3 | MiniMax | 66.0 | 74.2 | 64.5 | 59.2 | 15.0 | $1.95 | $0.129 | 9m 24s | 2K | Native | minimax/hailuo-3 |
| 3 | Seedance 2.0 | ByteDance | 64.0 | 72.6 | 64.0 | 55.3 | 17.3 | $2.27 | $0.15 | 4m 40s | 720p | Native | bytedance/seedance-2.0 |
| 4 | Seedance 2.5 | ByteDance | 63.6 | 74.2 | 57.5 | 59.2 | 16.7 | $3.48 | $0.23 | 7m 44s | 720p | Native | bytedance/seedance-2.5 |
| 5 | Grok Imagine 1.5 | xAI | 63.0 | 72.6 | 60.0 | 56.3 | 16.3 | $2.10 | $0.14 | 1m 56s | 720p | Native | x-ai/grok-imagine-video-1.5 |
| 6 | FLUX 3 Video | Black Forest Labs | 61.5 | 75.8 | 51.5 | 57.2 | 24.3 | $2.55 | $0.17 | 3m 08s | 720p | Native | black-forest-labs/flux-3-video |
| 7 | HappyHorse 1.1 | Alibaba | 60.7 | 74.2 | 55.5 | 52.4 | 21.8 | $1.48 | $0.097 | 2m 26s | 720p | Native | alibaba/happyhorse-1.1 |
| 8 | Veo 3.1 | 60.6 | 79.0 | 53.5 | 49.4 | 29.6 | $6.40 | $0.40 | 3m 27s | 720p | Native | google/veo-3.1 | |
| 9 | Kling 3.0 Pro | Kuaishou | 57.4 | 77.4 | 47.5 | 47.2 | 30.2 | $2.52 | $0.168 | 3m 42s | 1080p | Native | kwaivgi/kling-v3.0-pro |
Value
Quality vs cost
Each dot is a model. Further left is cheaper, higher is better.
Judges
Do AI judges agree?
Each judge ranked the nine models. If they agreed, the lines would run flat. Every crossing is a model one judge likes more than another.
Number in the circle = the model’s place on the leaderboard. Height = the place that judge gave it.
Biggest disagreement: Seedance 2.0. Judge B ranked it 2nd, judge A 8th.
Rank agreement between judges (Spearman ρ: 1 = same order, 0 = unrelated, −1 = reversed)
- A vs B −0.44
- A vs C −0.16
- B vs C 0.60
Show the ranks as a table
| Leaderboard | Model | Judge A: place (score) | Judge B: place (score) | Judge C: place (score) |
|---|---|---|---|---|
| 1 | Wan 3.0 | 1 (80.7) | 3 (62.0) | 3 (57.7) |
| 2 | Hailuo 3 | 5 (74.2) | 1 (64.5) | 1 (59.2) |
| 3 | Seedance 2.0 | 8 (72.6) | 2 (64.0) | 6 (55.3) |
| 4 | Seedance 2.5 | 6 (74.2) | 5 (57.5) | 2 (59.2) |
| 5 | Grok Imagine 1.5 | 9 (72.6) | 4 (60.0) | 5 (56.3) |
| 6 | FLUX 3 Video | 4 (75.8) | 8 (51.5) | 4 (57.2) |
| 7 | HappyHorse 1.1 | 7 (74.2) | 6 (55.5) | 7 (52.4) |
| 8 | Veo 3.1 | 2 (79.0) | 7 (53.5) | 8 (49.4) |
| 9 | Kling 3.0 Pro | 3 (77.4) | 9 (47.5) | 9 (47.2) |
Disclosure
One of the three judges is ours (Quelta Score). We are biased, so we don't say which letter is which. We'll reveal it in Edition 1, after a jury of human ad pros scores the same ads.
The judge pool
Listed alphabetically, not in A, B and C order.
- Creatify ad-creative-evaluator (opens in a new tab) Creatify's open-source rubric (MIT): 8 weighted dimensions (hook, message, CTA, audience and more) scored 1-10 by three viewer personas. Run on Claude Opus 5.5. Score = weighted overall × 10.
- Google ABCD Detector (opens in a new tab) Google Marketing Solutions' open-source checker (Apache-2.0): 31 yes/no checks of Google's ABCD framework (Attract, Brand, Connect, Direct + YouTube Shorts). Score = % of checks passed. Run on Gemini 3.1 Pro.
- Quelta Score Our own pre-launch ad check: hook, story, offer, audience, visual and sound, with timecoded issues. Gemini 3.1 Pro watches, Claude Opus 5.5 judges. Score 0-100. Full check, set to TikTok, US, millennials.
Hard facts
Did the ad do what the brief asked?
Measured, not judged: OCR every 0.5 s (Apple Vision), speech-to-text with open-source Whisper, ffprobe. No AI judgement.
| Model | Brand on screen | Offer on screen | Said the script | Brand spoken | Audio present |
|---|---|---|---|---|---|
| 1Wan 3.0 | Take 1: yes Take 2: yes | Take 1: yes Take 2: yes | Take 1: 100% Take 2: 100% | Take 1: yes Take 2: yes | Take 1: yes Take 2: yes |
| 2Hailuo 3 | Take 1: yes Take 2: yes | Take 1: yes Take 2: yes | Take 1: 100% Take 2: 100% | Take 1: yes Take 2: yes | Take 1: yes Take 2: yes |
| 3Seedance 2.0 | Take 1: yes Take 2: no, read as: DRVO | Take 1: yes Take 2: yes | Take 1: 100% Take 2: 100% | Take 1: yes Take 2: yes | Take 1: yes Take 2: yes |
| 4Seedance 2.5 | Take 1: no, read as: DRO; mirrored Take 2: yes | Take 1: yes Take 2: yes | Take 1: 100% Take 2: 100% | Take 1: yes Take 2: yes | Take 1: yes Take 2: yes |
| 5Grok Imagine 1.5 | Take 1: yes Take 2: yes | Take 1: yes Take 2: yes | Take 1: 100% Take 2: 97% | Take 1: yes Take 2: yes | Take 1: yes Take 2: yes |
| 6FLUX 3 Video | Take 1: yes Take 2: yes | Take 1: yes Take 2: yes | Take 1: 97% Take 2: 100% | Take 1: yes Take 2: yes | Take 1: yes Take 2: yes |
| 7HappyHorse 1.1 | Take 1: no, read as: DROVA Take 2: no, read as: DROVA, DROEE, ROVA | Take 1: yes Take 2: no | Take 1: 94% Take 2: 94% | Take 1: yes Take 2: yes | Take 1: yes Take 2: yes |
| 8Veo 3.1 | Take 1: no, read as: DROYO Take 2: no, read as: DROOYO | Take 1: no Take 2: yes | Take 1: 94% Take 2: 100% | Take 1: yes Take 2: yes | Take 1: yes Take 2: yes |
| 9Kling 3.0 Pro | Take 1: no, read as: DRONA, DPONO, DPOHO Take 2: no, read as: DROTO, DROO, DROIO | Take 1: no Take 2: no | Take 1: 97% Take 2: 94% | Take 1: yes Take 2: yes | Take 1: yes Take 2: yes |
| All 18 delivered ads | 10/18 | 14/18 | 98% avg | 18/18 | 18/18 |
- Brand on screen
- DROVO spelled right on screen: across all frames where the brand is read, the exact spelling outnumbers misspelled or mirrored versions (OCR every 0.5 s). One lucky frame among many “DROVA” frames still counts as a misspelling.
- Offer on screen
- The text “20% OFF YOUR FIRST ORDER” appears on screen; OCR-dropped spaces are tolerated.
- Said the script
- Share of the script’s words the voice actually says, in order (1 − word error rate).
- Brand spoken
- “DROVO” heard in the voice track. It’s a made-up word, so a 1-letter speech-to-text slip like “Drovio” still counts.
- Audio present
- Non-silent audio track (ffprobe).
The brief
What every model was asked to make
UGC-style creator selfie video, talking to camera, product in hand. 15 seconds, 9:16, for TikTok / Instagram Reels / YouTube Shorts.
- Brand
- DROVO Cold Brew (fictional)
- Product
- Slim 250 ml matte-black aluminum can of ready-to-drink cold brew coffee, large white DROVO wordmark, thin orange band reading COLD BREW
- Offer
- 20% off your first order
- Call to action
- Link below
- Platform
- TikTok / Instagram Reels / YouTube Shorts
- Format
- UGC-style creator selfie video, talking to camera, product in hand
- Audience
- US, 25-34, busy professionals who drink coffee daily
- Spec
- 9:16 · 15 s · en-US
Script
- 0–3 s
Okay, I'm officially obsessed with this.
- 3–8 s
DROVO cold brew. Smooth, zero sugar, and it actually tastes like real coffee.
- 8–12 s
One can and I'm good till lunch.
- 12–15 s
Twenty percent off your first order. Link below.
On-screen text
- DROVO
- COLD BREW
- 20% OFF YOUR FIRST ORDER
DROVO is a fictional brand.
The prompt, word for word
A 15-second vertical 9:16 UGC-style social media ad for DROVO Cold Brew, filmed like a real creator's selfie video on a phone: handheld, natural morning light, bright apartment kitchen. Product: a slim 250 ml matte-black aluminum can with a large white "DROVO" wordmark and a thin orange band that reads "COLD BREW". Cold condensation droplets on the can. Talent: a friendly woman in her late 20s, casual oversized sweater, natural look, speaking directly to camera in American English with an upbeat, genuine tone. Her lip movements match her speech. Shot by shot: 0-3 s: Close-up selfie. She holds the can next to her face and cracks it open with an audible fizz. She says: "Okay, I'm officially obsessed with this." 3-8 s: She turns the can so the DROVO logo faces the camera. She says: "DROVO cold brew. Smooth, zero sugar, and it actually tastes like real coffee." 8-12 s: She takes a quick sip, smiles and says: "One can and I'm good till lunch." 12-15 s: Cut to a close-up of the can on the kitchen counter. Bold on-screen text appears: "20% OFF YOUR FIRST ORDER". Her voice-over says: "Twenty percent off your first order. Link below." Audio: her voice, clear and close to the mic, light kitchen ambience, soft upbeat background music at low volume. Photorealistic. No subtitles except the offer text. No watermark.
Sent as is to every model through OpenRouter on Oct 15, 2026, except Veo 3.1: it needed two runs (below).
Veo 3.1: the same prompt, split into two 8-second runs
Veo 3.1 tops out at 8 s per generation on OpenRouter and has no extend there, so the same prompt is split into two 8 s runs. Part B starts from the last frame of part A. Total 16 s.
Run A (first 8 s)
The first 8 seconds of a vertical 9:16 UGC-style social media ad for DROVO Cold Brew, filmed like a real creator's selfie video on a phone: handheld, natural morning light, bright apartment kitchen. Product: a slim 250 ml matte-black aluminum can with a large white "DROVO" wordmark and a thin orange band that reads "COLD BREW". Cold condensation droplets on the can. Talent: a friendly woman in her late 20s, casual oversized sweater, natural look, speaking directly to camera in American English with an upbeat, genuine tone. Her lip movements match her speech. Shot by shot: 0-3 s: Close-up selfie. She holds the can next to her face and cracks it open with an audible fizz. She says: "Okay, I'm officially obsessed with this." 3-8 s: She turns the can so the DROVO logo faces the camera and brings it close to the lens until the can fills the frame. She says: "DROVO cold brew. Smooth, zero sugar, and it actually tastes like real coffee." Audio: her voice, clear and close to the mic, light kitchen ambience, soft upbeat background music at low volume. Photorealistic. No subtitles. No watermark.
Run B (last 8 s)
The last 8 seconds of a vertical 9:16 UGC-style social media ad for DROVO Cold Brew, continuing from the first frame: a close-up of a slim matte-black can with a large white "DROVO" wordmark and a thin orange band that reads "COLD BREW", handheld phone footage, natural morning light, bright apartment kitchen. Talent: the same friendly woman in her late 20s, casual oversized sweater, natural look, speaking directly to camera in American English with an upbeat, genuine tone. Her lip movements match her speech. Shot by shot: 0-4 s: She pulls the can back from the lens, takes a quick sip, smiles and says: "One can and I'm good till lunch." 4-8 s: Cut to a close-up of the can on the kitchen counter. Bold on-screen text appears: "20% OFF YOUR FIRST ORDER". Her voice-over says: "Twenty percent off your first order. Link below." Audio: her voice, clear and close to the mic, light kitchen ambience, soft upbeat background music at low volume. Photorealistic. No subtitles except the offer text. No watermark.
Method
Method v0.1 and limits
- Same prompt, no cherry-picking. Every model got the same prompt, and both takes are shown, refusals and failures included.
- 720p where possible. The common denominator on OpenRouter. Exceptions: Hailuo 3 ran at 2K and Kling 3.0 Pro ran at 1080p (see the leaderboard notes).
- One provider, one day. All ads generated through OpenRouter on Oct 15, 2026.
- Real cost. Cost is what we actually paid per ad, not the list price.
- Veo 3.1 stops at 8 s. So its ad is two 8-second runs stitched together (16 s), and its cost covers both.
- Text-to-video only. No reference images, avatars or editing. The one exception: Veo 3.1’s second run starts from the last frame of its first.
- AI judges only. No human ratings and no real ad spend yet: that is what the next editions add.
- Small sample. One brief, 18 ads. A different brief could reorder the table.
- Anonymous judges. A, B and C are anonymized, because one of them is ours.
What’s next
From AI judges to real results
-
Edition 1
A human jury
A jury of human ad pros blind-rates these same 18 ads. Then we reveal which judge is ours and which AI judge agreed with humans most.
Work in advertising? Join the jury — comment on the LinkedIn post (opens in a new tab) -
Edition 2
Real ad spend
We run the top ads with real budgets and measure what actually pays: CTR and hook rate.
-
Then
A regular leaderboard
Every new model added within 72 hours of its release.
Score your own ad — free
Quelta checks short vertical video ads for TikTok, Reels and Shorts before you spend on them: a free preliminary score in about a minute, then every issue with a timecode and how to fix it.
Download the data (JSON) edition-0.json · 28 KB CC BY 4.0 · cite as “Quelta AI Video Ad Benchmark, Edition 0 (2026)”