Hailuo 2.3 Fast
MiniMax Hailuo 2.3 Fast anime une image initiale à partir d’un court prompt de mouvement. Choisissez ce profil de génération de vidéo à partir d’une image pour un plan de produit, une pose de personnage ou une image fixe de storyboard.
À propos du modèle
Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.
MiniMax Hailuo 2.3 Fast est le profil nommé Fast de génération de vidéo à partir d’une image. Commencez par une image initiale composée et décrivez le mouvement souhaité du sujet ou de la caméra. Une photo de produit, une pose de personnage ou une image de storyboard donne au plan un point de départ visuel concret.
Préparer l’image et le brief de mouvement
Fournissez une image carrée PNG ou JPEG via une URL HTTPS, avec chaque côté compris entre 300 et 4 096 pixels. Le fichier image téléchargé ne doit pas dépasser 20 000 000 octets. Gardez un prompt de 1 à 199 caractères, concentré sur une action visible et le mouvement important pour le plan.
Suivre le clip jusqu’à son achèvement
Ce profil est configuré pour un clip MP4 unique de 768 × 768 pixels avec une durée nominale de six secondes. Envoyez la requête une seule fois, conservez l’identifiant renvoyé et suivez cette requête originale jusqu’à son achèvement. Téléchargez la vidéo renvoyée et conservez ses dimensions indiquées et sa durée mesurée avec le résultat. Si l’issue de la création est incertaine, continuez de vérifier la requête originale au lieu de la créer de nouveau.
Ailoot Ultra · Vidéo POST /v1/videos MiniMax-Hailuo-2.3-Fast
MiniMax-Hailuo-2.3-FastPremiers pas
MiniMax Hailuo 2.3 Fast anime une image initiale à partir d’un court prompt de mouvement. Choisissez ce profil de génération de vidéo à partir d’une image pour un plan de produit, une pose de personnage ou une image fixe de storyboard.
- Entrées acceptées
- Texte · Images
- Résultats
- Vidéo
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Vidéo POST /v1/videos
- Entrée
text,image- Sortie
video- Format de sortie
- mp4
- Nombre de sorties
- Jusqu’à 1 sortie
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites MiniMax-Hailuo-2.3-Fast | Par défaut— |
Champprompt | Typestring | ExigenceObligatoire | Valeurs et limites Longueur minimale: 1 Longueur maximale: 199 Unité: caractères Unicode | Par défaut— |
Champduration | Typeinteger | ExigenceObligatoire | Valeurs et limites 6 Unité: secondes | Par défaut— |
Champresolution | Typestring | ExigenceObligatoire | Valeurs et limites 768P | Par défaut— |
Champfirst_frame_image | Typehttps_url | ExigenceObligatoire | Valeurs et limites Taille maximale du fichier, en octets: 20'000'000 Types MIME: image/png, image/jpeg Dimension minimale: 300 Dimension maximale: 4'096 Carré uniquement: Oui | Par défaut— |
Combinaisons d’éléments d’entrée
Image vers vidéo · Obligatoire : prompt, first_frame_image
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, prompt, duration, resolution, first_frame_image |
Paramètreother_options | Contratfalse |
Paramètreduration | Contrat6 |
Paramètreresolution | Contrat768P |
Paramètreprompt_max_characters | Contrat199 |
Paramètrefirst_frame_image | Contrat{"type":"https_url","format":["png","jpeg"],"dimensions":"carré de 300..4096 pixels","full_image_validation_before_send":true,"maximum_file_bytes":20000000} |
Paramètrematerial_types | Contrattext, image |
Paramètreadditional_properties | Contratfalse |
Alias de méthode : /v1/videos/generations, /videos, /videos/generations
Cycle de vie : 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
Créez une seule fois et enregistrez l’identifiant renvoyé.
Consultez périodiquement l’état d’origine ; conservez chaque ressource terminée et sa durée.
Tarifs
Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.
- Mode rapide
- Non précisé Lorsque le mode rapide est sélectionné
- Mode Flex
- Non précisé Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)
Tarifs Ailoot
Prix par configuration
Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.
| Configuration | Barème tarifaire | Durée nominale du clip, en secondes | Résolution | Unité de facturation | Coût |
|---|---|---|---|---|---|
| ConfigurationTarifs de base des jetons | Barème tarifaireTarif de base | Durée nominale du clip, en secondes— | Résolution— | Unité de facturation— | Coût Entrée · Tokens en entrée — / 1K tokens Sortie · Tokens en sortie — / 1K tokens Entrée · Lecture du cache — / 1K tokens Entrée · Écriture dans le cache — / 1K tokens Entrée · Écriture dans le cache, 1 h — / 1K tokens |
| ConfigurationUltra | Barème tarifaire— | Durée nominale du clip, en secondes6 | Résolution768P | Unité de facturationpar clip de sortie d’une durée nominale de 6s | Coût Sortie · clip de sortie d’une durée nominale de 6s $0.4 par clip de sortie d’une durée nominale de 6s |
Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →
Détails du tarif de référence
Les barèmes de référence du modèle ne modifient ni la sélection de méthode, ni les devis, ni les coûts. Les frais actifs utilisent les tarifs de la méthode Ailoot sélectionnée.
MiniMax-Hailuo-2.3-Fast
Prix par configuration
| Configuration | Conditions de facturation | Coût |
|---|---|---|
| ConfigurationMiniMax-Hailuo-2.3-Fast · Configuration par défaut | Conditions de facturationConfiguration par défaut | Coût Entrée · Entrée 0.00 USD par appel Sortie · Sortie 0.40 USD par appel |
MiniMax-Hailuo-2.3-Fast
Prix par configuration
| Configuration | Conditions de facturation | Coût |
|---|---|---|
| ConfigurationMiniMax-Hailuo-2.3-Fast · Configuration par défaut | Conditions de facturationConfiguration par défaut | Coût Entrée · Entrée 0.00 USD par appel Sortie · Sortie 0.80 USD par appel |
MiniMax-Hailuo-2.3-Fast
Prix par configuration
| Configuration | Conditions de facturation | Coût |
|---|---|---|
| ConfigurationMiniMax-Hailuo-2.3-Fast · Configuration par défaut | Conditions de facturationConfiguration par défaut | Coût Entrée · Entrée 0.00 USD par appel Sortie · Sortie 0.80 USD par appel |
Exemples de requêtes
Ailoot Ultra · Vidéo
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
Recevoir et enregistrer les résultats
Ailoot Ultra · Vidéo
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Vérifier l’état de la tâche
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
Autres lectures de contenu
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
Conserver tous les résultats terminés
Enregistrez chaque vidéo terminée ou fichier renvoyé ; récupérez chaque URL de ressource effectivement renvoyée.
Une fois la tâche terminée, data[] contient toutes les URL de contenu signées dont vous êtes propriétaire. Récupérez chaque URL renvoyée, ou utilisez le point de terminaison de contenu avec index défini sur un indice réel de sortie. Une tâche d’origine en échec peut renvoyer charge_pending_check ; vérifiez cette tâche d’origine au lieu de la recréer.
Si la réponse d’origine doit être vérifiée
Consultez la tâche d’origine existante ; ne répétez jamais un envoi dont l’issue est inconnue.
Nombre maximal de sorties : 1.
Champs de la réponse
| Champ | Type | Signification |
|---|---|---|
Champid | Typestring | Signification— |
Champobject | Typestring | Signification— |
Champmodel | Typestring | Signification— |
Champstatus | Typestring | Signification— |
Champdata[] | Typesigned content URL | Signification— |
Champcharge_pending_check | Typeboolean | Signification— |
Champerror.code | Typestring | Signification— |
Champerror.message | Typestring | Signification— |
Champrequested_nominal_duration_seconds | Typeinteger | Signification— |
Champmeasured_duration_seconds | Typenumber | Signification— |
Champwidth | Typeinteger | Signification— |
Champheight | Typeinteger | Signification— |
Champoperation_id | Typestring | SignificationRenvoyé lorsque status=unknown ; identifiant public réel de l’opération vidéo d’origine |
Champrequest_id | Typestring | SignificationFacultatif lorsque status=unknown ; renvoyé uniquement si la tâche d’origine possède un identifiant de requête |
Erreurs et étapes suivantes
| Réponse | Condition | Étape suivante |
|---|---|---|
Réponse400 · invalid_request_error | ConditionLa lecture du corps brut de la requête échoue avant l’analyse du profil vidéo | Étape suivanteConservez la réponse renvoyée et corrigez le corps illisible de la requête. |
Réponse422 · price_unavailable | ConditionL’analyse du profil vidéo exact échoue, ou le profil complet analysé ne dispose d’aucune fiche tarifaire exacte prête à l’emploi | Étape suivanteConservez la réponse ; utilisez le profil autorisé exact et complet, ainsi que sa fiche publiée. Cette branche est exécutée avant l’envoi au fournisseur. |
Réponse409 · video_not_ready | ConditionLe contenu du résultat d’origine n’est pas encore disponible | Étape suivanteConsultez périodiquement l’identifiant d’origine renvoyé et respectez Retry-After. |
Réponseserver_error | ConditionLa réponse renvoyée indique que l’opération ou le résultat nécessite une vérification | Étape suivanteConservez l’identifiant d’opération/de tâche initialement renvoyé, les en-têtes de la requête et la réponse ; poursuivez les lectures prises en charge de cette opération d’origine. Ne soumettez pas à nouveau la requête de création. |
Réponse200 · video_result_unverified | ConditionL’état de la tâche Fast d’origine est inconnu ; status=unknown et charge_pending_check=true | Étape suivanteConservez les valeurs id/operation_id effectivement renvoyées et le request_id facultatif ; consultez uniquement la tâche d’origine. Ne renvoyez jamais la demande. |
Alias
Alias du modèle
Ailoot Ultra MiniMax-Hailuo-2.3-Fast
Alias des chemins de méthode
/v1/videos/generations, /videos, /videos/generations
ID d’appel associés
FAQ · Hailuo 2.3 Fast
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/videos·MiniMax-Hailuo-2.3-Fast:text,image→video- Quels champs la requête utilise-t-elle ?
POST /v1/videos·MiniMax-Hailuo-2.3-Fast:model,prompt,duration,resolution,first_frame_image- Quelles limites s’appliquent ?
POST /v1/videos·MiniMax-Hailuo-2.3-Fast:prompt.maximum_length:199