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. 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.
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"
}