/ai/v1/images para imágenes, /ai/v1/videos para videos y /ai/v1/tasks para registros unificados de tareas.
- La generación de imágenes es síncrona de forma predeterminada y se ejecuta de forma asíncrona al enviar
async: true. - La generación de videos siempre es asíncrona.
- Los endpoints de detalles de imágenes y videos permiten obtener el estado más reciente de las tareas multimedia.
/ai/v1/tasksproporciona una vista unificada y de solo lectura de las tareas de imagen, video y LLM.
Tutorial en video: tareas asíncronas
Explica el funcionamiento general de las tareas asíncronas y muestra un flujo
completo de generación asíncrona de imágenes.
Activa las tareas asíncronas en la consola
Antes de usar los endpoints de tareas multimedia de
/ai/v1, activa las
tareas asíncronas para la cuenta actual.Inicio rápido
El siguiente ejemplo usawan2.6-t2v para crear un video. Este modelo acepta duration y size; los campos válidos pueden variar según el modelo.
Cómo elegir entre los tres grupos de endpoints
La URL base es
https://aihubmix.com. La autenticación usa un Bearer Token:
/ai/v1/tasks no ofrece un endpoint de creación. Las imágenes y los videos
deben crearse mediante los endpoints de generación multimedia
correspondientes. La plataforma guarda automáticamente las tareas de
recuperación de LLM después de una interrupción del cliente.Diferencias entre los endpoints multimedia y los de tareas unificadas
Los endpoints de detalles multimedia y los endpoints de tareas unificadas devuelven los mismos campos de nivel superior, pero los elementos deoutput y el comportamiento de consulta son distintos:
Por lo tanto, usa el endpoint de detalles de imagen o video para sondear el estado de generación multimedia. Usa
/ai/v1/tasks para filtrar tareas de forma unificada, leer metadatos de resultados o recuperar respuestas LLM.
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.
Modelos y campos compatibles
Los protocolos de imagen y video definen campos estándar entre modelos, pero cada modelo restringe los campos, las enumeraciones y los rangos numéricos según sus capacidades. Antes de realizar una solicitud, obtén las restricciones actuales del modelo desde el endpoint de esquema del modelo. Por ejemplo:wan2.6-t2vadmiteduration,sizeyseed. No aceptaresolution,aspect_ratio,frame_images,input_referencesnigenerate_audio.qwen-image-2.0admiten,size,seed,negative_prompt,imageeimages. No aceptaaspect_rationimask.
Modelos para la recuperación de LLM tras una interrupción
Actualmente se admiten los siguientes modelos:- gpt-5.6-sol
- gpt-5.5-pro
- gpt-5.4-pro
- gpt-5.2-pro
- claude-fable-5
- claude-opus-5
Cómo crear tareas de imagen
Imágenes síncronas
Cuando se omiteasync o se establece en false, el endpoint espera a que finalice la generación y devuelve un objeto de tarea:
GET /ai/v1/images para encontrar la tarea correspondiente.
Imágenes asíncronas
Cuandoasync se establece en el valor booleano true, el endpoint devuelve inmediatamente un objeto de tarea y la generación continúa en segundo plano:
GET /ai/v1/images/{id} para consultar una tarea de imagen asíncrona. Cuando termine, solicita directamente el content_url de cada elemento de output; esta URL ya contiene el result_id de la imagen correspondiente.
async en una solicitud de imagen debe ser un valor booleano. webhook_url y
webhook_events_filter solo pueden usarse con async: true.Campos estándar de imagen
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 imágenes
Cuando termine la tarea de imagen, solicita cadaoutput[].content_url del objeto de tarea multimedia:
/ai/v1/images/{id}/content/{result_id}. El objeto de tarea multimedia no expone result_id por separado, por lo que el cliente puede usar directamente content_url.
Cuando b64_json no esté vacío, puede descodificarse directamente desde Base64.
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.
Cómo funciona la recuperación de LLM tras una interrupción
La recuperación de LLM tras una interrupción permite obtener la respuesta final después de que el cliente se desconecte. El método de solicitud, el comportamiento de streaming y el formato de respuesta permanecen sin cambios. Tampoco se devuelve un ID de tarea por anticipado al iniciar la solicitud. Deben cumplirse todas las condiciones siguientes:
La plataforma solo crea una tarea de recuperación y guarda el JSON o SSE final cuando detecta que la respuesta no se ha entregado por completo y que el cliente se ha desconectado. Las solicitudes LLM que terminan con normalidad y se entregan por completo al cliente no crean tareas de recuperación.
Los encabezados de respuesta LLM contienen
X-Aihubmix-Request-Id. El cliente debe guardar este valor lo antes posible para localizar la solicitud correspondiente en la consola. La API pública de tareas no permite actualmente filtrar por ID de solicitud; las tareas LLM recientes pueden consultarse por modelo y hora de creación:
output unificado de una tarea LLM contiene type=response, content_type, content_url y truncated. GET /ai/v1/tasks/{id}/content devuelve el JSON o SSE original guardado.
Respuestas y códigos de error
Esta sección se aplica a/ai/v1/images/*, /ai/v1/videos/* y a las tareas multimedia
con object=image u object=video en /ai/v1/tasks/*. El cliente debe gestionar tanto
las respuestas HTTP distintas de 2xx como el estado terminal HTTP 200 con status=failed.
Enviar comentarios sobre errores HTTP 5xx
Si la solicitud devuelve HTTP
5xx, envía comentarios e incluye error.tid.Errores HTTP distintos de 2xx
Las filasinvalid_request y schema_violation muestran mensajes de respaldo. Cuando el servicio
puede identificar un campo o una restricción, devuelve un message dinámico; el cliente debe usar
code para clasificar el error y no comparar message con un texto fijo.
El
message de media_form_unsupported se genera a partir de una causa confirmada:
Por ejemplo, si un modelo admite PNG, JPEG, WebP, HEIC y HEIF, una imagen GIF devuelve:
HTTP 200 + Task con status=failed
Una consulta correcta no implica que la generación haya terminado correctamente. Cuando la tarea
tiene status=failed, el cliente obtiene la causa de error.code y error.message:
Ejemplo completo de video
Preguntas frecuentes
¿Las tareas multimedia deben consultarse mediante/ai/v1/tasks/{id} o mediante el endpoint de detalles multimedia?
Usa el endpoint de detalles multimedia para sondear el estado de generación: /ai/v1/images/{id} para imágenes y /ai/v1/videos/{id} para videos. /ai/v1/tasks/{id} devuelve una instantánea de solo lectura.
¿Por qué seconds en una solicitud de video devuelve un error de parámetros?
El protocolo estándar de /ai/v1/videos usa el entero duration, expresado en segundos. Los valores permitidos dependen de los parámetros compatibles con el modelo correspondiente.
¿Por qué resolution devuelve un error de parámetros con algunos modelos de video?
El protocolo de video estándar incluye resolution y size, pero cada modelo restringe los campos. Por ejemplo, wan2.6-t2v usa size y no acepta resolution.
¿Cómo se recupera una tarea multimedia si se pierde la respuesta de creación?
Solicita GET /ai/v1/images para imágenes o GET /ai/v1/videos para videos. Las listas admiten los parámetros de paginación after, limit y order.
¿Por qué los dos endpoints de detalles tienen campos output diferentes?
Los endpoints de detalles multimedia proporcionan los campos simplificados necesarios para la descarga directa. Los endpoints de tareas unificadas también proporcionan result_id y content_type, además de truncated para respuestas LLM archivadas.
¿Qué debo hacer si no se recibe un Webhook?
Confirma que la URL de devolución de llamada sea accesible públicamente y devuelva 2xx con rapidez. Después, consulta el estado final mediante el endpoint de detalles multimedia.
Última actualización: 2026-08-12