Most video models force a choice: short clips you stitch together, or high resolution you pay for. Seedance 2.5, live on OpenRouter’s video API since August 7, 2026, picks a third option — longer single takes and cheaper work that starts from footage you already have. The tradeoff is that it stops at 720p.
The spec sheet, and where it narrows
According to OpenRouter’s review of Seedance 2.5, the model runs clips of 4 to 30 seconds at 480p or 720p, across six aspect ratios, with first and last frame control and audio generated in the same pass. The slug is bytedance/seedance-2.5.
The catch is resolution. Seedance 2.0 in the same family goes to 4K but caps at 15 seconds. So the newer model is narrower on one axis than the older one. If your delivery format needs 1080p or 4K, this isn’t the slug — check that before you build around it.
What the per-second number actually means
OpenRouter lists Seedance 2.5 from $0.1028 per second of generated video as of September 3, 2026, which is what 480p works out to. That figure is derived, not fixed: billing is per video token, and token count scales with output pixels as well as duration. A second of 720p costs a little over twice a second of 480p from the same model — roughly $0.231.
The formula OpenRouter publishes is (width x height x fps x duration) / 1024 video tokens at 24 fps, billed at $0.0000107 per token. That matters for budgeting because a 30-second 720p clip is not a linear multiple of a 5-second one in the way a flat per-second rate would suggest.
There’s a second rate worth knowing. A request carrying a video reference bills at $0.0000064 per token, about 40% below base. At 720p that’s $0.138 per second instead of $0.231. Extending existing footage is cheaper per second than generating cold.
Audio is included either way. OpenRouter prices video tokens identically whether generate_audio is on or off, so muting a generation saves nothing — unlike Veo 3.1, which charges $0.40 per second with audio against $0.20 without, and Seedance 1.5 Pro, which halves its rate for silent output.
Where the request shape gets interesting
input_references accepts image, video, and audio assets on Seedance generation 2 and newer. Image references carry a face, product, or style; a video reference gives the model footage to edit or extend; an audio reference gives it a track to work against. OpenRouter’s model page lists up to 50 reference assets per request, though the review notes that’s a model page figure rather than a limit the endpoint publishes.
Frame images and reference assets select different modes rather than combining. If both are sent, frame images take priority and the job is treated as image-to-video — the references have no visible effect and the request bills at the base rate. That’s an easy way to pay more than you intended.
frame_images accepts first_frame and last_frame, so you can pin both ends of a shot and let the model fill the motion between. Wan 3.0, the other 30-second model, lists first frame only.
Calling it is not a chat completion
Video generation runs on a dedicated asynchronous endpoint, not /chat/completions. You submit a job to POST /api/v1/videos, poll the returned polling_url until status reads completed, then download the result with your API key. Generation usually takes 30 seconds to a few minutes, and a 30-second polling interval is a reasonable default. Video models also don’t appear in the plain models list — use /api/v1/videos/models or the video model collection.
curl -X POST "https://openrouter.ai/api/v1/videos" \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "bytedance/seedance-2.5",
"prompt": "A chef plates a bowl of ramen in a narrow shop at night.",
"duration": 12,
"resolution": "720p",
"aspect_ratio": "16:9"
}'
A 202 response carries { id, polling_url, status }. A status of failed, cancelled, or expired is terminal, with the reason in .error.
The practical routing decision
OpenRouter’s own guidance is to use a different model when you need 1080p or 4K, when you want the lowest price per second at the same clip length, or when you need frame-exact reproducibility. Seedance 2.0 Fast and Mini are the cheaper draft slugs at $0.0000042 and $0.0000035 per token.
The pattern that falls out: draft at 480p, finish at 720p, and prefer extension over cold generation when you already have footage. The two resolutions differ by more than a factor of two in price but not in how the prompt is written.
If you’re weighing whether a per-token video bill belongs in your pipeline at all, the same arithmetic question shows up in OpenRouter Presets and config-as-code for LLM calls — the cost model is only useful once the request shape is something you can version and review.
The limitation to hold onto: OpenRouter reports the 50-reference ceiling as a model page figure rather than a measured endpoint limit, and determinism isn’t guaranteed even when a seed is accepted. Treat both as reported, not verified.
Sources
AI-assisted summary compiled from the sources above, reviewed by a human before publishing.
