Seedance
Seedance
ByteDance Seedance video generation with optional audio generation
- Endpoint
- POST /api/v1/videos/generate
- model
- seedance
- Output
- Video
- Credits
- from 8
Aufgabe senden
/api/v1/videos/generateParameter
modelstringErforderlich"seedance", "seedance2", or "seedance2-fast"
seedanceseedance2seedance2-fasttypestringOptionalStandardtext-to-video"text-to-video" or "image-to-video" (default: text-to-video)
text-to-videoimage-to-videopromptstringErforderlichText prompt (3-2500 chars)
image_urlsstring[]OptionalRequired for image-to-video; supports 1-2 images
media_urlsstring[]OptionalSeedance2 media references. Supports images, videos, and audio; audio must be paired with at least one image or video. Video and audio are billed per second by their length, which is measured when you submit.
input_imagestringOptionalDeprecated. Alias for image_urls[0]
aspect_ratiostringOptional"1:1", "21:9", "4:3", "3:4", "16:9", or "9:16"
1:121:94:33:416:99:16durationstringOptional"4", "8", or "12" for seedance; seedance2 supports 4-15 seconds
4812resolutionstringOptional"480p" or "720p" for seedance; seedance2 also supports "1080p". "4k" requires model "seedance2" (other models reject "4k").
480p720p1080p4kfixed_lensbooleanOptionalStandardfalseUse fixed camera/lens behavior (default: false)
truefalsegenerate_audiobooleanOptionalStandardtrueGenerate synchronized audio (default: true). Set to false for silent video.
truefalse
Seedance prompt guide
Seedance prompts work best as concrete director instructions. Describe the subject, action, scene, camera motion, visual style and constraints, then say what each reference file is for.
- For image-to-video, the first image is the opening frame and an optional second image is the closing frame. For reference media, pass images, videos and audio in media_urls.
- Describe each reference's role in the prompt in plain words ("the supplied cup", "the camera move from the supplied video"); do not refer to files by number or id.
- For edits say "strictly edit the supplied source video"; to continue a clip say "continue from the supplied previous clip".
- For complex scenes, list the shots in order, then a style and constraint package: stable faces, natural motion, no deformation, no watermark, no logo and no subtitles unless intended.
Anfrage
curl -X POST https://www.bananapro.site/api/v1/videos/generate \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance",
"type": "text-to-video",
"prompt": "A cinematic pan across a rainy neon street",
"aspect_ratio": "16:9",
"duration": "8",
"resolution": "720p",
"generate_audio": true
}'Antwort200
{
"success": true,
"data": {
"task_id": "task_seedance123",
"credits_used": 64,
"remaining_credits": 436,
"model": "seedance"
}
}Die credits_used-Werte in diesen Beispielen dienen nur zur Veranschaulichung. Der tatsächliche Verbrauch wird beim Senden berechnet und von der API zurückgegeben.
Aufgabe abfragen
/api/v1/videos/{task_id}status
pending- Accepted and waiting to start. Keep polling.
processing- Running. Keep polling.
completed- Finished. Read video_url; output holds the full result.
failed- Ended without a result. error_message says why and credits_refunded shows what was returned.
Poll every 5 to 10 seconds and stop at completed or failed, or register a webhook to be notified instead. Failed tasks are refunded automatically.
Anfrage
curl https://www.bananapro.site/api/v1/videos/task_abc123 \
-H "Authorization: Bearer sk-your-api-key"Antwort200
{
"success": true,
"data": {
"task_id": "task_abc123",
"model": "seedance",
"status": "completed",
"output": { "video_url": "https://..." },
"video_url": "https://...",
"error_message": null,
"credits_used": 64,
"credits_refunded": 0,
"created_at": "2026-10-04T10:00:00.000Z",
"updated_at": "2026-10-04T10:01:12.000Z",
"completed_at": "2026-10-04T10:01:12.000Z"
},
"request_id": "req_abc123"
}Auf das Ergebnis warten
TASK_ID=task_abc123
while true; do
TASK=$(curl -s https://www.bananapro.site/api/v1/videos/$TASK_ID \
-H "Authorization: Bearer sk-your-api-key")
STATUS=$(echo "$TASK" | jq -r '.data.status')
if [ "$STATUS" = "completed" ] || [ "$STATUS" = "failed" ]; then
echo "$TASK" | jq
break
fi
sleep 10
donePreise
| Duration | 480p No Audio | 480p Audio | 720p No Audio | 720p Audio |
|---|---|---|---|---|
| 4 sec | 8 | 16 | 16 | 32 |
| 8 sec | 16 | 32 | 32 | 64 |
| 12 sec | 24 | 48 | 48 | 96 |
Seedance 2 4K (resolution "4k") requires model "seedance2", durations 4-15s, billed per second at ~117 credits/sec (e.g. 5s ≈ 585 credits).
Funktionen
- Text-to-video generation
- Image-to-video generation
- Optional audio generation
- Seedance 2 supports 4K output