Hailuo 2.3 Fast
MiniMax Hailuo 2.3 Fast anima una imagen de primer fotograma a partir de una instrucción breve de movimiento. Elija este perfil de imagen a vídeo para un plano de producto, una pose de personaje o una imagen fija de guion gráfico.
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 con nombre propio para generación de imagen a vídeo. Comience con una imagen compuesta de primer fotograma y describa cómo deben moverse el sujeto o la cámara. Una imagen fija de producto, una pose de personaje o un fotograma de guion gráfico dan al plano un punto de partida visual concreto.
Preparar la imagen y el encargo de movimiento
Proporcione una imagen cuadrada PNG o JPEG mediante una URL HTTPS, con cada lado entre 300 y 4096 píxeles. El archivo de imagen descargado no debe superar 20 000 000 bytes. Mantenga la instrucción entre 1 y 199 caracteres, centrada en una acción visible y en el movimiento relevante para el plano.
Seguir el clip hasta completarse
Este perfil está configurado para un clip MP4 de 768 × 768 con duración nominal de seis segundos. Envíe la solicitud una sola vez, guarde el ID devuelto y siga esa solicitud original hasta que termine. Descargue el vídeo devuelto y conserve con el resultado sus dimensiones informadas y su duración medida. Si el resultado de creación es incierto, siga comprobando la solicitud original, en lugar de crearla de nuevo.
Ailoot Ultra · Vídeo POST /v1/videos MiniMax-Hailuo-2.3-Fast
MiniMax-Hailuo-2.3-FastPrimeros pasos
MiniMax Hailuo 2.3 Fast anima una imagen de primer fotograma a partir de una instrucción breve de movimiento. Elija este perfil de imagen a vídeo para un plano de producto, una pose de personaje o una imagen fija de guion gráfico.
- 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
- 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: 4096 Solo cuadrado: Sí | Predeterminado— |
Combinaciones de materiales de entrada
Imagen a vídeo · 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":"cuadrado 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 todos los recursos completados y sus duraciones.
Planes
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 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 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.
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 0,00 US$ por llamada Salida · Salida 0,40 US$ 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 0,00 US$ por llamada Salida · Salida 0,80 US$ 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 0,00 US$ por llamada Salida · Salida 0,80 US$ por llamada |
Solicitudes de ejemplo
Ailoot Ultra · Vídeo
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 · Vídeo
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 vídeos completados o archivos recibidos; descarga cada URL de archivo que se haya devuelto.
data[] completado contiene todas las URL firmadas de contenido bajo tu titularidad. Recupera cada URL devuelta o utiliza el endpoint de contenido con index establecido en un índice real de salida. Un trabajo original fallido puede devolver charge_pending_check; comprueba ese trabajo original en lugar de crearlo de nuevo.
Si es necesario revisar la respuesta original
Consulta el trabajo original existente; no vuelvas a enviar nunca 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 vídeo 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ónNo se puede leer el cuerpo sin procesar de la solicitud antes de analizar el perfil de vídeo | Siguiente pasoConserva la respuesta devuelta y corrige el cuerpo ilegible de la solicitud. |
Respuesta422 · price_unavailable | CondiciónNo se puede analizar el perfil exacto de vídeo, o el perfil completo analizado no tiene una ficha de precios exacta lista para usar | Siguiente pasoConserva la respuesta; utiliza el perfil admitido exacto y completo y su ficha publicada. Esta rama se ejecuta antes del envío al proveedor. |
Respuesta409 · video_not_ready | CondiciónEl contenido del resultado original aún 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 comprobación | Siguiente pasoConserva el ID original de operación o tarea devuelto, las cabeceras de la solicitud y la respuesta; continúa con las lecturas 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 los id/operation_id reales devueltos y el request_id opcional; consulta solo la tarea original. No vuelvas a enviarla nunca. |
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