Seedance
Seedance
ByteDance Seedance video generation with optional audio generation
- Endpoint
- POST /api/v1/videos/generate
- model
- seedance
- Output
- Video
- Credits
- from 8
Soumettre une tâche
/api/v1/videos/generateParamètres
modelstringObligatoire"seedance", "seedance2", or "seedance2-fast"
seedanceseedance2seedance2-fasttypestringFacultatifPar défauttext-to-video"text-to-video" or "image-to-video" (default: text-to-video)
text-to-videoimage-to-videopromptstringObligatoireText prompt (3-2500 chars)
image_urlsstring[]FacultatifRequired for image-to-video; supports 1-2 images
media_urlsstring[]FacultatifSeedance2 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_imagestringFacultatifDeprecated. Alias for image_urls[0]
aspect_ratiostringFacultatif"1:1", "21:9", "4:3", "3:4", "16:9", or "9:16"
1:121:94:33:416:99:16durationstringFacultatif"4", "8", or "12" for seedance; seedance2 supports 4-15 seconds
4812resolutionstringFacultatif"480p" or "720p" for seedance; seedance2 also supports "1080p". "4k" requires model "seedance2" (other models reject "4k").
480p720p1080p4kfixed_lensbooleanFacultatifPar défautfalseUse fixed camera/lens behavior (default: false)
truefalsegenerate_audiobooleanFacultatifPar défauttrueGenerate 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.
Requête
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
}'Réponse200
{
"success": true,
"data": {
"task_id": "task_seedance123",
"credits_used": 64,
"remaining_credits": 436,
"model": "seedance"
}
}Les valeurs credits_used de ces exemples sont indicatives. La consommation réelle est calculée à l'envoi et renvoyée par l'API.
Consulter la tâche
/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.
Requête
curl https://www.bananapro.site/api/v1/videos/task_abc123 \
-H "Authorization: Bearer sk-your-api-key"Réponse200
{
"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"
}Attendre le résultat
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
doneTarification
| 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).
Fonctionnalités
- Text-to-video generation
- Image-to-video generation
- Optional audio generation
- Seedance 2 supports 4K output