Hailuo 2.3 Fast
MiniMax Hailuo 2.3 Fast anima una imagen de primer fotograma desde una instrucción breve de movimiento. Elige este perfil de imagen a video para una toma de producto, pose de personaje o imagen de storyboard.
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.
MiniMax Hailuo 2.3 Fast es el perfil Fast específico para generación de imagen a video. Parte de una imagen de primer fotograma compuesta y describe cómo debe moverse sujeto o cámara. Una foto de producto, pose de personaje o fotograma de storyboard da un punto de partida visual concreto.
Preparar la imagen y el encargo de movimiento
Aporta una imagen cuadrada PNG o JPEG mediante URL HTTPS, con cada lado entre 300 y 4,096 píxeles. El archivo descargado no debe superar 20,000,000 bytes. Mantén la instrucción entre 1 y 199 caracteres, centrada en una acción visible y el movimiento relevante.
Seguir el clip hasta completarse
Este perfil está configurado para un clip MP4 de 768 × 768 y duración nominal de seis segundos. Envía la solicitud una vez, guarda el ID devuelto y sigue esa solicitud original hasta completarse. Descarga el video y conserva dimensiones informadas y duración medida con el resultado. Si la creación es incierta, sigue consultando la solicitud original en vez de crearla de nuevo.
Ailoot Ultra · Video POST /v1/videos MiniMax-Hailuo-2.3-Fast
MiniMax-Hailuo-2.3-FastInicio
MiniMax Hailuo 2.3 Fast anima una imagen de primer fotograma desde una instrucción breve de movimiento. Elige este perfil de imagen a video para una toma de producto, pose de personaje o imagen de storyboard.
- Entradas aceptadas
- Texto · Imágenes
- Resultados
- Video
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Video POST /v1/videos
- Entrada
text,image- Salida
video- Formato de salida
- mp4
- Número de salidas
- Hasta 1 salida
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites MiniMax-Hailuo-2.3-Fast | Predeterminado— |
Campoprompt | Tipostring | RequisitoObligatorio | Valores y límites Longitud mínima: 1 Longitud máxima: 199 Unidad: caracteres Unicode | Predeterminado— |
Campoduration | Tipointeger | RequisitoObligatorio | Valores y límites 6 Unidad: segundos | Predeterminado— |
Camporesolution | Tipostring | RequisitoObligatorio | Valores y límites 768P | Predeterminado— |
Campofirst_frame_image | Tipohttps_url | RequisitoObligatorio | Valores y límites Máximo de bytes del archivo: 20,000,000 Tipos MIME: image/png, image/jpeg Dimensión mínima: 300 Dimensión máxima: 4,096 Solo cuadrado: Sí | Predeterminado— |
Combinaciones de materiales de entrada
Imagen a video · Obligatorio: prompt, first_frame_image
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, prompt, duration, resolution, first_frame_image |
Parámetroother_options | Contratofalse |
Parámetroduration | Contrato6 |
Parámetroresolution | Contrato768P |
Parámetroprompt_max_characters | Contrato199 |
Parámetrofirst_frame_image | Contrato{"type":"https_url","format":["png","jpeg"],"dimensions":"imagen cuadrada de 300..4096 píxeles","full_image_validation_before_send":true,"maximum_file_bytes":20000000} |
Parámetromaterial_types | Contratotext, image |
Parámetroadditional_properties | Contratofalse |
Alias de método: /v1/videos/generations, /videos, /videos/generations
Ciclo de vida: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/videos/generations/{request_id}/content
Crea una sola vez y guarda el ID devuelto.
Consulta periódicamente el estado original; conserva cada recurso completado y su duración.
Tarifas
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo fast
- Sin especificar Cuando se selecciona el modo fast
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento usa el ajuste default
Tarifas de Ailoot
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 | Duración nominal del clip, segundos | Resolución | Unidad de facturación | Cargo |
|---|---|---|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Duración nominal del clip, segundos— | Resolución— | Unidad de facturación— | Cargo Entrada · Tokens de entrada — / 1K tokens Salida · Tokens de salida — / 1K tokens Entrada · Lectura de caché — / 1K tokens Entrada · Escritura en caché — / 1K tokens Entrada · Escritura en caché, 1 hora — / 1K tokens |
| ConfiguraciónUltra | Tabla de tarifas— | Duración nominal del clip, segundos6 | Resolución768P | Unidad de facturaciónpor clip de salida de duración nominal 6s | Cargo Salida · clip de salida nominal de 6s $0.4 por clip de salida de duración nominal 6s |
Ailoot reserva un monto 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 cotizaciones ni los cargos. Los cargos aplicados usan las tarifas del método Ailoot seleccionado.
MiniMax-Hailuo-2.3-Fast
Precios por configuración
| Configuración | Condiciones de facturación | Cargo |
|---|---|---|
| ConfiguraciónMiniMax-Hailuo-2.3-Fast · Configuración predeterminada | Condiciones de facturaciónConfiguración predeterminada | Cargo Entrada · Entrada USD 0.00 por llamada Salida · Salida USD 0.40 por llamada |
MiniMax-Hailuo-2.3-Fast
Precios por configuración
| Configuración | Condiciones de facturación | Cargo |
|---|---|---|
| ConfiguraciónMiniMax-Hailuo-2.3-Fast · Configuración predeterminada | Condiciones de facturaciónConfiguración predeterminada | Cargo Entrada · Entrada USD 0.00 por llamada Salida · Salida USD 0.80 por llamada |
MiniMax-Hailuo-2.3-Fast
Precios por configuración
| Configuración | Condiciones de facturación | Cargo |
|---|---|---|
| ConfiguraciónMiniMax-Hailuo-2.3-Fast · Configuración predeterminada | Condiciones de facturaciónConfiguración predeterminada | Cargo Entrada · Entrada USD 0.00 por llamada Salida · Salida USD 0.80 por llamada |
Solicitudes de ejemplo
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URL:?Set the actual HTTPS first-frame image URL}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "MiniMax-Hailuo-2.3-Fast", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 6, "resolution": "768P"}')
from urllib.parse import urlsplit
u=os.environ["AILOOT_IMAGE_URL"]
z=urlsplit(u)
if z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Choose the actual HTTPS first-frame image URL")
p["first_frame_image"]=u
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
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
Recibir y guardar resultados
Ailoot Ultra · Video
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_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 videos completados o archivos recibidos; descarga cada URL de archivo que se haya devuelto.
El arreglo data[] completado contiene todas las URL firmadas de contenido que te pertenece. Recupera cada URL devuelta o usa el endpoint de contenido con index establecido en un índice real de salida. Un trabajo original fallido puede devolver charge_pending_check; verifica ese trabajo original en lugar de crearlo nuevamente.
Si es necesario revisar la respuesta original
Consulta el trabajo original existente; nunca repitas un envío de resultado desconocido.
Máximo de salidas: 1.
Campos de respuesta
| Campo | Tipo | Significado |
|---|---|---|
Campoid | Tipostring | Significado— |
Campoobject | Tipostring | Significado— |
Campomodel | Tipostring | Significado— |
Campostatus | Tipostring | Significado— |
Campodata[] | Tiposigned content URL | Significado— |
Campocharge_pending_check | Tipoboolean | Significado— |
Campoerror.code | Tipostring | Significado— |
Campoerror.message | Tipostring | Significado— |
Camporequested_nominal_duration_seconds | Tipointeger | Significado— |
Campomeasured_duration_seconds | Tiponumber | Significado— |
Campowidth | Tipointeger | Significado— |
Campoheight | Tipointeger | Significado— |
Campooperation_id | Tipostring | SignificadoSe devuelve cuando status=unknown; ID público real de la operación de video original |
Camporequest_id | Tipostring | SignificadoOpcional cuando status=unknown; solo se devuelve si la tarea original tiene un ID de solicitud |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta400 · invalid_request_error | CondiciónFalla la lectura del cuerpo sin procesar de la solicitud antes de analizar el perfil de video | Siguiente pasoConserva la respuesta devuelta y corrige el cuerpo ilegible de la solicitud. |
Respuesta422 · price_unavailable | CondiciónFalla el análisis del perfil exacto de video o el perfil completo analizado no tiene una ficha exacta de precios lista | Siguiente pasoConserva la respuesta; usa el perfil completo y exacto admitido y su ficha publicada. Esta rama se ejecuta antes de enviar al proveedor. |
Respuesta409 · video_not_ready | CondiciónEl contenido del resultado original todavía no está disponible | Siguiente pasoConsulta periódicamente el ID original devuelto y respeta Retry-After. |
Respuestaserver_error | CondiciónLa respuesta devuelta indica que la operación o el resultado requiere una revisión | Siguiente pasoConserva el ID original de operación o tarea devuelto, los encabezados de la solicitud y la respuesta; continúa con las consultas admitidas de esa operación original. No vuelvas a enviar la solicitud de creación. |
Respuesta200 · video_result_unverified | CondiciónSe desconoce el estado de la tarea Fast original; status=unknown y charge_pending_check=true | Siguiente pasoConserva el id/operation_id real devuelto y el request_id opcional; consulta únicamente la tarea original. Nunca vuelvas a enviarla. |
Alias
Alias del modelo
Ailoot Ultra MiniMax-Hailuo-2.3-Fast
Alias de rutas de métodos
/v1/videos/generations, /videos, /videos/generations
ID de modelo relacionados
FAQ · Hailuo 2.3 Fast
- ¿Qué entradas y resultados están disponibles?
POST /v1/videos·MiniMax-Hailuo-2.3-Fast:text,image→video- ¿Qué campos utiliza la solicitud?
POST /v1/videos·MiniMax-Hailuo-2.3-Fast:model,prompt,duration,resolution,first_frame_image- ¿Qué límites se aplican?
POST /v1/videos·MiniMax-Hailuo-2.3-Fast:prompt.maximum_length:199