API

Wan 3.0 Prime API

Vídeo

A API do Wan 3.0 Prime gera vídeos de 2–30 segundos em 480p / 720p / 1080p a partir de texto, quadros ou referências multimodais. O modo de referência aceita até 10 imagens, 5 vídeos e 5 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
wan-3-0-prime
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.

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: 10.

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: 5.

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: 5.

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

input.reference_video_durationnumberopcional

Duração total em segundos dos vídeos de referência. Obrigatória com reference_videos. Na cobrança, o total é arredondado para cima e limitado a 15 segundos adicionais. Omita quando não houver vídeos de referência.

input.durationintegeropcional

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

Padrão: 5

2–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:3
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

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": "wan-3-0-prime",
  "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
  }
}'
POST /api/v1/create · HTTP 201
{
  "data": {
    "task_id": "task_example",
    "model": "wan-3-0-prime",
    "status": "processing",
    "credits": 900
  }
}

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": "wan-3-0-prime",
    "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": "wan-3-0-prime",
    "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ência90180360
Com vídeos de referência90180360

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.

Sem vídeo de referência: segundos gerados × tarifa. Com vídeo: (segundos gerados + min(15, ceil(reference_video_duration))) × tarifa. A tarifa por segundo não muda; a duração de referência acrescenta segundos faturáveis.

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