POST /v1/videos para criar uma tarefa assíncrona de geração de vídeo Seedance. Consulte o status da tarefa até que ela seja concluída e, em seguida, baixe o vídeo pela URL do Flatkey retornada.
Os modelos suportados são seedance-2.0, seedance-2.0-fast, seedance-2.0-mini e seedance-2.5. A disponibilidade depende da sua conta; use GET /v1/models para obter a lista atual de modelos.
Endpoint
O Flatkey também aceita
POST /v1/video/generations e GET /v1/video/generations/{task_id}. Use /v1/videos para a estrutura de resposta padrão e dados nativos de usage.Requisição
Cabeçalhos
Parâmetros do corpo
string
obrigatório
ID do modelo Seedance:
"seedance-2.0", "seedance-2.0-fast", "seedance-2.0-mini" ou "seedance-2.5".array
obrigatório
Itens de entrada multimodal. Inclua pelo menos um item de texto não vazio, imagem, vídeo ou áudio. Veja itens de
content.string
Resolução de saída. Padrão:
"720p".string
Proporção de saída:
"16:9", "4:3", "1:1", "3:4", "9:16", "21:9" ou "adaptive". Padrão: "adaptive". Com "adaptive", o modelo escolhe a proporção com base nas imagens ou vídeos de entrada. Para seedance-2.5, tarefas de primeiro quadro e de primeiro/último quadro aceitam apenas "adaptive".integer
Duração do vídeo em segundos. Padrão:
5. Os modelos Seedance 2.0 aceitam de 4 a 15; o seedance-2.5 aceita de 4 a 30.boolean
Adiciona uma marca d’água “AI generated” no canto inferior direito. Padrão:
false.boolean
Gera uma faixa de áudio mono sincronizada. Padrão:
true. Defina como false se você precisar apenas do vídeo; o áudio gerado pode ocasionalmente ser reprovado em verificações de direitos autorais.boolean
Retorna o último quadro do vídeo gerado como imagem. Padrão:
false. Quando true, a tarefa concluída inclui metadata.last_frame_url, que baixa um JPEG com as mesmas dimensões do vídeo e sem marca d’água. Use-o como first_frame da próxima tarefa para encadear clipes. Assim como metadata.url, ele não requer cabeçalho de autorização; trate-o como privado.string
Somente
seedance-2.5. Contêiner do vídeo gerado: "mp4" ou "mov". Padrão: "mp4". O MOV preserva mais precisão de cor para correção de cor e composição (H.264, YUV 4:4:4, áudio PCM), mas alguns players não conseguem abri-lo. O endpoint de conteúdo retorna video/quicktime para resultados em MOV.string
Somente
seedance-2.5, para tarefas no modo de referência. Informa ao modelo qual tarefa você pretende realizar: "auto" (padrão), "reference", "edit" ou "extend". Defini-lo explicitamente antecipa as verificações de tipo de tarefa para o momento do envio, de modo que uma combinação inválida falha imediatamente, e não depois que a tarefa começa. "reference", "edit" e "extend" exigem itens de referência em content; uma requisição só com texto e "reference" é rejeitada. Veja edição e extensão de vídeo.integer
Prioridade na fila, de
0 a 9. Padrão: 0. Valores mais altos colocam a tarefa à frente de tarefas de menor prioridade que aguardam o mesmo modelo. Compatível com todos os modelos Seedance 2.0 e com o seedance-2.5. Valores fora do intervalo 0–9 são rejeitados com 400.integer
Segundos que a tarefa pode aguardar e ser executada antes de expirar. Padrão:
172800 (48 horas). Use um valor menor quando um resultado atrasado não tiver utilidade para você.string
URL HTTPS pública que recebe um
POST sempre que o status da tarefa muda. Veja Callbacks de tarefa. Deve usar https, não conter credenciais de usuário, ter no máximo 2.048 caracteres e resolver para um endereço público; caso contrário, a requisição é rejeitada com 400.Itens de content
Cada URL pode ser uma URL HTTPS pública, uma data URI
data:<mime>;base64, (somente imagens e áudio) ou uma referência asset:// da biblioteca de ativos. O corpo inteiro da requisição deve ficar abaixo de 64 MB.
Escolha um modo de entrada por tarefa. Estes modos não podem ser combinados:
Edição de vídeo
Oseedance-2.5 pode editar ou estender um vídeo existente no modo de referência. Descreva a alteração no prompt e refira-se ao vídeo como @Video1.
seedance-2.5 com vídeo de referência, uma edição é cobrada pela tarifa com vídeo da resolução escolhida, por 30 segundos fixos, independentemente da duração da entrada ou da saída.
Modo rascunho
Oseedance-2.5 pode gerar primeiro um rascunho barato em 480p, para que você confira a cena, os planos e o movimento antes de pagar pelo vídeo final. São necessárias duas requisições:
- Crie o rascunho. Envie uma requisição normal com
"draft": truee"resolution": "480p". Ela é cobrada como um vídeo 480p comum. - Gere o vídeo final. Depois que o rascunho for concluído, envie uma requisição cujo único item de
contentseja umdraft_taskapontando para o ID da tarefa do rascunho, com"resolution": "1080p".
duration, ratio, frames, seed, generate_audio, omni_reference_task_type, draft nem qualquer outro item de content junto com um draft_task; a requisição é rejeitada com 400. Você ainda pode definir return_last_frame, output_format, watermark, priority, execution_expires_after e callback_url.
O Seedance não aceita diretamente imagens ou vídeos que mostrem rostos humanos reais. Envie-os como ativos de pessoa real e referencie-os com
asset://.Exemplos de requisição
Entrada com primeiro e último quadro
Referência multimodal
Resposta
Campos da resposta
string
ID público da tarefa usado para consultar o status e baixar o vídeo concluído.
task_id contém o mesmo valor.string
Status da tarefa:
queued, in_progress, completed ou failed.integer
Progresso da geração de 0 a 100.
integer
Timestamp Unix da criação da tarefa.
Consultar status da tarefa
Valores de status
Callbacks de tarefa
Definacallback_url para receber as mudanças de status em vez de consultar a tarefa periodicamente, ou além disso. O Flatkey envia um POST com Content-Type: application/json quando a tarefa passa para in_progress, completed ou failed. O corpo é exatamente o que GET /v1/videos/{task_id} retorna naquele momento, incluindo metadata.url e metadata.last_frame_url para tarefas concluídas.
Responda com qualquer status
2xx em até 5 segundos. Caso contrário, o Flatkey tenta novamente duas vezes, após 2 e 8 segundos, e então desiste. Redirecionamentos não são seguidos. Os callbacks não são assinados; por isso, confirme o resultado consultando a tarefa antes de agir com base nele e mantenha a consulta como fonte da verdade caso um callback se perca.
Baixar o vídeo
video/mp4, ou video/quicktime quando a tarefa usou output_format: "mov". Não requer um token Bearer e pode ser usado diretamente como fonte de um elemento <video>.
Erros
Erros em tempo de requisição usam o envelope de erro padrão do Flatkey:Exemplo completo
Este exemplo cria uma tarefa, consulta o status a cada cinco segundos e baixa o vídeo concluído. Requerjq.