Seedance 2.5
Doubao Seedance 2.5 asynchronous video generation. Supports text, image, video, and audio references; first/last frames; video editing and extension; native audio; optional content moderation; 480p/720p/1080p output; and automatic or 4-30 second duration.
Price
$0.216/s
Endpoint
/videos
Delivery pattern
Async task lifecycle
Availability
Available now
API documentation
Build and copy the request
Choose the options this model accepts. The code below updates as you choose.
https://www.aisplice.store/v1/videosBearer API keyAsync taskOptionsOnly options published for this model are shown.
# Requires curl and jq
API_KEY="${API_KEY:-YOUR_API_KEY}"
# 1. Submit once
SUBMITTED=$(curl --fail-with-body -sS https://www.aisplice.store/v1/videos \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: model-docs-$(date +%s)-$$" \\
-d '{
"model": "Seedance 2.5",
"prompt": "A cinematic scene with careful composition",
"nsfw_check": false,
"duration": 5,
"resolution": "720p",
"metadata": {
"generate_audio": true,
"watermark": false,
"output_format": "mp4",
"return_last_frame": false
},
"size": "1:1"
}')
TASK_ID=$(printf '%s' "$SUBMITTED" | jq -r '.task_id // .id // empty')
if [ -z "$TASK_ID" ]; then
printf '%s\n' "$SUBMITTED" >&2
exit 1
fi
echo "task_id=$TASK_ID"
# 2. Poll until terminal
while true; do
STATUS_JSON=$(curl --fail-with-body -sS \
"https://www.aisplice.store/v1/videos/$TASK_ID" \
-H "Authorization: Bearer $API_KEY")
STATUS=$(printf '%s' "$STATUS_JSON" | jq -r '.status // empty' | tr '[:upper:]' '[:lower:]')
echo "status=$STATUS"
case "$STATUS" in
completed|succeeded|success) break ;;
failed|failure|cancelled|canceled)
printf '%s\n' "$STATUS_JSON" | jq .
exit 1
;;
esac
sleep 5
done
# 3. Fetch the final result
curl --fail-with-body -sS \
"https://www.aisplice.store/v1/videos/$TASK_ID/content" \
-H "Authorization: Bearer $API_KEY" | jq .- 1Submit the task
- 2Poll the status
- 3Fetch the content
Public media URLs are recommended for production. Upload a local file first, then put public_url into the model request. Avoid large Base64 bodies.
Read the upload guideParameter reference
modelExact model identifier for this request.
doubao-seedance-2.5promptInstruction describing the desired result.
durationOutput seconds; -1 lets Seedance choose automatically.
-1456789101112131415161718192021222324252627282930resolutionRequested output resolution.
480p720p1080psizeFirst/last-frame and edit modes require adaptive.
adaptive21:916:94:31:13:49:16imagesUp to 30 image references. Use image_tail with exactly one first-frame image for first/last-frame mode.
metadata.video_urlsPublic HTTP(S) source-video URLs. Maximum 10 items.
Response lifecycle
Task status, terminal states, and result response examples.
Response lifecycle
Task status, terminal states, and result response examples.
{
"id": "task_xxx",
"task_id": "task_xxx",
"object": "video",
"model": "Seedance 2.5",
"status": "queued"
}Waiting
queued · submitted · in_progress · processing
Success
completed · succeeded · success
Failure
failed · failure · cancelled · canceled
Errors and production
Retry rules, idempotency, and the minimum production checklist.
Errors and production
Retry rules, idempotency, and the minimum production checklist.
400 / 422Fix the request fields or unsupported option; do not retry unchanged.
401Check that the API key is present, active, and sent as a Bearer token.
402The account balance is insufficient.
409The Idempotency-Key is processing or was reused with another body.
429Back off according to Retry-After before retrying.
5xxRetry with exponential backoff and keep the original Idempotency-Key.
- Keep API keys on your server for public mobile and browser applications.
- Set a unique Idempotency-Key for every billable async operation.
- Persist task_id so polling can resume after a restart.
- Use a timeout for every HTTP request and surface the request ID in support reports.
- Read live model metadata instead of hard-coding prices and supported options.
Price and tiers
save 20% vs officialRequest price
$0.216/s
$0.27
Tiered pricing
Base price $0.216/s
Tier pricing — the final price depends on the options you request. Unlisted tiers bill at the base price. Billed per second of generated output.
Choose one: use text-to-video pricing without reference media, or reference-media pricing when images, video, or audio are attached. These two resolution prices do not stack.
- 16:9×1$0.216/s
- 1:1×1$0.216/s
- 21:9×1$0.216/s
- 3:4×1$0.216/s
- 4:3×1$0.216/s
- 9:16×1$0.216/s
- adaptive×1$0.216/s
- 480p×0.444814814815$0.09608/s
- 720p×1$0.216/s
- 1080p×1.781851851852$0.38488/s
- 480p×0.266666666667$0.0576/s
- 720p×0.6$0.1296/s
- 1080p×1.064444444444$0.22992/s
- 4×4$0.864
- 5×5$1.08
- 6×6$1.296
- 7×7$1.512
- 8×8$1.728
- 9×9$1.944
- 10×10$2.16
- 11×11$2.376
- 12×12$2.592
- 13×13$2.808
- 14×14$3.024
- 15×15$3.24
- 16×16$3.456
- 17×17$3.672
- 18×18$3.888
- 19×19$4.104
- 20×20$4.32
- 21×21$4.536
- 22×22$4.752
- 23×23$4.968
- 24×24$5.184
- 25×25$5.40
- 26×26$5.616
- 27×27$5.832
- 28×28$6.048
- 29×29$6.264
- 30×30$6.48
The price shown here is exactly what you are billed — failed calls are refunded automatically.
Related models