Seedance 2.5 Text to Video
bytedance/seedance/2.5/text-to-videoByteDance's next-generation text-to-video model, generating native single-shot clips up to 30 seconds at 720p with coherent motion, native audio, and director-level camera control for professional-grade video creation.
- Base price
- $1.53
$1.80USD / run - Execution
- async
- Model type
- video
- Input fields
- 8
Try the model
Playground
Examples
Select an example to load its inputs and result into the playground.
Model card
Specifications
Pricing
- Base price
- $1.53 / run
Context & modalities
- Input
- Schema-defined
- Output
- video
Capabilities
- Chat
- Not supported
- Vision
- Not supported
- Reasoning
- Not supported
- Structured output
- Not supported
- Function calling
- Not supported
- Audio input
- Not supported
Access
- Provider
- ByteDance
- Model ID
- bytedance/seedance/2.5/text-to-video
- Execution
- async
- Base URL
- https://api.sandbase.ai
- API
- Unified Run API
- Endpoint
- /v1/run
Human preference
Arena
Elo ratings from blind side-by-side votes, compared with other image and video models.
Rankings sourced from Artificial Analysis Arena
- Leaderboard
- Text to Video
- Rank
- #4 of 32
- Elo
- 1105 ±19
- Gap to #1
- −29
Text-to-video arena (silent): people pick the better of two clips from the same prompt, without seeing the model names; audio is not judged.
- #1Wan 3.01134±19
- #2MiniMax H3 (768p)1121±19
- #3MiniMax H3 Max1117±18
- #4Dreamina Seedance 2.51105±19
- #5FLUX 31095±19
- #6Dreamina Seedance 2.01084±19
- #7SkyReels V41083±19
- #8Gemini Omni Flash 1.11072±18
- #9Agnes-Video-2.51053±19
- #10HappyHorse-1.11041±18
API README
Seedance 2.5 Text to Video
Seedance 2.5 text-to-video, ByteDance's newest video model: coherent single-shot clips up to 30 seconds with native audio and director-level camera control. Write the scene, including dialogue and sound, and get back a 4–30 second clip.
Fields
| Field | Type | Default | Notes |
|---|---|---|---|
prompt | string, required | — | Up to 50,000 characters. |
duration | auto / 4 / 5 / 6 / 7 / 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17 / 18 / 19 / 20 / 21 / 22 / 23 / 24 / 25 / 26 / 27 / 28 / 29 / 30 | 5 | Output length in seconds (4–30), or auto to let the model choose. |
aspect_ratio | 16:9 / 9:16 / 1:1 / 4:3 / 3:4 / 21:9 | 16:9 | Output frame shape. |
resolution | 480p / 720p / 1080p | 720p | Sets the per-second rate. |
generate_audio | boolean | true | Native dialogue, music, and effects. Same price on or off. |
seed | integer -1–4294967295 | random | Fix it to compare prompt changes; -1 is random. |
Billing
You pay for output seconds: $0.18 at 480p, $0.36 at 720p, $0.90 at 1080p. Audio is included. With duration: "auto" the quote assumes 30 seconds and the final charge uses the generated length.
| Output | 480p | 720p | 1080p |
|---|---|---|---|
| 4s | $0.72 | $1.44 | $3.60 |
| 5s (default) | $0.90 | $1.80 | $4.50 |
| 10s | $1.80 | $3.60 | $9.00 |
| 15s | $2.70 | $5.40 | $13.50 |
| 30s | $5.40 | $10.80 | $27.00 |
Failed runs are not charged.
Prompting
- Describe subject, action, camera move, and light in order; add the sound last.
- Quote dialogue and name the speaker.
- For several shots, number them and give each a camera direction.
Limits
- Clips are 4–30 seconds.
Draft mode
Draft mode is two calls to this same model:
- Draft: add
"draft": true. The output is a 480p preview billed at the 480p rate, andoutputs[0].draft_ididentifies it. - Final: send
{"draft_id": "<outputs[0].draft_id>"}(optionallywatermark). The same shot is rendered at 1080p and billed at the 1080p output rate for the actual output length.
The final reuses the draft's prompt, media, duration, aspect ratio, seed and audio setting; those fields are ignored when draft_id is set. A draft can be finalized within 7 days, only with the model that created it.
{"prompt": "A red toy sailboat drifts slowly from left to right across calm blue water. Fixed camera.", "duration": 4, "aspect_ratio": "16:9", "generate_audio": false, "draft": true}
{"draft_id": "<outputs[0].draft_id from the draft>"}
Also on SandBase
Other Seedance 2.5 endpoints and tiers: bytedance/seedance/2.5/image-to-video, bytedance/seedance/2.5/reference-to-video, bytedance/seedance/2.0/text-to-video, bytedance/seedance/2.0/fast/text-to-video, bytedance/seedance/2.0/mini/text-to-video.
Start building
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
-X POST "https://api.sandbase.ai/v1/run" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'SANDBASE_JSON'
{
"model": "bytedance/seedance/2.5/text-to-video",
"draft": false,
"prompt": "Photorealistic style: Under a clear blue sky, a vast expanse of white daisy fields stretches out. The camera gradually zooms in and finally fixates on a close-up of a single daisy, with several glistening dewdrops resting on its petals.",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": true
}
SANDBASE_JSON
)
run_id=$(printf '%s' "$result" | jq -r .id)
for attempt in $(seq 1 120); do
status=$(printf '%s' "$result" | jq -r .status)
case "$status" in completed|failed|timeout) break ;; esac
sleep 2
result=$(curl --fail-with-body --silent \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
"https://api.sandbase.ai/v1/run/$run_id")
done
status=$(printf '%s' "$result" | jq -r .status)
[ "$status" = completed ] || { echo "Generation ended: $status" >&2; exit 1; }
printf '%s\n' "$result"Choose your model
Compare models
| Model | Type | Default price | Released |
|---|---|---|---|
Seedance 2.5 Text to VideoThis model ByteDance | Video | $1.80 / run | Jul 1, 2026 |
ByteDance | Video | $1.80 / run | Jul 1, 2026 |
ByteDance | Video | $1.80 / run | Jul 1, 2026 |
ByteDance | Video | $0.60 / run | Jun 24, 2026 |
ByteDance | Video | $0.60 / run | Jun 24, 2026 |
ByteDance | Video | $0.60 / run | Jun 24, 2026 |
Questions
FAQ
How do I call ByteDance Seedance 2.5 Text to Video through SandBase?
Create a SandBase API key, then send requests with the model ID "bytedance/seedance/2.5/text-to-video" to Unified Run API (/v1/run) at https://api.sandbase.ai. The request examples on this page show the exact payload.
Do I need a separate ByteDance account?
No. One SandBase API key and balance gives you access to ByteDance Seedance 2.5 Text to Video and the other models in the catalog; you do not need to sign up with ByteDance separately.
