Video generation
Seedance 2.5
Seedance 2.5 is a next-generation audio-video joint generation model, built for 30-second storytelling with precise reference control and powerful editing capabilities.
480p, 720p and 1080p · 4–30 seconds · Optional audio · MP4 kept 24 hours
$0.107856Per second, from
Price per second
- 480p · 640 × 640
- $0.107856
- $0.107856 with audio
- 480p · 480 × 854
- $0.107941
- $0.107941 with audio
- 480p · 864 × 480
- $0.107941
- $0.107941 with audio
- 480p · 560 × 752
- $0.110889
- $0.110889 with audio
- 480p · 752 × 560
- $0.110889
- $0.110889 with audio
- 720p · 1280 × 720
- $0.242676
- $0.242676 with audio
- 720p · 960 × 960
- $0.242676
- $0.242676 with audio
- 720p · 720 × 1280
- $0.242676
- $0.242676 with audio
- 720p · 834 × 1112
- $0.244206
- $0.244206 with audio
- 720p · 1112 × 834
- $0.244206
- $0.244206 with audio
- 1080p · 1920 × 1080
- $0.597051
- $0.597051 with audio
- 1080p · 1440 × 1440
- $0.597051
- $0.597051 with audio
- 1080p · 1080 × 1920
- $0.597051
- $0.597051 with audio
- 1080p · 1248 × 1664
- $0.597936
- $0.597936 with audio
- 1080p · 1664 × 1248
- $0.597936
- $0.597936 with audio
Includes the 5% MiniRouter fee. The final charge uses the provider’s actual cost for the delivered video and stays within your reserved hold. MiniRouter absorbs any overrun. Failed jobs are free.
Estimate your credit hold
Credit is reserved when the job starts. The final charge may be lower.
Estimated hold
Your length plus 1 second at the per-second price, including the 5% fee. Unused credit is released.
Use the Videos API
Set MINIROUTER_KEY to your inference key. Each example starts a job, polls it and saves the MP4.
VIDEO_ID=$(curl --fail-with-body --retry 0 -sS https://api.minirouter.sh/v1/videos \
-H "Authorization: Bearer $MINIROUTER_KEY" \
-H 'Content-Type: application/json' \
--data '{
"model": "bytedance/seedance-2.5",
"prompt": "A paper boat drifting down a rainy city street, cinematic.",
"seconds": 4,
"size": "640x640"
}' | jq -r .id)
until curl --fail-with-body -sS "https://api.minirouter.sh/v1/videos/$VIDEO_ID" \
-H "Authorization: Bearer $MINIROUTER_KEY" \
| jq -e '.status == "completed" or .status == "failed"' > /dev/null; do sleep 10; done
curl --fail-with-body -sS -o video.mp4 "https://api.minirouter.sh/v1/videos/$VIDEO_ID/content" \
-H "Authorization: Bearer $MINIROUTER_KEY"Retries are off, so a dropped connection cannot start a second job. The MP4 stays available for 24 hours after the job completes.
Supported operations
- Start a job
- POST /v1/videos
- JSON or multipart fields: model, prompt, seconds, size, optional audio. Prompts up to 2,000 characters.
- Check status
- GET /v1/videos/{id}
- Poll until the status is completed or failed.
- Download
- GET /v1/videos/{id}/content
- Streams the MP4 for 24 hours after the job completes.