Gere vídeos e imagens com suas próprias ferramentas
Crie uma chave, chame a API com autenticação Bearer e consulte o status da tarefa até que seu resultado esteja pronto. Funciona com Claude Code, Codex e qualquer cliente HTTP.
Início Rápido
Etapa 1
Criar uma chave
Gere uma chave de API no seu painel. Ela só é exibida uma vez, então guarde-a em um local seguro.
Etapa 2
Chamar a API
Envie uma requisição POST com sua chave Bearer e o cabeçalho Idempotency-Key.
Etapa 3
Coletar o resultado
Consulte o endpoint de status da tarefa até que o status seja 'completed' ou 'failed', e então leia a saída.
Autenticação
Cada requisição é autenticada com uma chave de API Bearer no cabeçalho Authorization.
Authorization: Bearer sk_live_your_api_key
Content-Type: application/json
Idempotency-Key: a-unique-id-per-requestSeedance Video
Texto, imagem ou mídia para vídeo.
/api/v1/video/seedanceParâmetros
| Parâmetro | Tipo | Obrigatório | Padrão | Valores permitidos |
|---|---|---|---|---|
modeGeneration mode. | string | Opcional | text-to-video | text-to-videoimage-to-videomedia-to-video |
quality_tierQuality tier. | string | Opcional | standard | standardpro |
channelRendering channel. | string | Opcional | standard | standardrealwild |
promptText prompt. | string | Obrigatório | — | 3–10000 chars |
aspect_ratioAspect ratio. | string | Opcional | 16:9 | 1:121:94:33:416:99:16 |
durationClip duration. | string | Opcional | 5 | 4–15 (seconds) |
resolutionOutput resolution. | string | Opcional | 720p | 720p1080p |
image_urlStart frame — required for image-to-video. | string (URL) | Opcional | — | public https URL |
end_image_urlOptional end frame. | string (URL) | Opcional | — | public https URL |
media_urlsRequired for media-to-video. | string[] (URL) | Opcional | — | ≤ 12 public https URLs |
generate_audioGenerate an audio track. | boolean | Opcional | true | truefalse |
fixed_lensLock the camera lens. | boolean | Opcional | false | truefalse |
seedNot supported on the real channel. | integer | Opcional | — | -1 – 4294967295 |
Enviar um trabalho
curl -X POST https://seedance2ai.io/api/v1/video/seedance \
-H "Authorization: Bearer $SEEDANCE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: demo-video-001" \
-d '{
"mode": "text-to-video",
"quality_tier": "standard",
"prompt": "A cinematic shot of a glass train crossing a snowy mountain bridge",
"aspect_ratio": "16:9",
"duration": "5",
"resolution": "720p"
}'GPT Image 2
Geração de imagens de alta fidelidade.
/api/v1/image/gpt-image-2Parâmetros
| Parâmetro | Tipo | Obrigatório | Padrão | Valores permitidos |
|---|---|---|---|---|
typeGeneration type. | string | Obrigatório | — | text-to-imageimage-to-image |
channelGeneration channel. economy is lower-cost with polling-based delivery. | string | Opcional | standard | standardeconomy |
promptText prompt. | string | Obrigatório | — | 3–20000 chars |
resolutionOutput resolution. auto only supports 1K; 1:1 cannot use 4K on the standard channel. | string | Obrigatório | — | 1K2K4K |
aspectRatioAspect ratio. | string | Obrigatório | — | auto1:15:49:1621:916:94:33:24:53:42:32:11:23:11:39:21 |
batchCountNumber of images. | integer | Opcional | 1 | 1–4 |
imageUrlsRequired for image-to-image. | string[] (URL) | Opcional | — | 1–10 public https URLs |
Enviar um trabalho
curl -X POST https://seedance2ai.io/api/v1/image/gpt-image-2 \
-H "Authorization: Bearer $SEEDANCE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: demo-gpt-image-001" \
-d '{
"type": "text-to-image",
"prompt": "Editorial product photo of a transparent running shoe on chrome",
"resolution": "1K",
"aspectRatio": "1:1"
}'Nano Banana Pro
Saída de imagem estilizada e premium.
/api/v1/image/nano-banana-proParâmetros
| Parâmetro | Tipo | Obrigatório | Padrão | Valores permitidos |
|---|---|---|---|---|
typeGeneration type. | string | Obrigatório | — | text-to-imageimage-to-image |
promptText prompt. | string | Obrigatório | — | 3–10000 chars |
image_sizeAspect ratio. | string | Opcional | auto | 1:19:1616:93:44:33:22:35:44:521:9auto |
output_formatImage format. | string | Opcional | png | pngjpeg |
resolutionOutput resolution. | string | Opcional | 1K | 1K2K4K |
image_urlsRequired for image-to-image. | string[] (URL) | Opcional | — | 1–8 public https URLs |
Enviar um trabalho
curl -X POST https://seedance2ai.io/api/v1/image/nano-banana-pro \
-H "Authorization: Bearer $SEEDANCE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: demo-nbp-001" \
-d '{
"type": "text-to-image",
"prompt": "A premium packaging mockup for an AI video studio",
"image_size": "1:1",
"resolution": "1K",
"output_format": "png"
}'Verificar status da tarefa
Consulte até que o status seja concluído ou falhado.
curl https://seedance2ai.io/api/v1/tasks/sd2_xxxxx \
-H "Authorization: Bearer $SEEDANCE_API_KEY"{
"id": "sd2_xxxxx",
"status": "completed",
"model": "seedance",
"output": { "video_url": "https://..." },
"credits_used": 30
}Códigos de erro
| Código | HTTP | Significado |
|---|---|---|
unauthorized | 401 | Missing, invalid, or revoked API key. |
invalid_request | 400 | Bad input or unsupported field. |
insufficient_credits | 402 | Not enough credits on the balance. |
rate_limited | 429 | Too many requests for this account. |
idempotency_conflict | 409 | Same Idempotency-Key reused with a different body, or still running. |
service_busy | 503 | Temporary upstream or credit-concurrency issue. Retry. |
not_found | 404 | Task does not exist or does not belong to this key owner. |
internal_error | 500 | Unexpected server-side failure. |
Skill
Instale a skill Seedance no Claude Code, no Codex ou em qualquer agente — ela escreve prompts cinematográficos e os renderiza através da API para você.
# Clone into Claude Code's skills folder
git clone https://github.com/tkaptop/seedance-skill ~/.claude/skills/seedanceUse com Claude Code
Clique em Copiar para que a IA capture a API completa como Markdown limpo, cole no Claude Code ou Codex e deixe que ela configure a integração. Ou aponte o agente diretamente para o endpoint de texto bruto.
Perguntas Frequentes
Quem pode usar a API?
Qualquer pessoa com créditos. Não há restrição de plano — qualquer conta com créditos pode criar uma chave e chamar a API.
Como consigo créditos?
Recarregue ou assine na página de preços. Os créditos são adicionados ao seu saldo instantaneamente.
Os créditos são compartilhados entre o site e a API?
Sim — seu saldo pessoal de créditos é usado tanto para as gerações na web quanto para as chamadas de API. Em uma equipe, as chamadas de API consomem o saldo pessoal de cada membro, e não o saldo compartilhado da equipe.
Como começar?
Crie uma chave de API no seu painel e chame os endpoints com um token Bearer (veja o Quickstart acima).
E se uma chamada retornar 'insufficient_credits'?
Seu saldo está vazio — recarregue na página de preços e tente novamente.