API

Seedance 2.5 API

Vídeo

A API do Seedance 2.5 gera vídeos de 4–30 segundos em 480p / 720p / 1080p a partir de texto, quadros ou referências multimodais. O modo de referência aceita até 30 imagens, 10 vídeos e 10 arquivos de áudio. Cada imagem deve ter no máximo 30 MB.

Autorizações

Bearerstringheaderobrigatório

Chave de API para autorizar solicitações

Corpo

application/json
modelstringobrigatório
seedance-2-5
input.promptstringobrigatório

Descreva o sujeito, a ação, a cena, a iluminação, o movimento de câmera e o ritmo. Espaços no início e no fim são removidos.

input.frames_imagesstring[]opcional

Lista de uma ou duas URLs HTTPS públicas de imagens: quadro inicial e final opcional. Este modo não pode ser combinado com reference_images, reference_videos ou reference_audios.

Com input.frames_images, o Seedance 2.5 usa automaticamente a proporção adaptive com base nos quadros enviados.

Máximo de URLs: 2.

Tamanho máximo por imagem: 30 MB.

Exemplo: ["https://example.com/first-frame.png","https://example.com/last-frame.png"]

input.reference_imagesstring[]opcional

Lista de URLs HTTPS públicas de imagens de referência. Pode ser combinada com reference_videos e reference_audios, mas não com frames_images. Envie strings de URL, não arquivos ou base64.

Máximo de URLs: 30.

Tamanho máximo por imagem: 30 MB.

Exemplo: ["https://example.com/your-image.png"]

input.reference_videosstring[]opcional

Lista de URLs HTTPS públicas de vídeos de referência. Não combine com frames_images. Os vídeos alteram o consumo de créditos; veja a linha e a fórmula correspondentes.

Máximo de URLs: 10.

Exemplo: ["https://example.com/your-video.mp4"]

input.reference_audiosstring[]opcional

Lista de URLs HTTPS públicas de áudios de referência. Pode ser combinada com outras listas reference_*, mas não com frames_images.

Máximo de URLs: 10.

Exemplo: ["https://example.com/your-audio.mp3"]

input.durationintegeropcional

Duração do vídeo em segundos inteiros, de 4 a 30. O padrão é 5. O consumo de créditos varia com a duração.

Padrão: 5

4–30
input.resolutionstringopcional

Resolução do vídeo. Use um dos valores em minúsculas listados abaixo. A resolução altera a tarifa de créditos.

Padrão: 720p

480p720p1080p
input.aspect_ratiostringopcional

Proporção entre largura e altura. O padrão é 16:9. Os quadros podem orientar a composição final.

Padrão: 16:9

16:99:161:13:44:321:9
input.soundbooleanopcional

Define se o áudio será gerado junto com o vídeo. O padrão é false. Envie um booleano JSON, não uma string.

Padrão: false

input.return_last_framebooleanopcional

Define se o último quadro deve ser solicitado junto com o vídeo. Booleano JSON; padrão false.

Padrão: false

Exemplos de requisição

Escolha um modo: sem mídia para texto para vídeo; frames_images para quadros inicial e final; ou combine reference_images, reference_videos e reference_audios para gerar com referências. frames_images não pode ser combinado com listas de mídia reference_*. Os recursos são listas de URLs HTTPS públicas, não arquivos ou base64. Substitua as URLs example.com. Salve data.task_id e consulte POST /api/v1/check até completed ou failed.

POST /api/v1/create
curl -X POST https://nanobanana.io/api/v1/create \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "seedance-2-5",
  "input": {
    "prompt": "Um carro clássico vermelho percorre uma estrada costeira ao pôr do sol. A câmera acompanha suavemente a lateral do carro enquanto a luz quente se reflete no oceano.",
    "duration": 5,
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "sound": false,
    "return_last_frame": false
  }
}'
POST /api/v1/create · HTTP 201
{
  "data": {
    "task_id": "task_example",
    "model": "seedance-2-5",
    "status": "processing",
    "credits": 1000
  }
}

Consulte este endpoint usando o ID da tarefa retornado até que a tarefa seja concluída ou falhe. Recomendamos consultar a cada 5 segundos para verificar o status mais recente.

POST /api/v1/check
{
  "task_id": "task_example"
}

Resposta

Status da tarefa retornado por POST /api/v1/check. Os IDs, URLs e horários abaixo são ilustrativos.

idstringobrigatório

Identificador da tarefa em data.id, igual ao task_id enviado na consulta.

statusstringobrigatório
completed indica que a geração foi bem-sucedida e data.data contém os resultados. Nos demais status, data.data é null.
failed_reasonstringopcional

Retornado somente quando status é failed, para explicar a falha. O campo é omitido em completed e processing.

Concluída · completed

Os URLs de download estão em data.data.results.

POST /api/v1/check · HTTP 200
{
  "data": {
    "id": "task_example",
    "created_at": 1791244800,
    "model": "seedance-2-5",
    "status": "completed",
    "data": {
      "results": [
        "https://example.com/generated.mp4"
      ],
      "processing_time": 120
    }
  }
}

Outros status

Em processing ou failed, data.data é null. Este exemplo mostra failed: somente failed inclui failed_reason. Continue consultando em processing; pare em failed.

POST /api/v1/check · HTTP 200
{
  "data": {
    "id": "task_example",
    "created_at": 1791244800,
    "model": "seedance-2-5",
    "status": "failed",
    "data": null,
    "failed_reason": "Generation failed."
  }
}

Consumo de créditos

Créditos por segundo faturável, por resolução e uso de vídeos de referência.

Créditos por segundo faturável, por resolução e uso de vídeos de referência.
Geração480P720P1080P
Sem vídeos de referência100200400
Com vídeos de referência60120240

Cada requisição gera um vídeo. Se a duração ou resolução forem omitidas, aplicam-se os padrões acima. Vídeos de referência podem aumentar o consumo; use a linha e a fórmula correspondentes.

Escolha a linha conforme o envio de reference_videos. Total = segundos de vídeo gerados × tarifa por segundo. Somente imagens ou áudio usam a linha sem vídeo de referência.

O campo credits retornado por POST /api/v1/create mostra os créditos cobrados pela tarefa.