Seedance
Seedance
ByteDance Seedance video generation with optional audio generation
- Endpoint
- POST /api/v1/videos/generate
- model
- seedance
- Output
- Video
- Credits
- from 8
Invia un'attività
/api/v1/videos/generateParametri
modelstringObbligatorio"seedance", "seedance2", or "seedance2-fast"
seedanceseedance2seedance2-fasttypestringFacoltativoPredefinitotext-to-video"text-to-video" or "image-to-video" (default: text-to-video)
text-to-videoimage-to-videopromptstringObbligatorioText prompt (3-2500 chars)
image_urlsstring[]FacoltativoRequired for image-to-video; supports 1-2 images
media_urlsstring[]FacoltativoSeedance2 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_imagestringFacoltativoDeprecated. Alias for image_urls[0]
aspect_ratiostringFacoltativo"1:1", "21:9", "4:3", "3:4", "16:9", or "9:16"
1:121:94:33:416:99:16durationstringFacoltativo"4", "8", or "12" for seedance; seedance2 supports 4-15 seconds
4812resolutionstringFacoltativo"480p" or "720p" for seedance; seedance2 also supports "1080p". "4k" requires model "seedance2" (other models reject "4k").
480p720p1080p4kfixed_lensbooleanFacoltativoPredefinitofalseUse fixed camera/lens behavior (default: false)
truefalsegenerate_audiobooleanFacoltativoPredefinitotrueGenerate 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.
Richiesta
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
}'Risposta200
{
"success": true,
"data": {
"task_id": "task_seedance123",
"credits_used": 64,
"remaining_credits": 436,
"model": "seedance"
}
}I valori di credits_used in questi esempi sono indicativi. Il consumo effettivo viene calcolato all'invio e restituito dall'API.
Consulta l'attività
/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.
Richiesta
curl https://www.bananapro.site/api/v1/videos/task_abc123 \
-H "Authorization: Bearer sk-your-api-key"Risposta200
{
"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"
}Attendi il risultato
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
donePrezzi
| 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).
Caratteristiche
- Text-to-video generation
- Image-to-video generation
- Optional audio generation
- Seedance 2 supports 4K output