Intro
Day 20!
I lined up 10 AIs that turn a single photo into a few seconds of video. Half ran locally on my DGX Spark, half in the cloud 🐱
What I used: DGX Spark (LTX-2.3 / Wan 2.2) / 8 cloud models via fal.ai / ComfyUI / ffmpeg
The setup
| Item | Value |
|---|---|
| Input | One identical photo (my cat on a desk) |
| Length | 6 seconds |
| Settings | Identical |
| The only variable | The prompt |
Easy prompt
The cat looks at the camera and meows once. It opens its mouth, meows, then closes it. Its tail flicks and its ears twitch.
Hard prompt
The cat stands upright on its hind legs in a kitchen, wearing a small apron, holding a knife in its front paws and chopping vegetables on a cutting board. Steam rises from a pot behind it.
Please, just watch it
Some of the cats came out with very long legs. Anyway.
First half is the easy prompt, second half the hard one.
On the easy prompt, local and cloud were a fair match. On the hard one... cloud, I think...!
Three rankings below.
Ranking 1: Time
Time per 6-second clip on the hard prompt.
| Rank | Model | Where | Time |
|---|---|---|---|
| 🥇 | LTX-2.3 | Cloud | 41s |
| 🥈 | Wan 2.7 | Cloud | 92s |
| 🥉 | Happy Horse 1.1 | Cloud | 97s |
| 4 | Veo 3.1 | Cloud | 128s |
| 5 | Kling 3 Pro | Cloud | 205s |
| 6 | Seedance 2.0 | Cloud | 210s |
| 7 | LTX-2.3 | Local | 315s |
| 8 | Wan 2.2 | Local | 651s |
| 9 | daVinci-MagiHuman | Cloud | 710s |
| 10 | HunyuanVideo 1.5 | Cloud | 796s |
A 19x spread.
Look at 1st and 7th. Same model, LTX-2.3, nearly the same resolution. The only difference is where it ran — 7.6x.
Local setup
DGX Spark (GB10, 128GB unified memory, ~273GB/s). ComfyUI headless, workflows over its API.
LTX-2.3 is distilled fp8 at 8 steps. At 1088×1920 peak memory hit 77.8GB, about 60% of 128GB. That was the ceiling. Dropping to 512×768 finishes in 70s, but with one-fifth the pixels.
Wan 2.2 is I2V-A14B fp8, 20 steps, 480×640. Higher resolution does not finish in reasonable time.
Ranking 2: Cost
| Rank | Model | Per 6 seconds |
|---|---|---|
| 🥇 | Local | Electricity only |
| 🥈 | LTX-2.3 (cloud) | $0.36 |
| 🥉 | Wan 2.7 | $0.90 |
| 4 | Kling 3 Pro | $1.01 |
| 5 | Happy Horse 1.1 | $1.08 |
| 6 | Veo 3.1 | $2.40 |
| 7 | Seedance 2.0 | $4.09 |
| — | HunyuanVideo / MagiHuman | Unknown until you run it |
An 11x spread.
I did not measure the local electricity, so I am not quoting a number.
Ranking 3: Does it follow instructions
How much of "apron, hind legs, knife, chopping" each one delivered.
◎ All of it (5 models, all cloud)
Wan 2.7 / Happy Horse 1.1 / Veo 3.1 / Kling 3 Pro / Seedance 2.0
Apron on, standing, knife in the paws, vegetables chopped. Veo and Happy Horse added steam off the pot.
△ Partway (3 models)
| Model | Where | What happened |
|---|---|---|
| LTX-2.3 | Local | Kitchen appeared, cat stood. But a second cat appeared |
| LTX-2.3 | Cloud | Kitchen appeared, cat never stood |
| daVinci-MagiHuman | Cloud | Portrait photo in, landscape video out |
✕ Nothing happened (2 models)
| Model | Where | What happened |
|---|---|---|
| Wan 2.2 | Local | 11 minutes, cat sat on the desk |
| HunyuanVideo 1.5 | Cloud | 13 minutes, same desk |
What I learned
On the easy prompt there is no difference. For nudging a photo into motion, quality has saturated.
On the hard prompt there is — but "local = worse" is not the lesson.
- 1 of my 3 local runs made it to the kitchen
- 1 of the 8 cloud runs burned 13 minutes doing nothing
Right tool for the right job.
| When you want to | Pick |
|---|---|
| Make lots of simple clips | Local (volume costs only power) |
| Get a hard instruction through | Cloud (better roster) |
| Handle material you cannot upload | Local (nothing leaves) |
| Get high resolution | Cloud (local capped at 1088×1920) |
Things that broke
One model would not let me pick a resolution
HunyuanVideo 1.5 rejected 720p with a 422. Its schema pins resolution to 480p as a constant.
Line up ten models and some conditions simply cannot be equalized. I measured as-is and footnoted it.
Japanese text turned to tofu in the video
ffmpeg's drawtext rendered some CJK glyphs as □ — "ローカル" fine, "標準" dropped.
Fix: draw the text with Pillow and overlay it as an image. For CJK, start there.
Next
Day 21 wraps up Act 1 (Days 1–21).
Thanks for reading 🐾
Top comments (0)