MiniMax H3
Générez avec MiniMax H3 des clips de 4 à 15 secondes avec son en 768P ou 2K : texte vers vidéo, première et dernière image, et références vers vidéo, au format de requête officiel de MiniMax, livrés sous forme de tâche.
MiniMax H3 (Hailuo 03) est le modèle vidéo multimodal de MiniMax. Une seule requête crée l'image et le son ensemble : un clip de 4 à 15 secondes en 768P ou 2K avec ses propres dialogues, son d'ambiance et effets. Le corps de requête suit le format officiel de MiniMax avec l'ID de modèle minimax-h3. Envoyez-le, conservez l'identifiant de tâche renvoyé et récupérez la vidéo terminée dans la tâche. Les images clés et les références sont transmises sous forme d'URL.
ID de modèle
| ID de modèle | Entrées | Résolutions | Durée |
|---|---|---|---|
minimax-h3 | texte, première et dernière image, images, vidéos et audio de référence | 768P, 2K | 4 à 15 secondes |
Consultez la page du modèle pour les prix actuels.
Exemple rapide
curl https://api.seedrouter.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax-h3",
"content": [
{"type": "text", "text": "A small sailboat glides across a calm turquoise bay at sunrise, seagulls in the distance, the sound of water and wind. No text, no logos."}
],
"resolution": "768P",
"duration": 5,
"ratio": "16:9"
}'Point de terminaison
POST https://api.seedrouter.ai/v1/videos/generations| En-tête | Valeur |
|---|---|
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | application/json |
La réponse est une tâche ({"id": "task_...", "status": "processing"}), pas la vidéo terminée. Interrogez GET /v1/tasks/{task_id} pour obtenir le résultat. Conservez les clés API dans du code côté serveur.
Paramètres
| Champ | Type | Par défaut | Remarques |
|---|---|---|---|
model | string | requis | minimax-h3 |
content | array | requis | Le prompt et les éventuels médias, sous forme des éléments décrits ci-dessous. Exactement un élément text non vide. |
resolution | enum | requis | 768P ou 2K. |
duration | integer | requis | Tout entier de 4 à 15 secondes. |
ratio | enum | selon l'entrée | adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16. Obligatoire avec le texte seul, où adaptive n'est pas accepté. |
content_filter | boolean | true | Le filtre de contenu de SeedRouter, décrit ci-dessous. N'est pas envoyé au modèle. |
Le schéma est strict : les champs inconnus sont rejetés au lieu d'être ignorés. callback_url n'est pas disponible ; interrogez plutôt la tâche. extra appartient à MiniMax-H3-Max et n'est pas accepté pour ce modèle.
Éléments de content
type | Élément | role |
|---|---|---|
text | {"type": "text", "text": "..."}, jusqu'à 7 000 caractères | aucun |
image_url | {"type": "image_url", "image_url": {"url": "https://..."}, "role": "..."} | first_frame, last_frame ou reference_image |
video_url | {"type": "video_url", "video_url": {"url": "https://..."}, "role": "reference_video"} | reference_video |
audio_url | {"type": "audio_url", "audio_url": {"url": "https://..."}, "role": "reference_audio"} | reference_audio |
Une seule image sans role est la première image. Avec plus d'une image, chaque image doit avoir un role.
Modes
Ce sont les éléments de content qui déterminent le mode ; il n'y a pas de champ de mode.
| Mode | content contient | ratio |
|---|---|---|
| Texte vers vidéo | un élément text | obligatoire, pas adaptive |
| Image vers vidéo | text plus une image first_frame et/ou last_frame | toute valeur est traitée comme adaptive : l'image fixe le format |
| Références vers vidéo | text plus toute combinaison de jusqu'à 9 éléments reference_image, 3 reference_video et 3 reference_audio | facultatif, adaptive par défaut |
Les images clés et les références ne peuvent pas être combinées dans une même requête.
{
"model": "minimax-h3",
"content": [
{"type": "text", "text": "The person in the photo speaks to camera: Follow the wind. Voice follows the reference audio."},
{"type": "image_url", "image_url": {"url": "https://example.com/person.jpg"}, "role": "reference_image"},
{"type": "audio_url", "audio_url": {"url": "https://example.com/voice.mp3"}, "role": "reference_audio"}
],
"resolution": "2K",
"duration": 6
}Entrées média
Chaque élément image, vidéo et audio est une URL HTTP(S) publique. Les data URI en base64 et les identifiants mm_file:// ne sont pas acceptés : téléversez le fichier sur votre propre stockage et transmettez son URL.
| Entrée | Format | Limites |
|---|---|---|
| Image | JPG, JPEG, PNG, WebP, HEIC, HEIF | 30 Mo maximum ; chaque côté de 256 à 5760 px ; largeur / hauteur de 0,4 à 2,5 |
| Vidéo | MP4, MOV (H.264 ou H.265) | 50 Mo maximum ; de 2 à 15 secondes chacune, 15 secondes au total ; chaque côté de 256 à 5760 px ; largeur / hauteur de 0,4 à 2,5 ; de 23,976 à 60 fps |
| Audio | WAV, MP3 | 15 Mo maximum ; de 2 à 15 secondes chacun, 15 secondes au total |
Les vidéos de référence sont mesurées à l'acceptation de la requête ; une vidéo dont la durée ne peut pas être lue est refusée sans aucun frais. Les autres limites sont vérifiées avant la génération, et une requête qui en enfreint une échoue sans frais.
Filtre de contenu
content_filter vaut true sauf si vous le définissez. Avec le filtre activé, le texte, chaque image et trois images de chaque vidéo de référence (la première, celle du milieu et la dernière) sont vérifiés avant l'exécution du modèle. Une requête signalée échoue avec le code 60001 et n'est pas facturée ; il en va de même pour une requête qui ne peut pas être vérifiée. L'audio de référence n'est pas vérifié. Réglez content_filter sur false pour ignorer la vérification ; le Playground du site le laisse toujours activé.
Facteurs de coût
Consultez la section des prix du modèle pour les tarifs actuels. MiniMax H3 est facturé à la seconde de vidéo, à un tarif fixé par la résolution de sortie, plus les images en entrée au-delà des cinq premières :
billed seconds = duration + ceil(Σ each reference video's seconds)
extra images = max(0, number of images − 5)
cost = billed seconds × rate per second + extra images × rate per imageLes premières images, les dernières images et les images de référence comptent toutes comme des images. L'audio de référence n'est pas facturé. Les deux quantités sont connues à l'acceptation de la requête, si bien que le montant réservé est le montant facturé. Consultez les frais définitifs dans l'historique d'utilisation de votre compte. Les tâches échouées ne sont pas facturées.
Schéma de sortie
L'envoi renvoie la tâche :
{"id": "task_...", "model": "minimax-h3", "status": "processing", "created_at": 1789689600}Récupérer la tâche
GET https://api.seedrouter.ai/v1/tasks/{task_id}Interrogez toutes les 10 à 20 secondes jusqu'à ce que status vaille completed ou failed. Un dépassement de délai réseau pendant l'interrogation ne signifie pas que la génération a échoué : conservez l'identifiant de tâche et reprenez la vérification. Ne créez pas une autre tâche pour vérifier l'avancement.
Tâche terminée
{
"id": "task_...",
"model": "minimax-h3",
"status": "completed",
"created_at": 1789689600,
"finished_at": 1789689740,
"output": {
"video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4",
"resolution": "768P",
"ratio": "16:9",
"duration": 5
}
}ratio est le format d'image dans lequel le clip a été créé, y compris celui choisi pour adaptive. Lors de notre test, un clip de 4 secondes en 768P au format 16:9 est revenu au format MP4 (H.264) en 1344 × 768 à 24 fps, avec une piste AAC stéréo à 32 kHz.
Erreurs
Les requêtes rejetées avant la création d'une tâche renvoient une erreur HTTP avec un objet error et ne sont pas facturées. Une tâche qui échoue après acceptation renvoie HTTP 200 lorsqu'on l'interroge, avec status: "failed" et un objet error.
Voir le catalogue d'erreurs commun pour les codes, les statuts HTTP et les conseils de reprise.
{
"id": "task_...",
"model": "minimax-h3",
"status": "failed",
"error": {
"code": 60001,
"message": "the request was blocked by content moderation"
}
}Si l'envoi lui-même dépasse le délai, vérifiez vos tâches avant de renvoyer : la première requête a peut-être été acceptée.
Conseils
- Décrivez le plan et son son ensemble : sujet, lieu, caméra, lumière, dialogues et effets.
- Écrivez les dialogues dans le prompt et joignez un extrait audio de référence quand la voix doit le suivre.
- Faites un brouillon en
768P, puis générez le plan final en2Kavec la même requête. - Utilisez une première et une dernière image pour contrôler où un plan commence et se termine ; utilisez des références pour conserver un produit, une personne ou un mouvement.
- Ajoutez
no text, no logospour éviter les marques inventées.
