MiniMax: H3 Max
MiniMax H3 Max es una variante H3 rápida, obtenida mediante posentrenamiento, para vídeo corto con audio sincronizado. El flujo documentado de MiniMax admite texto, imágenes de fotogramas y referencias multimodales, con salida de 480P o 768P, duración de 5–15 segundos y sus propias opciones de expansión de instrucciones.
Sobre el modelo
Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.
Una variante H3 rápida obtenida mediante posentrenamiento
MiniMax H3 Max es una variante del modelo base MiniMax H3 obtenida mediante posentrenamiento, optimizada para una generación más rápida, seguimiento de instrucciones y calidad audiovisual. La variante fue desarrollada mediante posentrenamiento por fal Research. Conserva contexto multimodal unificado e imagen y sonido sincronizados de forma nativa. La velocidad es una prioridad de diseño, no un tiempo fijo de finalización para todas las instrucciones, duraciones o aplicaciones.
Mantenga Max separado del sistema H3 original y de la variante independiente Max Turbo. La interfaz actual de MiniMax enumera Max a 480P o 768P, con 768P como valor predeterminado, 24 fotogramas por segundo y duración entera de 5 a 15 segundos. Su flujo Max documentado no ofrece el ajuste 2K del sistema H3 original ni una salida de cuatro segundos.
De una instrucción a un plano
Cada generación incluye un encargo de texto no vacío, con hasta 7000 caracteres por elemento de texto. Describa el sujeto, la composición inicial, la acción y el resultado y después deje claras las indicaciones de cámara y sonido. Para una breve revelación de objeto, identifique qué debe ver primero el espectador, cómo entra el objeto en la vista y cómo debe terminar el plano.
Un encargo útil de cinco segundos podría describir una taza de cerámica sobre una mesa de madera, una mano que coloca un platillo a su lado, un pequeño acercamiento de cámara y el sonido de la cerámica al tocar la madera. Mantenga la acción lo bastante pequeña para ajustarse a la duración seleccionada y examine si el movimiento y el sonido devueltos siguen el mismo acontecimiento.
Creación guiada por fotogramas
El fabricante documenta un fotograma inicial, uno final o ambos. Una primera imagen establece dónde comienza el clip; una última imagen establece el estado visual final. Explique el movimiento que los conecta, incluidos los cambios de pose, posición de objetos, cámara o iluminación. Para una transición de dos fotogramas, evite un encargo que introduzca una escena incompatible entre sus extremos.
La salida guiada por fotogramas obtiene su relación de aspecto de la imagen de entrada. Para trabajo solo con texto, elija una relación concreta entre 21:9, 16:9, 4:3, 1:1, 3:4 o 9:16. El trabajo guiado por referencias puede utilizar una relación adaptable o una de las opciones explícitas documentadas. Componga la referencia o la escena escrita para el encuadre de destino, en lugar de asumir que la misma disposición funciona igual de bien en vertical y horizontal.
Referencias multimodales
El esquema actual de generación Max de MiniMax también documenta imágenes, vídeo y audio de referencia. Indique en qué debe influir cada uno: identidad del personaje, entorno, patrón de movimiento, trayectoria de cámara, timbre de voz o característica sonora. Las funciones de primer y último fotograma y las de medios de referencia se excluyen mutuamente en esa interfaz.
Para un plano de personaje, identifique por separado la referencia de aspecto y la de movimiento y después proporcione la acción objetivo y la frase hablada. Una referencia de voz que establece la interpretación es distinta de copiar toda su señal de audio. Deje explícitos en el encargo los rasgos que deben conservarse y los cambios que deben realizarse, y revise el clip audiovisual real frente a cada función de referencia.
Expansión de instrucciones
El ajuste de expansión específico de Max ofrece las opciones disabled, balanced y quality, con balanced como predeterminada. Elija disabled cuando el encargo proporcionado deba pasar sin expansión; utilice un modo documentado de expansión cuando se desee interpretación adicional. Conserve el encargo original para distinguir un cambio introducido durante la expansión del contenido solicitado.
Describa el sonido como parte de la escena. Identifique sonidos físicos, ambiente y palabras habladas y sepárelos de la música de fondo que solo oye el público. Proporcione la frase exacta y el hablante previsto, en lugar de pedir diálogo sin especificar. Escuche el resultado además de verlo; una imagen convincente no demuestra que la redacción hablada o la sincronización sean correctas.
Preparación de entradas y límites
El esquema actual del fabricante acepta imágenes JPG, JPEG, PNG, WebP, HEIC o HEIF, de hasta 30 MB cada una, con lados de 256 a 5760 píxeles y relaciones de 0.4 a 2.5. Las funciones de apertura y cierre permiten una imagen cada una; el modo de referencias permite hasta nueve imágenes. Conserve una vista clara del sujeto y de los detalles que deben seguir siendo identificables.
El vídeo de referencia permite hasta tres clips MP4 o MOV, de 2–15 segundos cada uno y un máximo conjunto de 15 segundos, con un límite de 50 MB por archivo. Documenta vídeo H.264 o H.265, audio AAC o MP3, lados de 256 a 5760 píxeles, relaciones de 0.4 a 2.5 y tasa de fotogramas de 23.976 a 60. El audio de referencia permite hasta tres clips WAV o MP3, de hasta 15 MB y 2–15 segundos cada uno, con un máximo conjunto de 15 segundos. El cuerpo de la solicitud tiene un límite independiente de 64 MB.
Utilice solo referencias que contribuyan al plano e identifique cada contribución en el texto. Un clip de movimiento corto y pertinente es más fácil de utilizar como indicación que una colección larga de acontecimientos sin relación. Mantenga explícitas la duración prevista y la resolución de salida para comparar el resultado con el mismo encargo.
El resultado terminado
El flujo asíncrono del fabricante devuelve una identidad de tarea antes de que esté disponible el vídeo completado. Su interfaz de consulta recupera tareas de los siete días anteriores. Guarde el clip real devuelto y su especificación para edición o revisión posterior; un identificador de tarea no es el recurso audiovisual. Las direcciones de descarga tienen duración limitada, por lo que debe conservar el propio archivo al guardar un resultado seleccionado.
Revise la continuidad del sujeto, el movimiento, el texto visible, el diálogo y la sincronización sonora al tamaño en que se utilizará el clip. Utilice comentarios concretos para otro encargo creativo: el gesto que cambió, la frase que se omitió o el encuadre que necesita ajuste. El resultado útil es un plano audiovisual breve vinculado al contenido suministrado y a sus relaciones explícitas de referencia.
Ailoot Ultra · Vídeo POST /v1/videos minimax/hailuo-3-max
minimax/hailuo-3-maxPrimeros pasos
MiniMax H3 Max es una variante H3 rápida, obtenida mediante posentrenamiento, para vídeo corto con audio sincronizado. El flujo documentado de MiniMax admite texto, imágenes de fotogramas y referencias multimodales, con salida de 480P o 768P, duración de 5–15 segundos y sus propias opciones de expansión de instrucciones.
- Entradas aceptadas
- Texto · Imágenes
- Resultados
- Vídeo
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Vídeo POST /v1/videos
- Tipos de entrada
text,image- Tipos de salida
video- Formato de salida
- bytes MP4 originales; sin normalización ni transcodificación
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites minimax/hailuo-3-max | Predeterminado— |
Campoprompt | Tipostring | RequisitoObligatorio | Valores y límites | Predeterminado— |
Campoduration | Tipointeger | RequisitoObligatorio | Valores y límites 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Mínimo: 1 Máximo: 600 | Predeterminado— |
Camporesolution | Tipostring | RequisitoOpcional | Valores y límites 768p, 480p | Predeterminado— |
Campoaspect_ratio | Tipostring | RequisitoOpcional | Valores y límites 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 | Predeterminado— |
Campogenerate_audio | Tipoboolean | RequisitoOpcional | Valores y límites false | Predeterminado— |
Campoframe_images | Tipoarray | RequisitoOpcional | Valores y límites Número mínimo de elementos: 1 Número máximo de elementos: 2 Contenido de entrada: Lista de objetos de fotograma. Cada objeto contiene type=image_url, image_url con url y frame_type. Usa una URL HTTPS de imagen y establece frame_type en first_frame o last_frame. Cada función de fotograma aparece como máximo una vez. Claves exactas: type, image_url, frame_type Condiciones: Estas claves describen cada objeto de fotograma; image_url solo contiene url. Omite frame_images para una solicitud que solo contenga texto. | Predeterminado— |
Campoinput_references | Tipoarray | RequisitoOpcional | Valores y límites | Predeterminado— |
Campocallback_url | Tipostring | RequisitoOpcional | Valores y límites Patrón: ^https:// | Predeterminado— |
Camposession_id | Tipostring | RequisitoOpcional | Valores y límites | Predeterminado— |
Campotrace | Tipoobject | RequisitoOpcional | Valores y límites | Predeterminado— |
Campouser | Tipostring | RequisitoOpcional | Valores y límites | Predeterminado— |
Combinaciones de materiales de entrada
Texto a vídeo · Una instrucción escrita. · Obligatorio: model, prompt, duration
Proporciona prompt como texto y duration en segundos enteros. Elige una resolución compatible y, si hace falta, una relación de aspecto.
model: Tipo: string · minimax/hailuo-3-max
prompt: Tipo: string · Máximo de bytes UTF-8: 10.000 · Se requiere contenido distinto de espacios en blanco: Sí
Imagen a vídeo · Una instrucción escrita y una imagen del primer fotograma. · Obligatorio: model, prompt, duration, frame_images
frame_images es una lista. Cada objeto de fotograma incluye type, image_url y frame_type; image_url contiene url. Establece type en image_url. Usa first_frame con last_frame opcional. Cada función de fotograma aparece como máximo una vez. Proporciona una URL HTTPS pública de imagen para cada fotograma. Elige una resolución compatible y, si hace falta, una relación de aspecto.
Claves exactas: type, image_url, frame_type
model: Tipo: string · minimax/hailuo-3-max
prompt: Tipo: string · Máximo de bytes UTF-8: 10.000 · Se requiere contenido distinto de espacios en blanco: Sí
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, prompt, duration |
Parámetromaterial_types | Contratotext, image |
Parámetroadditional_properties | Contratofalse |
Parámetrooptional_controls | Contratoresolution, aspect_ratio, generate_audio, frame_images, input_references, callback_url, session_id, trace, user |
Ciclo de vida: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
Planes
Cómo se calcula el cargo definitivo
Las tarifas mostradas estiman el coste antes de la generación. El cargo final se calcula a partir del coste registrado para la generación original. La duración medida del resultado y las cantidades previstas no constituyen la cantidad facturable final.
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo rápido
- Sin especificar Cuando se selecciona el modo rápido
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento utiliza el ajuste predeterminado (default)
Tarifas estimadas para comparar
Precios por configuración
Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.
| Configuración | Tabla de tarifas | Cantidad prevista | Componente del cargo | Unidad de facturación | Condiciones de facturación | Cargo |
|---|---|---|---|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cantidad prevista— | Componente del cargo— | Unidad de facturación— | Condiciones de facturación— | Cargo Entrada · Tokens de entrada · Estimación solo para comparar — / 1K tokens Salida · Tokens de salida · Estimación solo para comparar — / 1K tokens Entrada · Lectura de caché · Estimación solo para comparar — / 1K tokens Entrada · Escritura en caché · Estimación solo para comparar — / 1K tokens Entrada · Escritura en caché, 1 hora · Estimación solo para comparar — / 1K tokens |
| ConfiguraciónSalida de vídeo · tarifa de referencia | Tabla de tarifas— | Cantidad prevista— | Componente del cargoreference_output_rate | Unidad de facturaciónpor segundo de salida | Condiciones de facturación— | Cargo Salida · Tarifa de referencia por segundo de vídeo de salida · Estimación solo para comparar $0.16 por segundo de salida |
| ConfiguraciónPrecio del vídeo | Tabla de tarifas— | Cantidad prevista— | Componente del cargo— | Unidad de facturaciónpor segundo de vídeo | Condiciones de facturaciónresolution: 480p | Cargo Salida · Precio del vídeo · Estimación solo para comparar $0.1 por segundo de vídeo |
| ConfiguraciónPrecio del vídeo | Tabla de tarifas— | Cantidad prevista— | Componente del cargo— | Unidad de facturaciónpor segundo de vídeo | Condiciones de facturaciónresolution: 768p | Cargo Salida · Precio del vídeo · Estimación solo para comparar $0.16 por segundo de vídeo |
| ConfiguraciónCoste estimado de generación | Tabla de tarifas— | Cantidad previstaestimación para una generación | Componente del cargo— | Unidad de facturación— | Condiciones de facturación— | Cargo Salida · Coste estimado de generación · Estimación solo para comparar $0.5 estimación previa a la generación Esta estimación no es un cargo adicional ni una tarifa fija para la generación completada. |
Ailoot reserva un importe estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Detalles de la tarifa de referencia
Las tablas de referencia del modelo no cambian la selección del método, las estimaciones de coste ni los cargos. Los cargos aplicados usan las tarifas del método Ailoot seleccionado.
Referencias de precios de configuraciones de vídeo
Precios por configuración
Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.
| Configuración | Condiciones de facturación | Cargo |
|---|---|---|
| ConfiguraciónPrecio del vídeo | Condiciones de facturaciónNo se declara ninguna condición adicional en esta clave de precios. | Cargo Salida · Precio del vídeo $0.16 por segundo de vídeo Referencia de precios publicada para la configuración mostrada. Los cargos finales se calculan según la configuración realmente facturada. |
| ConfiguraciónPrecio del vídeo | Condiciones de facturaciónresolution: 480p | Cargo Salida · Precio del vídeo $0.1 por segundo de vídeo Referencia de precios publicada para la configuración mostrada. Los cargos finales se calculan según la configuración realmente facturada. |
| ConfiguraciónPrecio del vídeo | Condiciones de facturaciónresolution: 768p | Cargo Salida · Precio del vídeo $0.16 por segundo de vídeo Referencia de precios publicada para la configuración mostrada. Los cargos finales se calculan según la configuración realmente facturada. |
Solicitudes de ejemplo
Ailoot Ultra · Vídeo
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":8,"model":"minimax/hailuo-3-max","prompt":"A serene mountain landscape at sunset","resolution":"480p"}', encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Recibir y guardar resultados
Ailoot Ultra · Vídeo
URL firmadas de contenido bajo tu titularidad
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
Consultar el estado de la tarea
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Otras consultas de contenido
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Conserva todos los resultados completados
Guarda todos los vídeos completados o archivos recibidos; descarga cada URL de archivo que se haya devuelto.
Conserva todos los resultados reales bajo tu titularidad y los metadatos medidos que se devuelvan.
Si es necesario revisar la respuesta original
503 result_pending_check + originalid + X-Should-Retry:false; no repitas nunca la operación original
Campos de respuesta
| Campo | Tipo | Significado |
|---|---|---|
Campoindex | Tipointeger | SignificadoPosición de este vídeo en la lista de resultados, empezando por cero. |
Campocontent_url | Tipostring | SignificadoURL HTTPS firmada de descarga de este vídeo completado. |
Camposha256 | Tipostring | null | SignificadoHuella SHA-256 de los bytes del vídeo original; null si no está disponible. |
Camposize_bytes | Tipointeger | null | SignificadoTamaño del archivo de vídeo original en bytes; null si no está disponible. |
Campoduration_ms | Tipointeger | null | SignificadoDuración medida del vídeo en milisegundos; null si no está disponible. |
Campowidth | Tipointeger | null | SignificadoAnchura del vídeo en píxeles; null si no está disponible. |
Campoheight | Tipointeger | null | SignificadoAltura del vídeo en píxeles; null si no está disponible. |
Campovideo_codec | Tipostring | null | SignificadoIdentificador del códec de vídeo; null si no se ha registrado. |
Campohas_audio | Tipoboolean | null | SignificadoIndica si el vídeo contiene una pista de audio; null si no se ha medido. |
Campoaudio_codec | Tipostring | null | SignificadoIdentificador del códec de audio; null cuando no se ha registrado ninguno. |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta404 · not_found_error | CondiciónEl acceso al vídeo no está disponible o no se ha encontrado este ID de vídeo. | Siguiente pasoComprueba el acceso al vídeo. Para un vídeo existente, usa su ID público original y la misma clave API. |
Respuesta401 · authentication_error | CondiciónLa clave API no corresponde a la cuenta autenticada. | Siguiente pasoComprueba tu clave API y el acceso de tu cuenta antes de enviar la solicitud. |
Respuesta400 · invalid_request_error | CondiciónNo se ha podido leer la solicitud o el índice de descarga no es válido. | Siguiente pasoCorrige el cuerpo de la solicitud. Para una descarga, elige un índice de salida devuelto por la tarea original. |
Respuesta422 · price_unavailable | CondiciónNo se puede calcular el precio de la configuración de vídeo seleccionada. | Siguiente pasoElige una configuración de vídeo compatible y completa sus opciones obligatorias antes de enviar una solicitud corregida. |
Respuesta422 · invalid_request_error | CondiciónUna entrada de vídeo o la tarea original de continuación no es válida. | Siguiente pasoUsa entradas HTTPS válidas. Para continuar, usa el ID público de tu vídeo original completado con la misma clave API. |
Respuesta402 · billing_error | CondiciónEl saldo disponible o los límites no permiten efectuar una reserva. | Siguiente pasoComprueba tu saldo disponible y tus límites antes de enviar una nueva solicitud. |
Respuesta503 · server_error | CondiciónLa verificación del vídeo, el almacenamiento o el acceso al servicio no están disponibles temporalmente. | Siguiente pasoEspera a que el servicio esté disponible. Si ya tienes un ID de vídeo, comprueba esa tarea original en lugar de crear otra generación. |
Respuesta503 · result_pending_check | CondiciónEs necesario comprobar el resultado del vídeo original y el cargo. | Siguiente pasoConserva el ID de vídeo devuelto y comprueba esa tarea. No envíes una solicitud de generación sustitutiva mientras se esté comprobando. |
Respuesta503 · owned_result_unavailable | CondiciónLa descarga del vídeo existente no está disponible temporalmente. | Siguiente pasoComprueba más tarde la misma tarea de vídeo y descarga su resultado existente. Una nueva generación crea una operación independiente. |
Respuesta409 · video_not_ready | CondiciónEl contenido del vídeo no se ha publicado. | Siguiente pasoComprueba el estado de la tarea original. Descarga cuando indique completed; si indica failed, sigue su aviso de comprobación del cargo. |
Alias
Alias del modelo
Ailoot Ultra minimax/hailuo-3-max
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
FAQ · MiniMax: H3 Max
- ¿Qué entradas y resultados están disponibles?
POST /v1/videos·minimax/hailuo-3-max:text,image→video- ¿Qué campos utiliza la solicitud?
POST /v1/videos·minimax/hailuo-3-max:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,callback_url,session_id,trace,user- ¿Qué límites se aplican?
POST /v1/videos·minimax/hailuo-3-max:duration.minimum:1;duration.maximum:600;frame_images.max_items:2;frame_images.min_items:1