seedance2.0-mini generates video at $0.08 per second for 480p output. That is not an introductory credit, not a committed-use discount, not a spot instance lottery — it is the standing metered rate on Viddra, billed per second, with failed generations free. As of August 2026, we are not aware of any generally available AI video API that undercuts it.
This post does the math properly: what a clip actually costs, what $10 buys, where 480p mini output is good enough and where it is not, and the batch-integration pattern that makes a model this cheap genuinely useful.
calculateThe Math, Line by Line
| Spec | Rate | Clip cost | Clips per $10 |
|---|---|---|---|
| 5s @ 480p | $0.08/sec | $0.40 | 25 |
| 15s @ 480p | $0.08/sec | $1.20 | 8 |
| 5s @ 720p | $0.15/sec | $0.75 | 13 |
| 15s @ 720p | $0.15/sec | $2.25 | 4 |
The headline number: a 5-second 480p clip costs forty cents, and the minimum $10 top-up renders 25 of them. Scale that up and batch economics get interesting fast — a thousand 5-second clips is $400 at 480p. For comparison, the same thousand clips on seedance2.0 at 480p ($0.22/sec) would cost $1,100, and at 720p ($0.47/sec) $2,350.
The duration range is 4 to 15 seconds, which covers the dominant short-form formats: social hooks, ad variants, animated thumbnails, product loops.
visibilityWhat 480p Mini Quality Actually Looks Like
Let us be straight about the trade-off. seedance2.0-mini is a distilled, speed-and-cost-optimized tier. At 480p you get coherent motion, respectable prompt adherence and clean composition — and you give up fine texture detail, complex multi-subject interactions, and anything where small text or facial nuance carries the shot.
In practice, mini output is indistinguishable from full-tier output in the contexts where most generated video actually lives: a muted autoplay card in a feed, a 320px-wide thumbnail, a background layer under UI chrome, a storyboard animatic that will be re-rendered for final. The eyeball test that matters is not "is this 4K-master quality" but "does the viewer in this placement notice" — and at feed sizes, they do not.
The 720p tier deserves a mention of its own. At $0.15/sec it still sits below every other model's entry price, and at feed-display sizes the step up from 480p is visible mostly in text legibility and edge detail. If your placements include anything larger than a mobile feed card — a website hero loop, an in-product tour — the 75-cent 5-second 720p clip is the right default, and 480p becomes the pure prototyping tier.
format_quotePrototype every prompt at $0.08/sec. Promote the winners to a bigger model. Never pay flagship prices for a prompt you have not seen rendered yet.
appsThe Four Workloads Mini Was Built For
1. Batch thumbnails and preview clips
A video platform generating animated preview thumbnails for a catalog of 10,000 items is looking at $4,000 of spend at mini 480p rates (5s each) — versus five figures on any flagship tier. At thumbnail display sizes, the quality delta is invisible.
2. Social short-form variants
The unit economics of Shorts/Reels/TikTok demand volume: hook testing, caption variants, aspect-ratio cuts. Twenty 5-second variants of the same concept cost $8 at mini 480p. That is cheap enough to let the algorithm, not your gut, pick the winner.
3. A/B testing prompts before flagship renders
The highest-leverage use. Every prompt destined for kling3.0 ($0.27/sec) or seedance2.0 4K ($2.40/sec) should pass through mini first. A 10-variant prompt sweep at 5s each costs $4; rendering those same ten blind on seedance2.0 4K costs $120. Mini turns prompt engineering from a budget line into a rounding error.
4. Animatics and previsualization
Agencies and film teams burn enormous budgets on previz. Mini clips at 480p are exactly the fidelity a storyboard animatic needs — motion, timing, framing — at a price where a 50-shot sequence costs less than a team lunch.
balanceMini vs the Rest of the Budget Tier
Mini is the cheapest, but two other models deserve mention in the same breath because the gap is small and the capabilities differ:
| Model | Rate | 5s clip | Notes |
|---|---|---|---|
| seedance2.0-mini | $0.08/sec (480p) | $0.40 | Cheapest overall; 4–15s |
| hailuo-2.3 | $0.0933/sec (768P) | $0.47 | Higher base resolution |
| seedance | $0.13/sec | $0.65 | Previous-gen Seedance |
| seedance2.0-mini | $0.15/sec (720p) | $0.75 | 720p step-up |
| wan2.6 | $0.16/sec (720p) | $0.80 | Strong 720p coherence |
hailuo-2.3 at $0.0933/sec is the closest competitor on price and actually renders at 768P — worth testing side by side with mini for any workload where the extra pixels matter. The Playground lets you run that comparison with identical prompts in a couple of minutes.
One more consideration that rarely shows up in price tables: queue behavior under load. A model that is 15% cheaper but queues for minutes during peak hours costs you more in worker idle time than it saves on the meter. In our production observations mini's queue depth has stayed shallow even at high submission rates — which is exactly what you want from the tier you route batch traffic to.
codeBatch Generation Pattern
Mini's economics only pay off if your pipeline is built for volume. The pattern we recommend: bounded concurrency, durable task records, per-task polling. Submitting is cheap and idempotent on your side — the expensive mistake is losing a task id and resubmitting work you already paid for. Here is a reference implementation:
import os, time, requests from concurrent.futures import ThreadPoolExecutor BASE = "https://api.viddra.com/v1" HEADERS = {"Authorization": f"Bearer {os.environ['VIDDRA_API_KEY']}"} def submit(prompt): r = requests.post(f"{BASE}/video/generations", headers=HEADERS, json={ "model": "seedance2.0-mini", "prompt": prompt, "duration": 5, "aspect_ratio": "9:16", # vertical for shorts }, timeout=30) r.raise_for_status() return r.json()["task_id"] def wait(tid): for _ in range(90): time.sleep(6) s = requests.get(f"{BASE}/video/generations/{tid}", headers=HEADERS, timeout=30).json() if s["status"] == "succeeded": return s["video_url"] if s["status"] == "failed": return None # not billed prompts = [f"Product shot of a sneaker rotating, studio light, variant {i}" for i in range(25)] # $10 worth at 480p with ThreadPoolExecutor(max_workers=5) as ex: urls = list(ex.map(lambda pr: wait(submit(pr)), prompts)) print([u for u in urls if u])
Keep concurrency modest (5–10 workers), persist the task id immediately after submit, and treat failed generations as free retries of a reworded prompt. Full async semantics are in the API docs.
blockWhen Not to Use Mini
Cheap-per-second is not free-per-second, and mini is the wrong tool in three clear cases. Anything with dialogue or sound — mini outputs silent video; use kling3.0 with included native audio or veo3 instead. Anything over 15 seconds — that is seedance2.5 territory (up to 30s). Anything destined for a big screen — 480p upscaled to a trade-show display looks exactly like what it is; render finals on seedance2.0 at 1080p or 4K. The three-way model comparison maps these tiers against each other in detail.
flagVerdict: The Default Starting Point
seedance2.0-mini has earned a specific place in our own recommendation stack: it is the model every prompt should meet first. Forty cents a clip buys you rendered evidence instead of guesswork, and $10 buys enough of it to learn how a model actually behaves with your content. When a prompt proves out, graduating it to kling3.0, wan2.6 or seedance2.0 is a one-line model-id change on the same key. Start in the Playground, then wire up the API when the volume justifies it.
Viddra Engineering
More postsThe Viddra engineering team builds the unified API layer that makes frontier video, image and speech models boringly reliable to call.
