Vídeo
Seedance 2 video
ByteDance Seedance 2 — text/image/reference + start-last frame. 480p–1080p. Optional audio.
Categoria: Criação · seedance-2
Como usar & limites
- Três modos: texto→vídeo, imagem→vídeo (frame inicial/final) e referência multimodal (imagens, vídeos e áudio).
- prompt: 3–20.000 caracteres.
- image_urls (até 2, frame inicial/final) é mutuamente exclusivo com qualquer campo reference_*.
- reference_image_urls: até 9 (JPG/PNG/WebP, até 30MB); reference_video_urls: até 3 (MP4/MOV, 2–15s combinados, <50MB); reference_audio_urls: até 3 (MP3/WAV, ≤15s, exige ao menos 1 imagem ou vídeo de referência).
- No modo referência, o total de arquivos (imagem+vídeo+áudio) não passa de 12; cite-os no prompt como @Image1, @Video1, @Audio1.
- Resolução: 480p, 720p, 1080p ou 4k; duração inteira de 4 a 15s; áudio opcional.
Capacidades
O que este modelo suporta, direto do schema — sem preços, sem detalhes de infraestrutura.
| Capacidade | Valor |
|---|---|
video_edit Edição de vídeo | — |
text_to_video Texto → vídeo | Sim |
image_to_video Imagem → vídeo | Sim |
audio_generation Geração de áudio | Sim |
first_last_frame Frame inicial + final | Sim |
reference_to_video Referência → vídeo | Sim |
multimodal_reference Referência multimodal | Sim |
Parâmetros
Campos aceitos em params (ou de primeira classe, quando aplicável) para POST /generations.
| Nome | Rótulo | Tipo | Obrigatório | Padrão | Opções | Mín / Máx | Descrição |
|---|---|---|---|---|---|---|---|
prompt | Prompt | textarea | Obrigatório | — | — | — | Descrição do vídeo, de 3 a 20.000 caracteres. |
image_urls | Image references | multi_select | Opcional | — | — | — – 2 | Até 2 imagens (frame inicial/final); exclui os campos reference_*. |
reference_image_urls | Reference images | multi_select | Opcional | — | — | — – 9 | Até 9 imagens de referência (JPG/PNG/WebP, até 30MB); exclui image_urls. |
reference_audio_urls | Reference audio | multi_select | Opcional | — | — | — – 3 | Até 3 áudios (MP3/WAV, ≤15s combinados); exige ao menos 1 imagem ou vídeo de referência. |
resolution | Resolution | select | Obrigatório | 720p | 480p · 720p · 1080p · 4k | — | Resolução: 480p, 720p, 1080p ou 4k. |
generate_audio | Generate audio | boolean | Opcional | false | — | — | Gera uma trilha de áudio junto ao vídeo. |
seed | Seed | number | Opcional | — | — | — | — |
negative_prompt | Negative prompt | textarea | Opcional | — | — | — | — |
duration | Duration | number | Obrigatório | 5 | — | 4 – 15 | Duração em segundos, inteiro de 4 a 15. |
reference_video_urls | Reference videos | multi_select | Opcional | — | — | — – 3 | Até 3 vídeos de referência (MP4/MOV, 2–15s combinados, <50MB, 480p–720p); exclui image_urls. |
aspect_ratio | Aspect ratio | select | Opcional | 16:9 | 1:1 · 21:9 · 4:3 · 3:4 · 16:9 · 9:16 | — | Proporção: auto (padrão), 1:1, 21:9, 4:3, 3:4, 16:9 ou 9:16. |
Exemplo de requisição
curl -X POST https://caranguejo.art/api/v1/dev/generations \
-H "Authorization: Bearer $CK" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2",
"prompt": "Plano de drone cinematográfico sobrevoando uma cidade neon após a chuva, reflexos brilhando nas ruas.",
"params": {
"resolution": "1080p",
"duration": 5,
"aspect_ratio": "16:9",
"generate_audio": true
}
}'
const res = await fetch("https://caranguejo.art/api/v1/dev/generations", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.CK,
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "seedance-2",
"prompt": "Plano de drone cinematográfico sobrevoando uma cidade neon após a chuva, reflexos brilhando nas ruas.",
"params": {
"resolution": "1080p",
"duration": 5,
"aspect_ratio": "16:9",
"generate_audio": true
}
}),
});
const { data } = await res.json();
Exemplo de resposta
{
"id": "9f0c1a7e-…",
"object": "generation",
"model": "seedance-2",
"type": "video",
"status": "completed",
"output": {
"assets": [
{
"url": "https://media.caranguejo.art/outputs/example.mp4",
"type": "video"
}
]
}
}
O custo real do job é retornado em credits_charged na resposta concluída — consulte GET /balance para o saldo da conta.
Erros comuns deste tipo de job:
insufficient_credits | Saldo insuficiente para cobrir o job. |
content_policy_violation | Prompt ou mídia recusados por política de conteúdo. |
generation_timeout | O job excedeu o tempo máximo de processamento. |
rate_limited | Limite de requisições por minuto excedido. |
invalid_input | Parâmetro obrigatório ausente ou fora do schema do modelo. |
generation_failed | Falha genérica no processamento do job. |