Seedance
Seedance
ByteDance Seedance video generation with optional audio generation
- Endpoint
- POST /api/v1/videos/generate
- model
- seedance
- Output
- Video
- Credits
- from 8
Enviar uma tarefa
/api/v1/videos/generateParâmetros
modelstringObrigatório"seedance", "seedance2", or "seedance2-fast"
seedanceseedance2seedance2-fasttypestringOpcionalPadrãotext-to-video"text-to-video" or "image-to-video" (default: text-to-video)
text-to-videoimage-to-videopromptstringObrigatórioText prompt (3-2500 chars)
image_urlsstring[]OpcionalRequired for image-to-video; supports 1-2 images
media_urlsstring[]OpcionalSeedance2 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_imagestringOpcionalDeprecated. Alias for image_urls[0]
aspect_ratiostringOpcional"1:1", "21:9", "4:3", "3:4", "16:9", or "9:16"
1:121:94:33:416:99:16durationstringOpcional"4", "8", or "12" for seedance; seedance2 supports 4-15 seconds
4812resolutionstringOpcional"480p" or "720p" for seedance; seedance2 also supports "1080p". "4k" requires model "seedance2" (other models reject "4k").
480p720p1080p4kfixed_lensbooleanOpcionalPadrãofalseUse fixed camera/lens behavior (default: false)
truefalsegenerate_audiobooleanOpcionalPadrãotrueGenerate 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.
Requisição
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
}'Resposta200
{
"success": true,
"data": {
"task_id": "task_seedance123",
"credits_used": 64,
"remaining_credits": 436,
"model": "seedance"
}
}Os valores de credits_used nestes exemplos são ilustrativos. O consumo real é calculado no envio e retornado pela API.
Consultar a tarefa
/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.
Requisição
curl https://www.bananapro.site/api/v1/videos/task_abc123 \
-H "Authorization: Bearer sk-your-api-key"Resposta200
{
"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"
}Aguardar o resultado
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
donePreços
| 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).
Funcionalidades
- Text-to-video generation
- Image-to-video generation
- Optional audio generation
- Seedance 2 supports 4K output