Documentação do API Hop
Geração de vídeo Seedance 2.0
Parâmetros de texto, primeiro/último quadro, conteúdo multimodal e geração de áudio do Seedance 2.0.
https://api.apihop.ai/v1/video/seedanceCrie uma tarefa assíncrona Seedance 2.0. Para Seedance 2.5, use a referência separada de parâmetros.
Autenticação
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonCorpo da requisição
modelstringobrigatórioseedance-2.0 ou seu alias seedance-2-0.
promptstringPrompt de vídeo. Obrigatório para geração somente por texto; pode ser omitido ou vazio quando há referências de imagem ou vídeo. Áudio sozinho não é entrada válida. Itens de texto em metadata.content são descartados; somente este prompt de nível superior é usado.
secondsstringPadrão: 5String de inteiro de "4" a "15". O alias numérico duration também é aceito. Se ambos forem enviados, devem coincidir. Duração automática (-1) não é suportada.
sizestringPadrão: 720pResolução de saída: 480p, 720p, 1080p ou 4k. Não é proporção. Precedência da resolução: metadata.resolution, depois size, depois resolution.
aspectRatiostringPadrão: 16:916:9, 9:16, 1:1, 4:3, 3:4, 21:9 ou adaptive. aspect_ratio e ratio são aliases; metadata.ratio tem precedência. Use um alias por configuração.
metadataobjectAceita resolution, ratio, content e generate_audio. Defina generate_audio como booleano para controlar o áudio gerado. Os campos de nível superior generateAudio / generate_audio são aliases; envie apenas um controle de áudio.
imagesstring[]Forma abreviada de imagens: a primeira imagem é o primeiro quadro, e a segunda é o último. Para papéis precisos, use metadata.content. Os aliases existentes imageUrls, imageUrl, image_urls e image_url continuam aceitos com a mesma semântica de quadros.
imageWithRolesobject[]Imagens com url e role: first_frame, last_frame ou reference_image. image_with_roles é um alias. Ambas as versões também aceitam metadata.content tipado.
videoUrlsstring[]Vídeos de referência. videoUrl, video_urls e video_url são aliases.
audioUrlsstring[]Áudio de referência. audioUrl, audio_urls e audio_url são aliases. Exige uma referência de imagem ou vídeo na mesma requisição.
callback_urlstringURL de callback nativo opcional. A disponibilidade depende do canal escolhido; use GET https://api.apihop.ai/v1/jobs/{jobId} como resultado definitivo.
Conteúdo multimodal
Cada item de mídia em metadata.content contém o objeto URL aninhado correspondente. URLs de mídia podem ser URLs HTTP(S) públicas ou identificadores asset:// existentes.
| Tipo | Campo URL | Papéis |
|---|---|---|
image_url | image_url.url | first_frame, last_frame, reference_image |
video_url | video_url.url | reference_video |
audio_url | audio_url.url | reference_audio |
São aceitos até 9 imagens, 3 vídeos e 3 arquivos de áudio, incluindo formas abreviadas e conteúdo tipado. Áudio exige imagem ou vídeo. draft_task não é suportado. Use prompt de nível superior em vez de itens type: "text". Os campos de nível superior first_frame_url, last_frame_url, reference_image_urls, reference_video_urls e reference_audio_urls são formas abreviadas específicas de papel. Campos não listados dentro dos itens de conteúdo não são encaminhados.
Controles não suportados como negativePrompt, seed, returnLastFrame, nsfwCheck, tools, webhook, watermark, outputFormat e seus aliases snake_case são rejeitados. width, height, fps, cfgScale, steps e style não são suportados.
Exemplos de requisição
Texto para vídeo
{
"model": "seedance-2.0",
"prompt": "A quiet city street at dawn, slow forward camera movement",
"seconds": "5",
"size": "720p",
"metadata": {"ratio": "16:9", "generate_audio": true}
}Primeiro e último quadros
{
"model": "seedance-2.0",
"seconds": "5",
"metadata": {
"resolution": "720p",
"ratio": "9:16",
"content": [
{"type": "image_url", "image_url": {"url": "https://example.com/first.jpg"}, "role": "first_frame"},
{"type": "image_url", "image_url": {"url": "https://example.com/last.jpg"}, "role": "last_frame"}
]
}
}Referências de imagem e áudio
{
"model": "seedance-2.0",
"prompt": "Animate the scene to match the rhythm",
"metadata": {
"resolution": "720p",
"generate_audio": true,
"content": [
{"type": "image_url", "image_url": {"url": "asset://existing-image-id"}, "role": "reference_image"},
{"type": "audio_url", "audio_url": {"url": "https://example.com/beat.mp3"}, "role": "reference_audio"}
]
}
}Envio e resultado
O campo data da resposta contém jobId, status, model e message. Envio bem-sucedido significa que a tarefa foi aceita, não concluída. Consulte GET https://api.apihop.ai/v1/jobs/{jobId} com a chave de API da mesma conta. Veja Consultar tarefa assíncrona.
Quando o status for COMPLETED, leia data.outputResult. Aceite uma string url e também um array de URLs em cada objeto de resultado. A cobrança depende dos tokens reais de conclusão e da resolução de saída; referências de vídeo selecionam a tarifa de entrada de vídeo, enquanto referências apenas de imagem/áudio não.