Video Model Arena
Blind votes on the same frame and prompt across 8 video models.
3 votes · 47 clips · 6 prompts · Updated 2026-10-20
Vote
Leaderboard
| Rank | Model | Score | Votes | 5s clip | Max length | Max res | Audio | Gen time |
|---|---|---|---|---|---|---|---|---|
| 1–6 | Veo 3.1 FastGoogle | 11311000–1203Preliminary | 1 | $0.50 | 8s | 4K | 76s | |
| 1–6 | Kling 3.0Kuaishou | 11311000–1203Preliminary | 1 | $0.45 | 15s | 1080p | 203s | |
| 1–6 | Seedance 1.5 ProByteDance | 11311000–1203Preliminary | 1 | $0.26 | 12s | 720p | 61s | |
| — | Kling 2.6Kuaishou | — | 0 | $0.35 | 10s | 1080p | 77s | |
| — | Seedance 2.5ByteDance | — | 0 | $1.50 | 30s | 720p | 231s | |
| 1–6 | Grok ImaginexAI | 869797–1000Preliminary | 1 | $0.25 | 10s | 720p | 119s | |
| 1–6 | Wan 3.0Alibaba | 869797–1000Preliminary | 1 | $0.50 | 30s | 1080p | 262s | |
| 1–6 | Hailuo 02MiniMax | 869797–1000Preliminary | 1 | $0.23 | 10s | 1080p | 129s |
Score: Bradley-Terry on blind votes, 95% interval below. Price: public list price for 5 seconds. Methodology
Head to head
All clips- Grok Imagine vs Veo 3.1 Fast
- Grok Imagine vs Kling 3.0
- Grok Imagine vs Kling 2.6
- Grok Imagine vs Wan 3.0
- Grok Imagine vs Seedance 2.5
- Grok Imagine vs Seedance 1.5 Pro
- Grok Imagine vs Hailuo 02
- Veo 3.1 Fast vs Kling 3.0
- Veo 3.1 Fast vs Kling 2.6
- Veo 3.1 Fast vs Wan 3.0
- Veo 3.1 Fast vs Seedance 2.5
- Veo 3.1 Fast vs Seedance 1.5 Pro
- Veo 3.1 Fast vs Hailuo 02
- Kling 3.0 vs Kling 2.6
- Kling 3.0 vs Wan 3.0
- Kling 3.0 vs Seedance 2.5
- Kling 3.0 vs Seedance 1.5 Pro
- Kling 3.0 vs Hailuo 02
- Kling 2.6 vs Wan 3.0
- Kling 2.6 vs Seedance 2.5
- Kling 2.6 vs Seedance 1.5 Pro
- Kling 2.6 vs Hailuo 02
- Wan 3.0 vs Seedance 2.5
- Wan 3.0 vs Seedance 1.5 Pro
- Wan 3.0 vs Hailuo 02
- Seedance 2.5 vs Seedance 1.5 Pro
- Seedance 2.5 vs Hailuo 02
- Seedance 1.5 Pro vs Hailuo 02
Models
Grok ImaginexAIFast, low-cost image and text to video with native audio.
Veo 3.1 FastGoogleGoogle's faster Veo tier with native audio and up to 4K output.
Kling 3.0KuaishouKling's third generation, tested here in Standard mode.
Kling 2.6KuaishouKling 2.6 Pro image to video, 5 or 10 second clips.
Wan 3.0Alibaba
Alibaba's Wan 3.0 with clips up to 30 seconds and optional audio.
Seedance 2.5ByteDanceByteDance's newest Seedance with long clips and native audio.
Seedance 1.5 ProByteDanceLow-cost Seedance with optional native audio, 4 to 12 second clips.
Hailuo 02MiniMax
MiniMax Hailuo 02, 6 or 10 second clips at 768p or 1080p.
Make this video in Korpi
Script, scenes, voice and captions in one place.
Run Grok Imagine via the API
$0.0099 per clip on api.korpi.ai
async function readResponse(response) {
const result = await response.json();
if (!response.ok || result.error || result.status === "failed") {
throw new Error(JSON.stringify(result));
}
return result;
}
const res = await fetch("https://backend.korpi.ai/v1/videos/generations", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.KORPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "grok-imagine",
"prompt": "A girl with a red scarf turns toward the camera on a neon rooftop at dusk",
"aspect_ratio": "9:16",
"duration": 6
}),
});
let result = await readResponse(res);
const deadline = Date.now() + 30 * 60_000;
while (true) {
let next = result.result_url;
if (!next && ["queued", "in_progress", "pending"].includes(result.status)) {
next = `https://backend.korpi.ai/v1/videos/generations/${result.id}`;
}
if (!next) break;
if (Date.now() >= deadline) throw new Error("Polling timed out");
await new Promise((resolve) => setTimeout(resolve, 3000));
const poll = await fetch(new URL(next, "https://backend.korpi.ai"), {
headers: { Authorization: `Bearer ${process.env.KORPI_API_KEY}` },
});
result = await readResponse(poll);
}
console.log(result);