Modelos de vídeoUsuários avançadosAtualizado em
POST/v1/videos/generations

Console da API

POST/v1/videos/generations
Ver chaves

As requisições usam a chave informada e seguem a cobrança padrão da API.

Doubao Seedance 2.5

ID da solicitação doubao-seedance-2.5

Protocolos

Autenticação

Obtenha uma chave em Gerenciar chaves de API. Para requisições JSON, defina Content-Type: application/json.

  • Authorization: Bearer YOUR_API_KEY

Parâmetros da requisição

POST /v1/videos/generations

CampoTipoObrigatórioDescrição
modelstringObrigatóriodoubao-seedance-2.5. Use o ID do modelo indicado nesta página.
promptstringCondicionalDescreva a cena, a ação e o movimento de câmera. Quando precisar de um prompt, use este campo ou um item de content do tipo text. Use @Video1, @Video2 e assim por diante, na ordem da lista. No modo com vídeo de referência, quadros inicial e final são tratados como referências comuns.
contentarray<object>CondicionalLista de mídias de referência e texto opcional. Omita ao gerar apenas com prompt. O modo de referência aceita até 10 vídeos MP4/MOV de 2 a 30 segundos cada, até 30 segundos no total e 100 MiB por arquivo. Você pode adicionar até duas imagens. Os vídeos precisam usar H.264/H.265 a 24–60 fps. A largura e a altura devem ter 300–6000 px cada, com 409.600–8.295.044 pixels no total e proporção de 0,4–2,5.
content[].typestringObrigatórioValores aceitos: text, image_url, input_image, video_url, input_video.
content[].textstringCondicionalInforme o prompt quando o item tiver type: "text".
content[].rolestringCondicionalUse first_frame e last_frame. O último quadro exige o primeiro. Use reference_image em imagens de referência comuns. Use reference_video nas entradas de vídeo.
content[].asset_idstringCondicionalEnvie a mídia para POST /v1/videos/assets e use o id retornado. No formulário multipart, envie kind (image, video) antes de file. A mídia deve pertencer à sua conta. Use o ID ou a URL HTTPS pública correspondente.
content[].image_urlstringCondicionalURL HTTPS pública da imagem como texto simples.
content[].video_urlstringCondicionalURL HTTPS pública do vídeo como texto simples.
resolutionstringOpcionalValores aceitos: 480p, 720p. Padrão: 480p.
ratiostringOpcionalProporção de saída. Também aceita o alias aspect_ratio. Valores aceitos: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive. Com primeiro quadro e sem vídeo de referência, omita o campo ou use adaptive. A saída segue o primeiro quadro. Nos demais modos o padrão é 9:16.
durationintegerOpcionalDuração de saída em segundos. Aceita segundos inteiros de 4 a 30. Padrão: 4.
generate_audiobooleanOpcionalIndica se uma faixa de áudio deve ser gerada. Padrão: true.

Exemplos de requisição

Defina a chave de API na variável de ambiente local ICODEEASY_API_KEY e escolha um endpoint que aceite chamadas HTTP diretas. Caso o endpoint exija um cliente específico, siga o guia de configuração desse cliente.

Substitua as URLs e os IDs de mídia dos exemplos por ativos válidos.

Video Generations · Vídeo a partir de texto

bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/generations' \
  -H "Authorization: Bearer $ICODEEASY_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
  "model": "doubao-seedance-2.5",
  "prompt": "Slow camera push toward a paper lantern swaying gently by a lake.",
  "resolution": "480p",
  "ratio": "9:16",
  "duration": 4,
  "generate_audio": true
}'

Video Generations · Primeiro e último quadros

bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/generations' \
  -H "Authorization: Bearer $ICODEEASY_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
  "model": "doubao-seedance-2.5",
  "prompt": "Orbit the glass sculpture as the morning light changes.",
  "resolution": "720p",
  "ratio": "adaptive",
  "duration": 6,
  "generate_audio": true,
  "content": [
    {
      "type": "image_url",
      "image_url": "https://example.com/first.png",
      "role": "first_frame"
    },
    {
      "type": "image_url",
      "image_url": "https://example.com/last.png",
      "role": "last_frame"
    }
  ]
}'

