Source: https://ailoot.ai/models/fr/minimax-hailuo-2-3/
Canonical: https://ailoot.ai/models/fr/minimax-hailuo-2-3/
Language: fr

# MiniMax-Hailuo-2.3

[Markdown](https://ailoot.ai/models/fr/minimax-hailuo-2-3/index.md) · [JSON](https://ailoot.ai/models/fr/minimax-hailuo-2-3/facts.json)

## [MiniMax-Hailuo-2.3](https://ailoot.ai/models/fr/minimax-hailuo-2-3/)

MiniMax Hailuo 2.3 crée des vidéos à partir de texte ou d’une image de départ, avec des contrôles de mouvement et de direction de caméra. Choisissez six secondes en 768P ou 1080P, ou dix secondes en 768P, pour des interprétations de personnages, des scènes stylisées et des plans de produits à examiner et à monter.

- [**Ailoot · Vidéo** `POST /v1/videos/generations` `MiniMax-Hailuo-2.3`](https://ailoot.ai/models/fr/minimax-hailuo-2-3/#method-0)
- [**Ailoot Ultra · Vidéo** `POST /v1/videos` `MiniMax-Hailuo-2.3`](https://ailoot.ai/models/fr/minimax-hailuo-2-3/#method-1)

À 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 est un modèle de génération vidéo doté de modes à partir de texte ou d’une image. Il s’appuie sur Hailuo 02 en mettant l’accent sur l’action physique, le style visuel, les micro-expressions des personnages et la réponse aux consignes de mouvement. Fournissez une scène écrite pour créer un plan de toutes pièces, ou utilisez une image de départ pour définir la vue d’ouverture et décrire le mouvement qui suit.

L’interprétation physique est l’un des principaux domaines d’amélioration de cette édition. Hailuo 2.3 vise à rendre les mouvements du corps plus fluides et maîtrisés, y compris dans les scènes où la caméra se déplace. Préparez l’action importante avant d’ajouter des détails décoratifs. Un personnage qui soulève un objet, se tourne vers une autre personne ou traverse une pièce donne au plan un événement visible à évaluer. Déterminez le mouvement qui porte l’histoire, puis gardez les consignes environnantes cohérentes avec lui.

La stylisation est un autre axe. Le modèle permet de travailler dans les styles anime et illustration, ainsi que dans des styles tels que la peinture au lavis et les images de synthèse de jeux vidéo. Décrivez le traitement visuel souhaité et gardez une apparence cohérente avec la scène. Si une image de départ définit déjà un style de dessin, utilisez le texte pour guider l’animation au lieu d’introduire une description concurrente du dessin du personnage. Examinez tout le clip pour vérifier que ce traitement reste lisible pendant le mouvement.

Le modèle se concentre aussi sur le jeu du visage et les changements d’expression subtils. Préparez un plan de personnage autour de la réaction importante : remarquer un objet, devenir curieux ou répondre par un petit sourire. Une vue rapprochée peut faciliter l’évaluation de ce changement, tandis qu’une grande suite de gestes peut en détourner l’attention. Vérifiez le visage avant, pendant et après la réaction au lieu de juger uniquement une image fixe représentative.

Le mouvement des objets est utile pour les scènes centrées sur un produit. Un brief peut montrer un petit vase en céramique qui tourne sous une lumière latérale chaude pendant que la caméra s’en approche progressivement. Identifiez les propriétés qui doivent rester reconnaissables, telles que la silhouette, le bord et la finition de surface. Vérifiez ces détails pendant le mouvement, car une atmosphère convaincante ne suffit pas à établir une vue fidèle du produit.

Pour la génération à partir de texte, la description obligatoire peut contenir jusqu’à 2 000 caractères. Énoncez le sujet, l’action, le décor et le style visuel dans un ordre cohérent. La génération à partir d’une image exige une image initiale, avec une description facultative de 2 000 caractères au maximum. L’image fixe la composition d’ouverture : préparez donc le sujet et le cadrage avant de demander le mouvement. Laissez de l’espace visible là où un bras, un objet ou un personnage doivent se déplacer.

L’image de départ accepte JPG, JPEG, PNG ou WebP, doit être inférieure à 20 Mo, avoir un côté court supérieur à 300 pixels et un rapport largeur/hauteur compris entre 2:5 et 5:2. Elle peut être fournie sous forme d’URL d’image publique ou d’URL de données Base64. Choisissez une image d’ouverture claire au lieu de compter sur l’animation pour réparer un visage masqué ou une action déjà recadrée.

Hailuo 2.3 génère à 24 images par seconde. Un plan de six secondes peut utiliser la 768P ou la 1080P ; un plan de dix secondes utilise la 768P. Les réglages par défaut sont six secondes et la 768P. Choisissez la durée en fonction de l’action à voir : une brève réaction peut tenir dans un plan court, tandis qu’un mouvement plus lent demande davantage de place. Consultez la largeur et la hauteur réelles du résultat terminé lorsque vous placez le clip dans un montage, car une étiquette de résolution ne définit pas à elle seule tout le cadrage.

Les consignes de caméra peuvent utiliser des commandes entre crochets. Les contrôles disponibles couvrent le travelling latéral, le panoramique horizontal, l’avancée de caméra, le déplacement vertical de caméra, le panoramique vertical, le zoom, les secousses, le suivi et le plan fixe. Une commande telle que \[Push in\] dirige l’approche ; les commandes regroupées dans les mêmes crochets agissent ensemble, tandis que les commandes placées dans l’ordre décrivent une séquence. MiniMax recommande au maximum trois commandes simultanées. Gardez le mouvement de caméra compatible avec l’action du sujet pour que l’événement principal reste facile à suivre.

L’optimisation automatique du prompt est activée par défaut et peut être désactivée pour mieux contrôler la formulation fournie. Le prétraitement rapide facultatif réduit le temps d’optimisation lorsque celle-ci est activée ; il s’agit d’un réglage distinct du choix du modèle Hailuo 2.3 Fast. Hailuo 2.3 standard prend en charge les deux modes de création, tandis que Fast est l’édition distincte de génération à partir d’une image. Choisissez l’édition selon que le projet commence par du texte seul ou par une image existante.

Le processus de génération renvoie un identifiant de tâche asynchrone, puis indique les étapes de préparation, de mise en file d’attente, de traitement, de réussite ou d’échec. En cas de réussite, le résultat fournit un identifiant de fichier et les dimensions réelles de la vidéo, puis la vidéo terminée est récupérée pour téléchargement. Sauvegardez le clip pendant que son adresse de téléchargement est valide. La référence actuelle de téléchargement vidéo du producteur donne à l’URL renvoyée une durée de vie d’une heure. Pour une séquence montée, conservez chaque plan avec son prompt et son image de départ afin que la direction créative choisie reste traçable lors des révisions.

Vérifiez l’action, la continuité physique, les détails du visage ou du produit, le style visuel et le comportement de la caméra dans le clip sauvegardé. Regardez tout le plan, puis examinez son début et sa fin, là où il sera raccordé à d’autres séquences. Si la requête contient trop de mouvements concurrents, simplifiez l’action principale ; si la conception d’ouverture manque de clarté, améliorez l’image de départ. Sélectionnez un plan qui communique l’événement souhaité, puis ajoutez la narration, les titres et les transitions dans le processus de montage.

**Ailoot · Vidéo** `POST /v1/videos/generations` `MiniMax-Hailuo-2.3`

[`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/fr/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos)

MiniMax /`MiniMax-Hailuo-2.3`

### Premiers pas

MiniMax Hailuo 2.3 crée des vidéos à partir de texte ou d’une image de départ, avec des contrôles de mouvement et de direction de caméra. Choisissez six secondes en 768P ou 1080P, ou dix secondes en 768P, pour des interprétations de personnages, des scènes stylisées et des plans de produits à examiner et à monter.

Entrées acceptées

Texte · Images

Résultats

Vidéo

### Disponible dans Ailoot · entrées et méthodes

**Ailoot · Vidéo** `POST /v1/videos/generations`

Types d’entrée

`text`, `image`

Types de sortie

`video`

Format de sortie

mp4

| Champ | Type | Exigence | Valeurs et limites | Par défaut |
| --- | --- | --- | --- | --- |
| Champ`model` | Type`string` | ExigenceObligatoire | Valeurs et limites MiniMax-Hailuo-2.3 | Par défaut— |
| Champ`prompt` | Type`string` | ExigenceObligatoire | Valeurs et limites Longueur minimale: 1 Longueur maximale: 2 000 Unité: caractères Unicode | Par défaut— |
| Champ`duration` | Type`integer` | ExigenceFacultatif | Valeurs et limites 6, 10 Conditions: 10 secondes nécessitent une résolution de 768P Unité: secondes | Par défaut6 |
| Champ`resolution` | Type`string` | ExigenceFacultatif | Valeurs et limites 768P, 1080P Conditions: 1080P nécessite 6 secondes | Par défaut768P |
| Champ`first_frame_image` | Type`https_url\|data_image_url` | ExigenceFacultatif | Valeurs et limites Nombre maximal d’octets décodés: 20 971 520 Types MIME: image/jpeg, image/png, image/webp Dimension minimale (exclue): 300 Plage des rapports d’aspect: 2:5, 5:2 | Par défaut— |
| Champ`prompt_optimizer` | Type`boolean` | ExigenceFacultatif | Valeurs et limites | Par défaut— |
| Champ`fast_pretreatment` | Type`boolean` | ExigenceFacultatif | Valeurs et limites | Par défaut— |

Combinaisons d’éléments d’entrée

**Image vers vidéo** · Obligatoire : prompt, first\_frame\_image

**Texte vers vidéo** · Obligatoire : prompt

Paramètres et cycle de vie de la méthode

| Paramètre | Contrat |
| --- | --- |
| Paramètre`material_types` | Contrattext, image |
| Paramètre`required` | Contratnull |
| Paramètre`optional_controls` | Contratnull |

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`

Les structures des méthodes et les identifiants sont exacts ; la capacité du fournisseur est distincte de l’admission.

### Tarifs

#### Tarifs des méthodes Ailoot

Sortie

0,28 USD *par vidéo de 6 s en 768p*

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 →](https://ailoot.ai/docs/fr/billing/reserve/)

#### 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

#### Prix par configuration

| Configuration | Conditions de facturation | Coût |
| --- | --- | --- |
| ConfigurationMiniMax-Hailuo-2.3 · Configuration par défaut | Conditions de facturationConfiguration par défaut | Coût Entrée · Entrée **0,00 USD** par appel Sortie · Sortie **0,60 USD** par appel |

MiniMax-Hailuo-2.3

#### Prix par configuration

| Configuration | Conditions de facturation | Coût |
| --- | --- | --- |
| ConfigurationMiniMax-Hailuo-2.3 · Configuration par défaut | Conditions de facturationConfiguration par défaut | Coût Entrée · Entrée **0,00 USD** par appel Sortie · Sortie **1,20 USD** par appel |

MiniMax-Hailuo-2.3

#### Prix par configuration

| Configuration | Conditions de facturation | Coût |
| --- | --- | --- |
| ConfigurationMiniMax-Hailuo-2.3 · Configuration par défaut | Conditions de facturationConfiguration par défaut | Coût Entrée · Entrée **0,00 USD** par appel Sortie · Sortie **1,20 USD** par appel |

### Exemples de requêtes

#### Ailoot · Vidéo

Exemple de vidéo

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl https://api.ailoot.ai/v1/videos/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "MiniMax-Hailuo-2.3", "prompt": "A person walks slowly through a quiet garden as the camera tracks from the side.", "duration": 6, "resolution": "768P"}'
```

### Recevoir et enregistrer les résultats

#### Ailoot · Vidéo

mp4

- `GET /v1/videos/{request_id}`
- `GET /v1/videos/generations/{request_id}`
- `GET /v1/videos/{request_id}/content`
- `GET /v1/videos/generations/{request_id}/content`

##### Vérifier l’état de la tâche

GET état

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_VIDEO_ID
video_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ["AILOOT_VIDEO_ID"], safe=""))') || exit 1
curl "https://api.ailoot.ai/v1/videos/generations/$video_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY"
```

Autres lectures de contenu

GET contenu

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_VIDEO_ID
video_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ["AILOOT_VIDEO_ID"], safe=""))') || exit 1
curl "https://api.ailoot.ai/v1/videos/generations/$video_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  --output video.mp4
```

##### 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.

Conservez chaque élément de data et chaque index de sortie renvoyés. content\_url correspond uniquement au premier ; récupérez chaque chemin de contenu et chaque ressource réels. GET sur le contenu sans index ne renvoie pas toutes les sorties.

##### Si la réponse d’origine doit être vérifiée

Consultez la tâche d’origine existante ; ne soumettez jamais à nouveau un envoi dont l’issue est inconnue.

Champs de la réponse

| Champ | Type |
| --- | --- |
| Champ`id` | Typestring |
| Champ`object` | Typestring |
| Champ`model` | Typestring |
| Champ`status` | Typestring |
| Champ`content_url` | Typesigned URL |
| Champ`data[]` | Typesigned URL |
| Champ`usage` | Typeobject |
| Champ`result_pending_check` | Typeboolean |

Erreurs et étapes suivantes

| Réponse | Condition | Étape suivante |
| --- | --- | --- |
| Réponse400 · `invalid_request_error` | ConditionChamps obligatoires, représentation des contenus ou valeur de paramètre non valides | Étape suivanteCorrigez les champs indiqués avant une nouvelle requête de création. |
| Réponse409 · `video_not_ready` | ConditionLe contenu du résultat d’origine n’est pas encore disponible | Étape suivanteInterrogez l’identifiant d’origine renvoyé et respectez Retry-After. |
| Réponse`server_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. |

### Alias

#### Alias du modèle

<strong>Ailoot</strong> [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/fr/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos)
**Ailoot Ultra** [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/fr/#m=MiniMax-Hailuo-2.3&route=Ultra&caller=MiniMax-Hailuo-2.3&fmt=videos)

#### Alias des chemins de méthode

`/v1/videos/generations`, `/videos`, `/videos/generations`

#### ID d’appel associés

[`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/fr/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos), [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/fr/#m=MiniMax-Hailuo-2.3&route=Ultra&caller=MiniMax-Hailuo-2.3&fmt=videos)

**Ailoot Ultra · Vidéo** `POST /v1/videos` `MiniMax-Hailuo-2.3`

[`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/fr/#m=MiniMax-Hailuo-2.3&route=Ultra&caller=MiniMax-Hailuo-2.3&fmt=videos)

MiniMax /`MiniMax-Hailuo-2.3`

### Premiers pas

MiniMax Hailuo 2.3 crée des vidéos à partir de texte ou d’une image de départ, avec des contrôles de mouvement et de direction de caméra. Choisissez six secondes en 768P ou 1080P, ou dix secondes en 768P, pour des interprétations de personnages, des scènes stylisées et des plans de produits à examiner et à monter.

Entrées acceptées

Texte

Résultats

Vidéo

### Disponible dans Ailoot · entrées et méthodes

**Ailoot Ultra · Vidéo** `POST /v1/videos`

Types d’entrée

`text`

Types de sortie

`video`

Format de sortie

mp4

Nombre de sorties

Jusqu’à 1 sortie

| Champ | Type | Exigence | Valeurs et limites | Par défaut |
| --- | --- | --- | --- | --- |
| Champ`model` | Type`string` | ExigenceObligatoire | Valeurs et limites MiniMax-Hailuo-2.3 | Par défaut— |
| Champ`prompt` | Type`string` | ExigenceObligatoire | Valeurs et limites Longueur minimale: 1 Longueur maximale: 2 000 Conditions: Pour 768P : au plus 2000 points de code Unicode. Pour 1080P : moins de 200 points de code Unicode (maximum 199). La consigne doit contenir au moins un caractère qui ne soit pas un caractère d’espacement. Unité: caractères Unicode | Par défaut— |
| Champ`duration` | Type`integer` | ExigenceObligatoire | Valeurs et limites 6 Unité: secondes | Par défaut— |
| Champ`resolution` | Type`string` | ExigenceObligatoire | Valeurs et limites 768P, 1080P | Par défaut— |

Combinaisons d’éléments d’entrée

**Texte vers vidéo** · Obligatoire : prompt

Paramètres et cycle de vie de la méthode

| Paramètre | Contrat |
| --- | --- |
| Paramètre`content_type` | Contratapplication/json |
| Paramètre`required` | Contratmodel, prompt, duration, resolution |
| Paramètre`other_options` | Contratfalse |
| Paramètre`duration` | Contrat6 |
| Paramètre`resolution` | Contrat768P, 1080P |
| Paramètre`prompt_max_characters` | Contrat2000 |
| Paramètre`material_types` | Contrattext |
| Paramètre`prompt_max_characters_by_resolution` | Contrat{"768P":2000,"1080P":199} |

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é.

Interrogez le statut 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 par jeton | 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ésolution1080P | 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 **$1.2** par clip de sortie d’une durée nominale de 6s |
| 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.6** 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 →](https://ailoot.ai/docs/fr/billing/reserve/)

#### 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

#### Prix par configuration

| Configuration | Conditions de facturation | Coût |
| --- | --- | --- |
| ConfigurationMiniMax-Hailuo-2.3 · Configuration par défaut | Conditions de facturationConfiguration par défaut | Coût Entrée · Entrée **0,00 USD** par appel Sortie · Sortie **0,60 USD** par appel |

MiniMax-Hailuo-2.3

#### Prix par configuration

| Configuration | Conditions de facturation | Coût |
| --- | --- | --- |
| ConfigurationMiniMax-Hailuo-2.3 · Configuration par défaut | Conditions de facturationConfiguration par défaut | Coût Entrée · Entrée **0,00 USD** par appel Sortie · Sortie **1,20 USD** par appel |

MiniMax-Hailuo-2.3

#### Prix par configuration

| Configuration | Conditions de facturation | Coût |
| --- | --- | --- |
| ConfigurationMiniMax-Hailuo-2.3 · Configuration par défaut | Conditions de facturationConfiguration par défaut | Coût Entrée · Entrée **0,00 USD** par appel Sortie · Sortie **1,20 USD** par appel |

### Exemples de requêtes

#### Ailoot Ultra · Vidéo

curlcurl · 1080P / 6 secondes

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "MiniMax-Hailuo-2.3", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 6, "resolution": "768P"}')

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
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "MiniMax-Hailuo-2.3", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 6, "resolution": "1080P"}')

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}/content`
- `GET /v1/videos/generations/{request_id}/content`

##### Vérifier l’état de la tâche

GET état

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
```

##### Enregistrer toutes les ressources terminées

GET toutes les ressources terminées

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
```

Autres lectures de contenu

GET contenu

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
```

##### 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 signées de contenu vous appartenant. Récupérez chaque URL renvoyée, ou utilisez le point de terminaison de contenu avec index défini sur un index de sortie réel. Une tâche d’origine en échec peut renvoyer charge\_pending\_check ; vérifiez cette même tâche d’origine au lieu de la créer à nouveau.

##### Si la réponse d’origine doit être vérifiée

Consultez la tâche d’origine existante ; ne soumettez jamais à nouveau un envoi dont l’issue est inconnue.

Nombre maximal de sorties : 1.

Champs de la réponse

| Champ | Type |
| --- | --- |
| Champ`id` | Typestring |
| Champ`object` | Typestring |
| Champ`model` | Typestring |
| Champ`status` | Typestring |
| Champ`data[]` | Typesigned content URL |
| Champ`charge_pending_check` | Typeboolean |
| Champ`error.code` | Typestring |
| Champ`error.message` | Typestring |
| Champ`requested_nominal_duration_seconds` | Typeinteger |
| Champ`measured_duration_seconds` | Typenumber |
| Champ`width` | Typeinteger |
| Champ`height` | Typeinteger |

Erreurs et étapes suivantes

| Réponse | Condition | Étape suivante |
| --- | --- | --- |
| Réponse400 · `invalid_request_error` | ConditionChamps obligatoires, représentation des contenus ou valeur de paramètre non valides | Étape suivanteCorrigez les champs indiqués avant une nouvelle requête de création. |
| Réponse409 · `video_not_ready` | ConditionLe contenu du résultat d’origine n’est pas encore disponible | Étape suivanteInterrogez l’identifiant d’origine renvoyé et respectez Retry-After. |
| Réponse`server_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. |

### Alias

#### Alias du modèle

<strong>Ailoot</strong> [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/fr/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos)
**Ailoot Ultra** [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/fr/#m=MiniMax-Hailuo-2.3&route=Ultra&caller=MiniMax-Hailuo-2.3&fmt=videos)

#### Alias des chemins de méthode

`/v1/videos/generations`, `/videos`, `/videos/generations`

#### ID d’appel associés

[`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/fr/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos), [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/fr/#m=MiniMax-Hailuo-2.3&route=Ultra&caller=MiniMax-Hailuo-2.3&fmt=videos)

FAQ · MiniMax-Hailuo-2.3

Quelles entrées et quels résultats sont disponibles ?

`POST /v1/videos/generations` · `MiniMax-Hailuo-2.3`: `text`, `image` → `video` `POST /v1/videos` · `MiniMax-Hailuo-2.3`: `text` → `video`

Quels champs la requête utilise-t-elle ?

`POST /v1/videos/generations` · `MiniMax-Hailuo-2.3`: `model`, `prompt`, `duration`, `resolution`, `first_frame_image`, `prompt_optimizer`, `fast_pretreatment` `POST /v1/videos` · `MiniMax-Hailuo-2.3`: `model`, `prompt`, `duration`, `resolution`

Quelles limites s’appliquent ?

`POST /v1/videos/generations` · `MiniMax-Hailuo-2.3`: `prompt.maximum_length`: `2000` `POST /v1/videos` · `MiniMax-Hailuo-2.3`: `prompt.maximum_length`: `2000`

Connectez Ailoot à Claude Code, OpenCode, Hermes ou à votre application.

## L’entreprise et son portefeuille de projets

L’entreprise et son portefeuille de projets : des millions de clients ; des ventes qui se chiffrent en milliards chaque mois.

## Achetez des tokens à prix réduit.

Une remise d’abonnement pour le travail régulier. Des codes promo jusqu’à 50% sur l’achat de tokens.

Abonnement

Choisissez une offre à tarif réduit pour vos requêtes régulières.

Code promo jusqu’à 50%

Saisissez le code à l’achat. Le prix est recalculé selon la promotion en cours.

Dépenses dans l’historique

Modèle, tokens et montant sont enregistrés pour chaque requête.

[Choisir un abonnement](https://ailoot.ai/docs/fr/billing/subscriptions/) · [Voir les prix des modèles](https://ailoot.ai/models/fr/)

## Connectez l’API au produit que vous vendez.

SaaS, applications et bots selon l’offre officielle et le contrat de licence Ailoot. Pour la revente, demandez une licence revendeur.

Application commerciale

Intégrez la génération de texte, d’images, de vidéo et de son aux fonctions payantes de votre service.

Licence revendeur

Envoyez la description du projet et le mode d’accès. Demandez des conditions écrites d’utilisation et de revente.

Documents sur le site

L’offre officielle, le contrat de licence et la politique de traitement des données sont accessibles avant connexion.

[Demander une licence revendeur](mailto:support@ailoot.ai) · [Offre officielle et contrat de licence](https://ailoot.ai/legal/offer?lang=fr)

## Ailoot · L’entreprise et son portefeuille de projets





Ailoot s’appuie sur une expérience opérationnelle éprouvée, une large clientèle, un service stable et un suivi continu des KPI.





L’entreprise et son portefeuille de projets : des millions de clients ; des ventes qui se chiffrent en milliards chaque mois.





Ailoot met cette expérience opérationnelle au service de l’accès API aux fonctions d’IA dans les produits des clients, leurs agents, applications et automatisations.
