POST /v1/videos para crear una tarea asíncrona de generación de vídeo con Seedance. Consulta el estado de la tarea hasta que se complete y luego descarga el vídeo desde la URL de Flatkey devuelta.
Los modelos compatibles son seedance-2.0, seedance-2.0-fast, seedance-2.0-mini y seedance-2.5. La disponibilidad depende de tu cuenta; usa GET /v1/models para obtener la lista de modelos actual.
Endpoint
Flatkey también acepta
POST /v1/video/generations y GET /v1/video/generations/{task_id}. Usa /v1/videos para obtener la estructura de respuesta estándar y los datos nativos de usage.Solicitud
Cabeceras
Parámetros del cuerpo
string
requerido
ID del modelo Seedance:
"seedance-2.0", "seedance-2.0-fast", "seedance-2.0-mini" o "seedance-2.5".array
requerido
Elementos de entrada multimodal. Incluye al menos un elemento no vacío de texto, imagen, vídeo o audio. Consulta Elementos de
content.string
Resolución de salida. Valor por defecto:
"720p".string
Relación de aspecto de salida:
"16:9", "4:3", "1:1", "3:4", "9:16", "21:9" o "adaptive". Valor por defecto: "adaptive". Con "adaptive", el modelo elige la relación de aspecto a partir de tus imágenes o vídeos de entrada. En seedance-2.5, las tareas de primer fotograma y de primer y último fotograma solo admiten "adaptive".integer
Duración del vídeo en segundos. Valor por defecto:
5. Los modelos Seedance 2.0 admiten de 4 a 15; seedance-2.5 admite de 4 a 30.boolean
Añade una marca de agua “AI generated” en la esquina inferior derecha. Valor por defecto:
false.boolean
Genera una pista de audio mono sincronizada. Valor por defecto:
true. Establécelo en false si solo necesitas el vídeo; el audio generado puede no superar ocasionalmente las comprobaciones de derechos de autor.boolean
Devuelve el último fotograma del vídeo generado como imagen. Valor por defecto:
false. Si es true, la tarea completada incluye metadata.last_frame_url, que descarga un JPEG con las mismas dimensiones que el vídeo y sin marca de agua. Úsalo como first_frame de la siguiente tarea para encadenar clips. Al igual que metadata.url, no requiere cabecera de autorización; trátalo como privado.string
Solo
seedance-2.5. Contenedor del vídeo generado: "mp4" o "mov". Valor por defecto: "mp4". MOV conserva más precisión de color para etalonaje y composición (H.264, YUV 4:4:4, audio PCM), pero algunos reproductores no pueden abrirlo. El endpoint de contenido devuelve video/quicktime para los resultados en MOV.string
Solo
seedance-2.5, para tareas en modo de referencia. Indica al modelo qué tarea quieres realizar: "auto" (valor por defecto), "reference", "edit" o "extend". Si lo estableces explícitamente, las comprobaciones del tipo de tarea se hacen en el envío, de modo que una combinación no válida falla de inmediato en lugar de después de que empiece la tarea. "reference", "edit" y "extend" necesitan elementos de referencia en content; una solicitud solo de texto con "reference" se rechaza. Consulta edición y extensión de vídeo.integer
Prioridad en la cola, de
0 a 9. Valor por defecto: 0. Los valores más altos adelantan la tarea a las tareas de menor prioridad que esperan en el mismo modelo. Compatible con todos los modelos Seedance 2.0 y con seedance-2.5. Los valores fuera del rango de 0 a 9 se rechazan con 400.integer
Segundos que la tarea puede esperar y ejecutarse antes de caducar. Valor por defecto:
172800 (48 horas). Usa un valor menor si un resultado tardío no te sirve.string
URL HTTPS pública que recibe un
POST cada vez que cambia el estado de la tarea. Consulta Callbacks de tareas. Debe usar https, no contener credenciales de usuario, tener como máximo 2.048 caracteres y resolverse a una dirección pública; de lo contrario, la solicitud se rechaza con 400.Elementos de content
Cada URL puede ser una URL HTTPS pública, un data URI
data:<mime>;base64, (solo imágenes y audio) o una referencia asset:// de la biblioteca de activos. El cuerpo completo de la solicitud debe ocupar menos de 64 MB.
Elige un único modo de entrada por tarea. Estos modos no se pueden mezclar:
Edición de vídeo
seedance-2.5 puede editar o extender un vídeo existente en modo de referencia. Describe el cambio en el prompt y refiérete al vídeo como @Video1.
seedance-2.5 con un vídeo de referencia, una edición se factura con la tarifa con vídeo de la resolución correspondiente por 30 segundos fijos, independientemente de la duración de entrada o de salida.
Modo borrador
seedance-2.5 puede generar primero un borrador económico en 480p para que compruebes la escena, los planos y el movimiento antes de pagar por el vídeo final. Se necesitan dos solicitudes:
- Crea el borrador. Envía una solicitud normal con
"draft": truey"resolution": "480p". Se factura como un vídeo estándar de 480p. - Genera el vídeo final. Cuando el borrador se complete, envía una solicitud cuyo único elemento de
contentsea undraft_taskque apunte al ID de la tarea del borrador, con"resolution": "1080p".
duration, ratio, frames, seed, generate_audio, omni_reference_task_type, draft ni ningún otro elemento de content junto con un draft_task; la solicitud se rechaza con 400. Puedes seguir configurando return_last_frame, output_format, watermark, priority, execution_expires_after y callback_url.
Seedance no acepta directamente imágenes ni vídeos que muestren rostros humanos reales. Súbelos como activos de persona real y haz referencia a ellos con
asset://.Ejemplos de solicitudes
Entrada con primer y último fotograma
Referencia multimodal
Respuesta
Campos de la respuesta
string
ID público de la tarea, que se usa para consultar su estado y descargar el vídeo completado.
task_id contiene el mismo valor.string
Estado de la tarea:
queued, in_progress, completed o failed.integer
Progreso de la generación de 0 a 100.
integer
Marca de tiempo Unix de la creación de la tarea.
Consultar el estado de la tarea
Valores de estado
Callbacks de tareas
Configuracallback_url para recibir los cambios de estado en lugar de consultar la tarea, o además de hacerlo. Flatkey envía un POST con Content-Type: application/json cuando la tarea pasa a in_progress, completed o failed. El cuerpo es exactamente lo que devuelve GET /v1/videos/{task_id} en ese momento, incluidos metadata.url y metadata.last_frame_url para las tareas completadas.
Responde con cualquier estado
2xx en un plazo de 5 segundos. De lo contrario, Flatkey reintenta dos veces, a los 2 y a los 8 segundos, y después desiste. No se siguen las redirecciones. Los callbacks no están firmados, así que verifica el resultado consultando la tarea antes de actuar en consecuencia, y sigue usando la consulta como fuente de verdad por si se pierde algún callback.
Descargar el vídeo
video/mp4, o video/quicktime si la tarea usó output_format: "mov". No requiere token Bearer y puede usarse directamente como fuente de un elemento <video>.
Errores
Los errores en el momento de la solicitud usan el sobre de error estándar de Flatkey:Ejemplo de extremo a extremo
Este ejemplo crea una tarea, consulta su estado cada cinco segundos y descarga el vídeo completado. Requierejq.