Guias de mídia
Geração de Vídeo
Gere vídeos com operações públicas explícitas, polling assíncrono e entradas de mídia específicas do modelo.
A geração de vídeo é assíncrona. POST /v1/videos/generations retorna uma identidade de tarefa pública e geralmente um poll_url; o vídeo final aparece em respostas de status posteriores.
Envie URLs HTTP(S) públicas ou data URLs compatíveis nos campos de imagem do modelo escolhido. Elas seguem o processamento normal de mídia e não criam automaticamente IDs de materiais reutilizáveis.
Se um material indicado explicitamente ainda estiver sendo preparado, POST /v1/videos/generations retorna 409 seedance_material_preparing com inactive_asset_ids. Consulte esses materiais até ACTIVE e tente novamente com os mesmos IDs. Em caso de FAILED, veja error_message e corrija ou importe novamente antes de repetir.
Operações compatíveis
Use operation explícito em produção. O TokenLab pode inferir algumas operações a partir das entradas, mas valores de operação explícitos tornam a validação, suporte e tentativas mais claros.
| Operação | Entrada necessária ou típica | Caso de uso |
|---|---|---|
text-to-video | prompt | Gerar apenas a partir de texto |
image-to-video | image_url ou image compatível | Animar uma imagem inicial |
reference-to-video | reference_images e video_urls / audio_urls opcionais em modelos suportados | Manter identidade, estilo ou referências de ativos |
start-end-to-video | start_image, end_image | Controlar os primeiros e últimos quadros |
video-to-video | video_url ou task_id específico do modelo | Transformar ou aumentar um clipe existente |
motion-control | image_url mais video_url | Aplicar referência de movimento a um sujeito |
audio-to-video | audio_url | Fluxos de vídeo condicionados por áudio |
video-extension | task_id, extend_at ou campos de extensão específicos do modelo | Continuar um vídeo gerado |
Descoberta de Modelos
curl "https://api.tokenlab.sh/v1/models?recommended_for=video" \
-H "Authorization: Bearer sk-your-api-key"Use os IDs de modelo mostrados pelo TokenLab em model e escolha variantes de recurso com operation e as entradas de mídia correspondentes. Exemplos: wan-2.7, happyhorse-1.0, viduq3, viduq3-mix, pixverse-v6, veo3.1 e seedance-2.0; não use sufixos específicos de operação como nomes de modelo do TokenLab.
Leia os detalhes do modelo selecionado antes de confiar em campos especializados, como reference_images, kling_elements, output_audio, duration, resolution ou aspect_ratio.
Criar Solicitação
curl https://api.tokenlab.sh/v1/videos/generations \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "veo3.1",
"operation": "text-to-video",
"prompt": "Uma cena cinematográfica calma de um gato andando por um jardim ensolarado",
"duration": 4,
"aspect_ratio": "16:9"
}'Para entrada de mídia em produção, prefira URLs públicas https em vez de URLs data: inline. Se você usar URLs temporárias, mantenha-as válidas até o TokenLab terminar de criar a tarefa.
Entradas E Campos Específicos do Modelo
O áudio depende do modelo e da operação. Um vídeo pode conter som mesmo sem um seletor de áudio. Omitir o campo não equivale a enviar false.
veo3.1eveo3.1-fastsempre geram áudio conforme a Gemini API. A geração de vídeo dewan-2.6ewan-2.7também não permite silenciar. Omitaoutput_audioou usetruequando os detalhes do modelo permitirem.hailuo-h3e os modelos de vídeo Grok geram áudio nativo. Não adicione seletores ausentes dos detalhes do modelo.- Seedance 1.5/2.x e
viduq3-pro/viduq3-turboativam áudio por padrão e permitem saída silenciosa. PixVerse C1/V5.6/V6 desativam áudio por padrão. Useoutput_audioapenas nas operações que o declaram; Vidu também aceita seu campo booleano declaradoaudio. audio_url/audio_urlsfornecem áudio de entrada ou referência, não são controles de saída. Edição, transferência de movimento e de estilo podem manter a faixa original. Preservar o áudio original não significa silenciar.
Consulte os detalhes do modelo para valores permitidos e preços de áudio. Os aliases compatíveis outputAudio, generate_audio e o booleano audio devem coincidir com output_audio quando combinados. Versões e operações podem ter controles diferentes.
- Para a família Seedance 2.0, leia o guia de modelos de vídeo Seedance 2.0 antes de usar saída 4K, limites Fast/Mini ou entradas de referência multimodais.
- Para video-to-video com
grok-imagine-video, envieprompte uma URL HTTPS pública.mp4emvideo_url. Uma URL de resultado.mp4do TokenLab de uma tarefa anterior também funciona. Essa operação não usa os seletoresduration,resolutionouaspect_ratio.
PixVerse e HappyHorse
| Modelo | Operações | Entradas | Resolução | Duração | Seletor de áudio |
|---|---|---|---|---|---|
pixverse-c1, pixverse-v6 | text-to-video, image-to-video, start-end-to-video, reference-to-video | prompt; image_url; start_image + end_image; reference_images | 360p, 540p, 720p, 1080p | Qualquer número inteiro de 1 a 15 segundos | output_audio, padrão false |
pixverse-v5.6 | text-to-video, image-to-video, start-end-to-video, reference-to-video | Mesmos campos que C1 e V6 | 360p, 540p, 720p, 1080p | 5, 8 ou 10 segundos; 1080p suporta 5 ou 8 segundos | output_audio, padrão false |
happyhorse-1.0 | text-to-video, image-to-video, reference-to-video, video-to-video | prompt; image_url; reference_images; video_url + reference_images | 720p, 1080p | 3 a 15 segundos para operações de geração; a saída de video-to-video é limitada a 15 segundos | Não envie output_audio |
No TokenLab, os modelos PixVerse acima não aceitam operation=video-extension.
curl https://api.tokenlab.sh/v1/videos/generations \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "pixverse-v6",
"operation": "image-to-video",
"prompt": "A slow camera move through a neon-lit street",
"image_url": "https://example.com/start.jpg",
"resolution": "1080p",
"duration": 5,
"output_audio": true
}'Resultados de Polling
Use o poll_url retornado primeiro. Se precisar de um endpoint fixo, use GET /v1/tasks/{id} com o mesmo id / task_id da resposta de criação.
Tarefas de vídeo concluídas podem retornar video_url, video ou videos, dependendo do modelo e da contagem de saída. Trate billing_transaction_id como um identificador de cobrança, não como um identificador de tarefa.
URLs de resultado de vídeo são URLs de resultado de mídia do TokenLab que terminam com o tipo de arquivo, por exemplo .mp4, e são válidas por 30 dias. media_retention.items informa o status de salvamento e expires_at de cada item; se o status de salvamento não for conhecido a tempo, a resposta pode omitir media_retention, e a URL continua funcionando. Tarefas com falha ou em andamento retornam campos de URL de vídeo vazios. Snapshots de tarefas assíncronas têm um ciclo de vida separado. Veja Retenção de dados.
Armadilhas Comuns
- Não codifique caminhos de status de vídeo antigos; prefira
poll_url. - Não combine campos de primeiro quadro com fluxos dedicados de imagem de referência, a menos que o detalhe do modelo permita.
- Não assuma que
durationdescreve o comprimento do vídeo de referência de entrada; geralmente controla o comprimento da saída gerada. - Não tente recriar solicitações após um timeout sem verificar se uma tarefa já foi criada.
Referência da API
| Tópico | Referência |
|---|---|
| Criar Vídeo | Criar Vídeo |
| Obter Status do Vídeo | Obter Status do Vídeo |
| Obter Status da Tarefa | Obter Status da Tarefa |
| Cancelar Tarefa | Cancelar Tarefa |
| Cobrança & Preços | Cobrança & Preços |
APIs de vídeo estilo OpenAI e compatíveis com Volc
Use /v1/videos/generations para a API unificada de vídeo da TokenLab entre modelos. Se você estiver migrando uma integração Seedance 2.0 que já usa content[] ou solicitações Action no estilo Volc, use os endpoints de compatibilidade Seedance em /api/v3. Ambos os estilos usam TokenLab Bearer API keys e polling assíncrono, mas seus formatos de solicitação e resposta são diferentes.
Hailuo H3-Max gera vídeos de 5 a 15 segundos em 480p ou 768p a partir de texto, de um primeiro quadro ou de um primeiro e um último quadro. Seu fluxo voltado à velocidade é útil para transformar rapidamente uma ideia de tomada em um clipe curto.
{
"model": "hailuo-h3-max",
"operation": "text-to-video",
"prompt": "A slow camera move through a quiet garden",
"resolution": "768p",
"duration": 5,
"aspect_ratio": "16:9"
}