
Cómo usar la API de MiniMax H3 Max para texto e imagen a vídeo
POST a https://api.evolink.ai/v1/videos/generations, guarda el id de la tarea devuelto y consulta GET /v1/tasks/{task_id} hasta que la tarea se complete. Usa minimax-h3-max-text-to-video para trabajos de solo prompt. Usa minimax-h3-max-image-to-video cuando proporciones un primer fotograma, un último fotograma o ambos.Esta guía sigue el camino más corto hasta una solicitud correcta y después añade validación, consulta de estado, callback, almacenamiento y respaldo para producción. Hasta que se publiquen las páginas de documentación específicas de H3 Max, verifica los campos exactos en el contrato de ruta activo de la página del modelo.
Crea una clave API de EvoLink, consulta la estimación en vivo en la página del modelo MiniMax H3 Max y ten a mano la guía H3 Max vs H3 si tu flujo de trabajo puede necesitar 2K o referencias más amplias.
Requisitos previos
Antes de hacer la primera solicitud, confirma:
| Requisito | Qué necesitas | Fallo habitual |
|---|---|---|
| Cuenta de EvoLink | Una cuenta con saldo de créditos suficiente | 402 cuota insuficiente |
| Clave API | Una clave creada en /dashboard/keys | 401 token no válido o caducado |
| Acceso al modelo | Acceso al ID de modelo H3 Max seleccionado | 403 acceso al modelo denegado |
| Contrato de entrada | Solo prompt para T2V; al menos un fotograma para I2V | 400 solicitud no válida |
| Gestor asíncrono | Un bucle de consulta o un endpoint de callback HTTPS | La tarea se crea pero el resultado nunca se entrega |
| Almacenamiento duradero | Un destino donde copiar los MP4 completados | La URL del resultado caduca a las 24 horas |
EVOLINK_API_KEY. No la expongas en código del navegador, repositorios públicos, registros ni capturas de pantalla.Elige el ID de modelo correcto de H3 Max
| Si tu entrada es... | ID de modelo | Campos multimedia permitidos |
|---|---|---|
| Solo prompt de texto | minimax-h3-max-text-to-video | Ninguno |
| Primer fotograma | minimax-h3-max-image-to-video | image_start |
| Último fotograma | minimax-h3-max-image-to-video | image_end |
| Primer y último fotograma | minimax-h3-max-image-to-video | image_start, image_end |
image_start, image_end, image_urls, video_urls y audio_urls. La ruta de imagen a vídeo requiere al menos uno de image_start o image_end y rechaza los arrays de referencias generales.Paso 1: haz una solicitud de texto a vídeo
https://api.evolink.ai. Envía la clave API como token Bearer y usa JSON.curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header "Authorization: Bearer $EVOLINK_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "minimax-h3-max-text-to-video",
"prompt": "A premium running shoe rotates on a clean studio pedestal while soft daylight moves across the fabric. Slow camera push-in, realistic material detail, no text or logos added.",
"duration": 5,
"quality": "768p",
"aspect_ratio": "16:9"
}'Los parámetros principales de T2V son:
| Parámetro | Regla | Primera prueba recomendada |
|---|---|---|
model | Debe ser el ID de modelo T2V | minimax-h3-max-text-to-video |
prompt | Obligatorio, de 1 a 7.000 caracteres, en chino o inglés | Una escena, una acción principal, dirección de cámara explícita |
duration | Entero de 5 a 15; por defecto 5 | 5 |
quality | 480p o 768p; por defecto 768p | 768p para revisión de aceptación, 480p para exploración más barata |
aspect_ratio | 21:9, 16:9, 4:3, 1:1, 3:4 o 9:16; por defecto 16:9 | Ajústalo al canal de entrega |
callback_url | Endpoint HTTPS público opcional | Añádelo cuando la primera prueba de consulta funcione |
id; es el valor que se usa en la URL de estado.{
"id": "task-unified-1774857405-abc123",
"model": "minimax-h3-max-text-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"type": "video"
}200 correcto significa que la tarea fue aceptada, no que el recurso esté completo.Paso 2: haz una solicitud de imagen a vídeo con primer/último fotograma
image_start, image_end o ambos. Este ejemplo define el inicio y el final de una breve presentación de producto.curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header "Authorization: Bearer $EVOLINK_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "minimax-h3-max-image-to-video",
"prompt": "The camera makes a slow half-orbit as the box opens and the product rises smoothly. Preserve the packaging shape, colors, and lighting; end exactly on the supplied final composition.",
"image_start": "https://cdn.example.com/h3-max/start.webp",
"image_end": "https://cdn.example.com/h3-max/end.webp",
"duration": 8,
"quality": "768p"
}'aspect_ratio. La salida sigue las proporciones de la imagen de entrada. Prepara el primer y el último fotograma con dimensiones y composición coincidentes siempre que sea posible; las grandes diferencias geométricas pueden dificultar la transición solicitada.Cada imagen suministrada debe usar una URL HTTP(S) accesible directamente y cumplir el contrato actual:
- JPG, JPEG, PNG, WEBP, HEIC o HEIF.
- Máximo 30 MB por imagen.
- Ancho y alto entre 256 y 5.760 píxeles.
- Relación ancho/alto de 0,4 a 2,5.
- Como máximo un primer fotograma y un último fotograma.
- Cuerpo JSON completo no superior a 64 MB; no se aceptan Base64 ni
mm_file://.
Paso 3: consulta el estado de la tarea
Consulta la tarea con el mismo token Bearer:
curl --request GET \
--url "https://api.evolink.ai/v1/tasks/task-unified-1774857405-abc123" \
--header "Authorization: Bearer $EVOLINK_API_KEY"pending, processing, completed o failed. Cuando se completa, el array results contiene la URL del recurso generado.{
"id": "task-unified-1774857405-abc123",
"model": "minimax-h3-max-text-to-video",
"object": "video.generation.task",
"progress": 100,
"status": "completed",
"results": ["https://files.example.com/generated-video.mp4"],
"type": "video"
}Una política de consulta sencilla debería usar un backoff exponencial acotado con jitter en lugar de consultar de forma continua. Por ejemplo: empieza cerca de los dos segundos, crece hasta los 10-15 segundos, detente en un plazo definido por la aplicación y permite que un worker posterior reanude usando el ID de tarea almacenado. El contrato de la API no ofrece cancelación para H3 Max, por lo que un timeout del cliente no debe confundirse con una cancelación en el proveedor.
Paso 4: añade un callback para producción
callback_url al payload de creación:{
"model": "minimax-h3-max-text-to-video",
"prompt": "A cinematic overhead shot of a city block transitioning from morning to night.",
"duration": 5,
"quality": "768p",
"aspect_ratio": "16:9",
"callback_url": "https://api.example.com/webhooks/evolink/video"
}El contrato actual de EvoLink exige HTTPS, rechaza destinos con IP privada, espera hasta 10 segundos y reintenta un callback fallido hasta tres veces. Tu gestor debería:
- Autenticar la solicitud con el mecanismo de verificación configurado en tu aplicación.
- Usar el ID de tarea como clave de idempotencia.
- Devolver una respuesta 2xx rápidamente.
- Trasladar las descargas y el postprocesado pesado a una cola.
- Conciliar el estado del callback con el endpoint de la tarea antes de la entrega final al cliente cuando sea necesario.
Mantén la consulta de estado disponible como vía de recuperación. Los webhooks pueden retrasarse, ser rechazados por la política de red o procesarse dos veces por la infraestructura de la aplicación.
Valida las solicitudes antes del envío
| Validación | T2V | I2V |
|---|---|---|
| Prompt no vacío | Obligatorio | Obligatorio |
| Duración | Entero de 5-15 | Entero de 5-15 |
| Calidad | 480p o 768p | 480p o 768p |
| Relación de aspecto | Seis relaciones explícitas; sin adaptive | Omitir; sigue la de la imagen de entrada |
| Primer/último fotograma | Rechazado | Al menos uno obligatorio |
| Referencias generales | Rechazadas | Rechazadas |
| Campos desconocidos | Rechazados | Rechazados |
4, 15.5, "5", auto ni campos no admitidos en una solicitud válida. Devuelve un error de validación estructurado al llamador para que el producto no cree una estimación para un trabajo que la API va a rechazar.Gestiona los errores por categoría
| HTTP/estado | Significado | Respuesta en producción |
|---|---|---|
400 | Campo no válido, entrada no admitida o valor incorrecto | Corrige la solicitud; no reintentes sin cambios |
401 | Clave ausente, no válida o caducada | Detente y repara la autenticación |
402 | Cuota insuficiente | Alerta o redirige a un flujo de facturación aprobado |
403 | Acceso al modelo denegado | Comprueba el acceso de la cuenta al modelo; no rotes claves a ciegas |
429 | Límite de tasa alcanzado | Reintenta con backoff exponencial y control de cola |
500 | Error temporal del servicio | Reintenta dentro de una política acotada y después usa el respaldo |
Tarea failed | La generación asíncrona falló | Registra el error de negocio, el contexto de la solicitud y la decisión de respaldo |
Separa los errores HTTP de los fallos de las tareas asíncronas. Una llamada de creación puede tener éxito y la generación fallar más tarde. Registra el ID de tarea, la ruta, la clase de entrada, la duración, la calidad, el estado final, el código de error, el número de reintentos y el resultado del respaldo, sin registrar secretos ni URLs de origen sensibles.
Diseña la transferencia a producción
Guarda la relación entre solicitud y tarea
Crea tu propio ID de trabajo antes del envío. Guarda el ID de tarea de EvoLink, el ID de modelo, los parámetros normalizados, el ID de cliente/espacio de trabajo, las marcas de tiempo y el estado de entrega. Esto hace posibles los reintentos, la auditoría y el soporte incluso si un worker se reinicia.
Descarga los resultados completados con prontitud
Las URLs de resultados de H3 Max están disponibles durante 24 horas. Copia los resultados aceptados a un almacenamiento duradero y registra el checksum o la clave del objeto. No conviertas la URL temporal de origen en el recurso permanente del cliente.
Haz explícitos los reintentos
No envíes una nueva generación porque una solicitud de consulta haya agotado el tiempo de espera. Consulta primero el ID de tarea almacenado. Crea una nueva tarea solo cuando la original haya alcanzado un fallo terminal y tu política de reintentos permita otro intento facturado.
Enruta los trabajos incompatibles antes de la llamada
Mide la salida aceptada
Haz seguimiento de:
- tasa de éxito de las tareas y latencia de finalización;
- aceptación al primer intento y tasa de reintentos;
- coste por clip aceptado;
- adherencia al prompt, a la identidad y a los fotogramas clave;
- tasa de moderación y de solicitudes no válidas;
- frecuencia de respaldo y tasa de recuperación;
- descargas completadas antes de que caduque la URL.
Errores de integración comunes
| Error | Resultado | Solución |
|---|---|---|
| Enviar fotogramas al ID de modelo T2V | 400 solicitud no válida | Selecciona el modelo I2V antes de construir el payload |
| No enviar ningún fotograma a I2V | 400 solicitud no válida | Exige image_start o image_end |
Pasar adaptive a T2V | Solicitud rechazada | Usa una de las seis relaciones de aspecto explícitas |
Pasar aspect_ratio a I2V | Solicitud rechazada | Deriva la relación de entrega del fotograma de origen |
| Solicitar 2K o cuatro segundos | Solicitud rechazada | Usa un valor admitido por H3 Max o enruta a H3 |
Tratar el 200 de creación como finalización | Salida ausente | Persiste el ID de tarea y espera a un estado terminal |
| Reintentar tras un timeout de consulta | Tareas facturadas duplicadas | Reanuda la tarea original antes de crear otra |
| Conservar solo la URL del resultado | El recurso desaparece a las 24 horas | Descárgalo a un almacenamiento duradero |
| Eliminar campos no admitidos en silencio | El brief cambia sin consentimiento del usuario | Rechaza de forma clara o enruta a un modelo compatible |
Lista de comprobación para la puesta en producción
- La clave API está en el servidor y puede rotarse.
- T2V e I2V usan esquemas de validación separados.
- La duración, la calidad, la relación de aspecto y los límites de imagen se aplican localmente.
- El
idde la respuesta de creación se guarda antes de que el worker termine. - La consulta de estado usa backoff acotado y puede reanudarse.
- La gestión de callbacks es idempotente y la consulta de estado sigue disponible.
- Los MP4 completados se copian en un plazo de 24 horas.
- Los registros separan errores de solicitud, fallos de tarea y rechazos en revisión.
- Los precios provienen de la página del modelo o del servicio de precios actual, no de un valor fijo tomado del blog.
- H3 y un respaldo independiente están probados para trabajos incompatibles o fallidos.
Preguntas frecuentes
¿Qué endpoint usa MiniMax H3 Max en EvoLink?
POST https://api.evolink.ai/v1/videos/generations. Consulta la tarea devuelta con GET https://api.evolink.ai/v1/tasks/{task_id}.¿Qué ID de modelo debo usar?
minimax-h3-max-text-to-video para entrada de solo prompt. Usa minimax-h3-max-image-to-video cuando suministres un primer fotograma, un último fotograma o ambos.¿La API de H3 Max es síncrona?
completed o failed.¿Puedo generar un vídeo de cuatro segundos con H3 Max?
No. La duración admitida es un entero de 5 a 15 segundos. MiniMax H3, no H3 Max, admite el límite inferior de cuatro segundos en EvoLink.
¿Puedo usar solo un último fotograma?
Sí. El modelo de imagen a vídeo acepta solicitudes con solo primer fotograma, solo último fotograma y con primer y último fotograma.
¿Puedo enviar imágenes en Base64?
mm_file://.¿Imagen a vídeo acepta una relación de aspecto?
No la envíes. La salida sigue la relación del fotograma suministrado. Prepara el fotograma de origen para el formato de entrega previsto.
¿Cuánto tiempo siguen siendo válidas las URLs de resultado?
Veinticuatro horas. Copia los MP4 completados a un almacenamiento duradero como parte del flujo de entrega.
¿Dónde debo consultar los precios actuales?
Usa la sección de precios en vivo y el estimador de la página del producto H3 Max. Evita fijar en el presupuesto de producción una tarifa tomada del blog.
Referencias de API y alcance de verificación
- Página del modelo MiniMax H3 Max y contrato de ruta actual en EvoLink
- Referencia del estado de tareas asíncronas de EvoLink
- Documentación oficial de Video Generation V2 de MiniMax


