API Hop

Documentação

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.

POSThttps://api.apihop.ai/v1/video/seedance

Crie uma tarefa assíncrona Seedance 2.0. Para Seedance 2.5, use a referência separada de parâmetros.

Autenticação

http
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Corpo da requisição

modelstringobrigatório

seedance-2.0 ou seu alias seedance-2-0.

promptstring

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

String 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: 720p

Resoluçã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:9

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

metadataobject

Aceita 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_urlstring

URL 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.

TipoCampo URLPapéis
image_urlimage_url.urlfirst_frame, last_frame, reference_image
video_urlvideo_url.urlreference_video
audio_urlaudio_url.urlreference_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

json
{
  "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

json
{
  "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

json
{
  "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.