Video Generations · Vídeo de referência

bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/generations' \
  -H "Authorization: Bearer $ICODEEASY_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
  "model": "doubao-seedance-2.5",
  "prompt": "Follow the motion in @Video1 while keeping the camera steady.",
  "resolution": "480p",
  "ratio": "9:16",
  "duration": 4,
  "generate_audio": true,
  "content": [
    {
      "type": "video_url",
      "video_url": "https://example.com/reference.mp4",
      "role": "reference_video"
    }
  ]
}'

Consultar tarefa de vídeo

bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/tasks/YOUR_TASK_ID' \
  -H "Authorization: Bearer $ICODEEASY_API_KEY"

Baixar vídeo

bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/tasks/YOUR_TASK_ID/content' \
  -H "Authorization: Bearer $ICODEEASY_API_KEY" \
  -L \
  -o result.mp4

Excluir tarefa de vídeo encerrada

bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/tasks/YOUR_TASK_ID' \
  -H "Authorization: Bearer $ICODEEASY_API_KEY" \
  -i \
  -X DELETE

Respostas e tarefas

HTTP 202 · Tarefa aceita

json
{
  "id": "vid_1785398400000000000",
  "object": "video.generation.job",
  "model": "doubao-seedance-2.5",
  "created_at": "2026-07-30T08:00:00Z",
  "status_url": "/v1/videos/tasks/vid_1785398400000000000",
  "content_url": "/v1/videos/tasks/vid_1785398400000000000/content",
  "status": "queued",
  "updated_at": "2026-07-30T08:00:00Z",
  "task_id": "vid_1785398400000000000"
}

HTTP 200 · Consulta de tarefa concluída

json
{
  "id": "vid_1785398400000000000",
  "object": "video.generation.job",
  "model": "doubao-seedance-2.5",
  "created_at": "2026-07-30T08:00:00Z",
  "status_url": "/v1/videos/tasks/vid_1785398400000000000",
  "content_url": "/v1/videos/tasks/vid_1785398400000000000/content",
  "status": "succeeded",
  "updated_at": "2026-07-30T08:01:00Z",
  "url": "/v1/videos/tasks/vid_1785398400000000000/content"
}

Guarde id. Com a mesma chave de API, envie requisições GET a status_url até status indicar succeeded ou failed. Em caso de sucesso, baixe o vídeo por content_url e siga os redirecionamentos HTTP. Os dois caminhos são relativos à URL base da API.

CampoTipoDescrição
id / task_idstringID da tarefa. Na resposta de criação, task_id é igual a id.
statusstringEstado da tarefa: queued, running, succeeded ou failed.
progressintegerProgresso da geração. O campo é omitido quando o valor está indisponível.
error.codestringClassificação do erro para tarefas com falha.

Erros comuns

HTTPTipo de erroDescrição
400invalid_requestConfira o modelo, a combinação de parâmetros e a mídia de referência.
401unauthorizedConfira se a chave de API está ausente, inválida ou desativada.
402insufficient_balanceO saldo é insuficiente para enviar a tarefa.
404not_foundSe a consulta retornar 404, guarde o ID da tarefa e confira o URL de consulta e a chave da conta que criou a tarefa. Ela pode já ter sido concluída. Não reenvie com base apenas nessa resposta.
409video_not_readyO vídeo ainda está em geração. Continue consultando o status.
503submission_unknownO resultado do envio é desconhecido. Confirme com o suporte se a tarefa foi criada antes de enviar outra requisição.

Guia completo de integração · Consulte o guia completo da API para ver os campos, estados de tarefas e formatos de resposta.

Recursos e limites

  • text_to_video · Compatível
  • image_to_video · Compatível
  • first_frame · Compatível
  • last_frame · Compatível
  • reference_images · Compatível
  • audio · Compatível
  • Limites Resoluções: 480p, 720p · Proporções: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive · Durações: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 · Imagens de referência: até 2 · Proporção de quadro: Adaptável

Catálogo de recursos dos modelos · Ver preços