Inicio rápido
La generación de vídeo siempre es asíncrona. El ejemplo usawan2.6-t2v y un entero duration en segundos.
Cómo descubrir modelos multimedia asíncronos y obtener sus esquemas
El proceso de descubrimiento tiene dos pasos. Primero, obtén del catálogo público los modelos de texto a imagen o texto a video compatibles con las API asíncronas. Después, usa elmodel_id del modelo para obtener el esquema de solicitud de sus endpoints.
Listar modelos compatibles con las API asíncronas
El catálogo de modelos usa la misma fuente de datos que Playground. Usatype=image_generation para los modelos de texto a imagen y type=video para los modelos de texto a video. Al añadir schema_checked=true, la lista se limita a los modelos cuyo esquema de solicitud se ha publicado y revisado.
type acepta actualmente un solo valor, por lo que debes solicitar cada tipo de modelo por separado.
La respuesta tiene la forma {success, message, data}. Los siguientes campos de data son relevantes para las integraciones multimedia asíncronas.
Obtener el esquema de solicitud de un modelo
Los campos, las enumeraciones y los rangos numéricos compatibles pueden variar según el modelo. Antes de enviar una solicitud de imagen o video, usa el siguiente endpoint público para obtener los endpoints disponibles y los esquemas JSON de solicitud del modelo seleccionado.modality en la respuesta es image o video. Cada elemento del array endpoints describe un protocolo de llamada disponible.
Un modelo puede devolver endpoints
/ai/v1 y endpoints /v1 compatibles con OpenAI. Es posible que los endpoints compatibles con OpenAI todavía no admitan los modelos más recientes, por lo que se recomienda usar primero los endpoints /ai/v1. Para las API de tareas asíncronas, selecciona el elemento cuyo path sea /ai/v1/images/generations o /ai/v1/videos y utiliza su request.schema. No dependas de la posición de un elemento en el array endpoints.
Los siguientes comandos extraen directamente el esquema de solicitud de cada endpoint de tareas asíncronas.
404 model_not_found si el modelo no existe o no tiene endpoints detectables. Devuelve 500 endpoints_unavailable cuando los datos de los endpoints no están disponibles temporalmente.
Cómo crear tareas de video
Las solicitudes de video siempre son asíncronas y no admiten cambiar a una espera síncrona mediantePrefer: wait. El protocolo estándar usa el entero duration para indicar la cantidad de segundos:
Campos estándar de video
Estructura de un elemento de
input_references:
type puede ser image_url, video_url o audio_url.
Estructura de un elemento de frame_images:
frame_type puede ser first_frame o last_frame.
Objeto de tarea multimedia
Los endpoints específicos de imagen y video devuelven la siguiente estructura:
Elemento
output multimedia:
Estados de tarea
Los clientes pueden consultar el estado cada 15 segundos hasta que cambie a
completed, failed o cancelled. Los 15 segundos son una recomendación de sondeo para el cliente, no un límite del protocolo del servidor.
Cómo consultar tareas multimedia
Consultar detalles multimedia
Consultar la lista de tareas multimedia
Si se pierde la respuesta de creación, puedes recuperar el ID de la tarea mediante la lista multimedia correspondiente:Cómo usar el endpoint de tareas unificadas
El endpoint de tareas unificadas admite los siguientes filtros:
Detalles de una tarea unificada:
output unificado de una tarea multimedia:
/ai/v1/tasks/{id}/content. Para una tarea con varios artefactos, solicita /ai/v1/tasks/{id}/content/{result_id}. Si no se especifica el ID del resultado, se devuelve 400 result_id_required.
Los endpoints de lista, detalles y contenido de tareas unificadas están
aislados por el Bearer Token usado para crear la tarea. Otras API Keys de la
misma cuenta no pueden leerla.
Cómo descargar resultados multimedia
Descargar videos
Cómo usar Webhooks
Las imágenes y los videos asíncronos admiten Webhooks a nivel de tarea:webhook_url admite hasta 512 caracteres y no puede apuntar a localhost, redes privadas ni otras direcciones restringidas. Cuando se omite webhook_events_filter, la plataforma envía completed, failed y cancelled. Cuando se proporciona explícitamente, la matriz no puede estar vacía ni contener duplicados, y debe usarse junto con webhook_url.
Cuando la solicitud no incluye webhook_url, las imágenes y los videos asíncronos intentan usar la URL de devolución de llamada predeterminada configurada en la cuenta. Una URL predeterminada no válida se ignora y no impide la creación de la tarea.
Solicitud de devolución de llamada
results solo aparece cuando los resultados se han archivado. Las descargas siguen requiriendo un Bearer Token.
Reintentos y deduplicación
La plataforma usa una entrega al menos una vez, por lo que el mismo evento puede entregarse más de una vez:- HTTP
2xxindica que se recibió correctamente. - HTTP
5xx, los errores de red o los tiempos de espera agotados activan un reintento. - HTTP
3xxy4xxno se vuelven a intentar. - Se realizan hasta 6 intentos de entrega, con intervalos de 1, 4, 16, 64 y 256 segundos.
event_id y devolver 2xx inmediatamente cuando vuelva a recibir el mismo evento.
Respuestas y códigos de error
Esta sección se aplica a/ai/v1/videos/* y a las tareas de vídeo. Para los errores de imagen, consulta la API de imágenes.
- Fallo de la solicitud actual: un estado HTTP distinto de 2xx indica que ha fallado la creación, consulta o descarga actual. Consulta Fallos de solicitudes HTTP.
- Fallo de ejecución de la tarea: la consulta devuelve HTTP 200, pero la tarea tiene
status=failedy el motivo aparece en su campoerror. Consulta Fallos de ejecución de tareas. - Fallo al leer el resultado de una entrada: la lista devuelve HTTP 200, pero una tarea incluye
output_error. Consulta Fallos al leer resultados individuales.
message muestra el texto en inglés devuelto por la API; la columna de explicación describe su significado y cómo actuar. Los errores de validación muestran mensajes generales; la respuesta real puede precisar los campos y las restricciones. Usa code para identificar el tipo de error, sin depender de una coincidencia exacta con el texto completo de message.
Notificar un error HTTP 5xx
Si la solicitud devuelve HTTP
5xx, envía un informe e incluye error.tid.Fallos de solicitudes HTTP
Tras crear un vídeo, los resultados de generación se comunican mediante el estado de la tarea. Los estados HTTP siguientes corresponden al fallo de la solicitud actual.Parámetros de la solicitud y medios de entrada
- Tamaño del medio: las tareas de vídeo que superan el límite devuelven
media_too_large, también al cargar imágenes de referencia. Consulta el límite en el mensaje de error o enerror.details.max_bytes. - Tamaño total de la solicitud:
request_too_largeindica que el cuerpo HTTP supera los 32 MiB, incluidos el texto, los parámetros y los medios codificados. Si solo envías una URL, el enlace cuenta como parte del cuerpo; el archivo de destino debe seguir cumpliendo los límites multimedia del modelo. - Tamaño real:
error.details.actual_bytessolo se incluye cuando se conoce el tamaño completo. Puede omitirse si la lectura de una URL se detiene al alcanzar el límite de lectura.
error.details.allowed_mime_types o la lista de formatos del mensaje de error. Si no hay lista, consulta el Schema del modelo.
Marcadores de posición de los mensajes
{media_kind}: tipo real de medio. Cuando se conoce, los mensajes deinvalid_media_dataymedia_url_unreachabletambién usanimageovideo.{max_bytes}: límite en bytes.{allowed_formats}: lista de formatos permitidos. Los errores de formato pueden añadirUse one of: {allowed_formats}.
Solicitudes de generación y resultados devueltos
Cuenta y permisos
Disponibilidad del servicio y límites de solicitudes
provider_unavailable indica un fallo confirmado del proveedor de modelos. Un estado genérico 429 o 4xx no permite identificar por sí solo problemas de cuota, moderación de contenido o parámetros.
Consulta de tareas y descarga de resultados
Fallos de ejecución de tareas
Cuando una tarea ya creada falla durante la generación, se indica mediantestatus=failed y el campo error de la tarea. Una consulta correcta sigue devolviendo HTTP 200.
message de los errores de tamaño termina en submit a new task., indicando que debes reducir el tamaño y enviar una nueva tarea.
provider_empty_output confirma que no hay un vídeo utilizable. result_delivery_failed indica que hay un resultado generado, pero falló su almacenamiento o entrega. En este último caso, contacta primero con soporte para investigar el resultado existente.
Fallos al leer resultados individuales
Algunas entradas de las listas de tareas de imagen y vídeo pueden incluiroutput_error:
output=[]. Se conservan su id, status, error y la paginación, y las demás tareas legibles no se ven afectadas. Comprueba output_error incluso con status=completed antes de considerar disponible el resultado.
Contacta con soporte e indica output_error.tid. Si el campo no incluye tid, proporciona el ID de solicitud de las cabeceras de la respuesta actual. Este error no cambia el estado de la tarea ni los cargos y no activa un Webhook.
Las listas de imágenes y vídeos conservan el expires_at obtenido. Las entradas con errores de lectura en la lista unificada /ai/v1/tasks pueden devolver expires_at=null; los resultados siguen sujetos al periodo de conservación original.
Este tratamiento solo se aplica cuando no se puede leer el resultado de una entrada y no hay una alternativa disponible. Un fallo de consulta de todo el lote en la API unificada de tareas sigue devolviendo un error HTTP; el mismo fallo al consultar detalles sigue devolviendo HTTP 500.
Documentación relacionada: API de imágenes · API de vídeo · Tareas asíncronas