curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "MiniMax-H3-Max",
"prompt": "Un détective en imperméable se retourne dans une rue néon sous la pluie. La caméra avance lentement.",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/videos/generations",
headers={"Authorization": "Bearer <token>", "Content-Type": "application/json"},
json={
"model": "MiniMax-H3-Max",
"prompt": "Un détective se retourne dans une rue néon sous la pluie.",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9",
},
)
print(response.json())
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
}
]
}
{
"error": {
"code": 400,
"message": "Paramètres de requête non valides",
"type": "invalid_request_error"
}
}
{
"error": {
"code": 401,
"message": "Échec de l'authentification. Vérifiez votre clé API.",
"type": "authentication_error"
}
}
{
"error": {
"code": 402,
"message": "Solde du compte insuffisant",
"type": "payment_required"
}
}
MiniMax-H3
Génération vidéo MiniMax-H3-Max
- Version rapide de MiniMax Video Generation V2 avec soumission asynchrone
- Prend en charge le texte-vers-vidéo, le contrôle des images de début/fin et les références multimodales
- Prend en charge 480P / 768P / 1080P, des durées de 5 à 15 secondes et une piste audio
- Accepte des images, vidéos et audios de référence ; sans 2K ni images intermédiaires
POST
/
v1
/
videos
/
generations
curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "MiniMax-H3-Max",
"prompt": "Un détective en imperméable se retourne dans une rue néon sous la pluie. La caméra avance lentement.",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/videos/generations",
headers={"Authorization": "Bearer <token>", "Content-Type": "application/json"},
json={
"model": "MiniMax-H3-Max",
"prompt": "Un détective se retourne dans une rue néon sous la pluie.",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9",
},
)
print(response.json())
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
}
]
}
{
"error": {
"code": 400,
"message": "Paramètres de requête non valides",
"type": "invalid_request_error"
}
}
{
"error": {
"code": 401,
"message": "Échec de l'authentification. Vérifiez votre clé API.",
"type": "authentication_error"
}
}
{
"error": {
"code": 402,
"message": "Solde du compte insuffisant",
"type": "payment_required"
}
}
Choix du modèle :
MiniMax-H3-Max convient à la génération rapide depuis un texte, au contrôle des images de début/fin et aux références multimodales en 480P, 768P ou 1080P. Pour la 2K ou les images intermédiaires, utilisez MiniMax-H3.curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "MiniMax-H3-Max",
"prompt": "Un détective en imperméable se retourne dans une rue néon sous la pluie. La caméra avance lentement.",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/videos/generations",
headers={"Authorization": "Bearer <token>", "Content-Type": "application/json"},
json={
"model": "MiniMax-H3-Max",
"prompt": "Un détective se retourne dans une rue néon sous la pluie.",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9",
},
)
print(response.json())
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
}
]
}
{
"error": {
"code": 400,
"message": "Paramètres de requête non valides",
"type": "invalid_request_error"
}
}
{
"error": {
"code": 401,
"message": "Échec de l'authentification. Vérifiez votre clé API.",
"type": "authentication_error"
}
}
{
"error": {
"code": 402,
"message": "Solde du compte insuffisant",
"type": "payment_required"
}
}
Authentification
string
requis
Tous les endpoints nécessitent un Bearer Token. Obtenez votre clé sur la page des clés API.
Authorization: Bearer YOUR_API_KEY
Choisir le bon modèle
| Capacité | MiniMax-H3 | MiniMax-H3-Max |
|---|---|---|
| Résolution | 2K / 768P, par défaut 2K | 480P / 768P / 1080P, par défaut 768P |
| Durée | 4 à 15 secondes | 5 à 15 secondes |
| Texte-vers-vidéo | Pris en charge | Pris en charge |
| Première / dernière image | Pris en charge | Pris en charge |
| Image intermédiaire | Pris en charge | Non pris en charge |
| Références multimodales | Image, vidéo et audio | Image, vidéo et audio |
| Coût des images d’entrée | 5 premières gratuites | Les 2 premières images sont gratuites ; les suivantes sont facturées par image |
| Tarif des vidéos de référence | Selon la durée en entrée, au même tarif que la sortie de même résolution | Selon la durée en entrée, à un tarif distinct |
| Filigrane AIGC | Pris en charge | Disponible en 480P / 768P ; indisponible en 1080P |
MiniMax-H3-Max ne prend pas en charge la 2K et sa sortie ne peut pas servir de source à Regeneration.Modes de génération
Les champs de la requête déterminent automatiquement le mode ; n’envoyez pas de champmode.
| Mode | Déclencheur | Comportement |
|---|---|---|
| Texte-vers-vidéo (T2V) | Uniquement prompt et les champs communs | Génération depuis le texte |
| Image-vers-vidéo (I2V) | first_frame_image / last_frame_image ou rôles équivalents dans image_with_roles | Contrôle de la première image, de la dernière ou des deux |
| Références multimodales (R2V) | image_urls / video_urls / audio_urls, ou reference_image dans image_with_roles | Génération depuis des images, vidéos et audios de référence, y compris en 1080P |
Les images de début/fin ne peuvent pas être combinées aux références. Un audio de référence exige au moins une image ou vidéo de référence. Une combinaison invalide renvoie HTTP 400 de manière synchrone, sans création ni facturation de tâche.
Paramètres de requête
string
requis
Valeur fixe :
MiniMax-H3-Max. La casse n’est pas prise en compte ; minimax-h3-max est également accepté.string
requis
Description vidéo non vide, obligatoire dans tous les modes. Maximum :
7000 caractères.integer
défaut:"5"
Durée en secondes : entier de
5 à 15, valeur par défaut 5. Une durée de 4 secondes n’est pas prise en charge.string
défaut:"768P"
Résolution de sortie :
480P, 768P (par défaut) ou 1080P.En 1080P, omettez watermark et son alias aigc_watermark, même si leur valeur est false.2K, 1440P et 2048P ne sont pas pris en charge. Une valeur non valide renvoie HTTP 400 sans réduction silencieuse.string
Format de sortie. Les alias
size et ratio sont également acceptés.Valeurs T2V : 21:9, 16:9, 4:3, 1:1, 3:4, 9:16.- T2V sans valeur ou avec
adaptive: retour à16:9 - I2V : déterminé par l’image d’entrée ; ce champ est ignoré
- Références multimodales : facultatif, valeur par défaut
adaptive; un ratio explicite est également possible
string
URL publique de l’image utilisée comme première image de la vidéo.
string
URL publique de la dernière image. Peut être utilisée seule ou avec
first_frame_image.object[]
Tableau d’images avec rôles, en remplacement de
Au plus une image de début et une de fin. Les références de ce tableau et de
first_frame_image, last_frame_image ou image_urls.Afficher Élément image_with_roles
Afficher Élément image_with_roles
image_urls totalisent au maximum 9 images. Ne mélangez pas les rôles de début/fin et de référence.string[]
Tableau d’URL publiques d’images de référence. Au maximum
9 images avec les références de image_with_roles. Toutes sont des références, jamais automatiquement des images de début/fin. Utilisez first_frame_image ou le rôle first_frame pour contrôler le début.string[]
Tableau d’URL publiques de vidéos de référence ;
video_url (string) convient aussi à une vidéo unique. Au maximum 3 clips de 2 à 15 secondes chacun, pour un total vidéo de 15 secondes maximum.La durée des vidéos de référence est lue à la soumission pour la facturation. Si elle ne peut pas être lue, HTTP 400 est renvoyé de manière synchrone, sans création ni facturation de tâche.string[]
Tableau d’URL publiques d’audios de référence ;
audio_url (string) convient aussi à un clip unique. Au maximum 3 clips de 2 à 15 secondes chacun, pour un total audio de 15 secondes maximum. Au moins une image ou vidéo de référence est obligatoire ; l’audio seul est interdit.boolean
défaut:"false"
Ajoute un filigrane AIGC. Alias :
aigc_watermark.Le filigrane est disponible uniquement en 480P / 768P. En 1080P, omettez watermark et son alias aigc_watermark, même si leur valeur est false.string
Reçoit une notification lorsque la tâche se termine par un succès ou un échec.
Utilisez
webhook et non callback_url de MiniMax. La passerelle réserve callback_url à son usage interne.Contraintes des paramètres
Les paramètres ou combinaisons invalides suivants renvoient HTTP 400 avant création et facturation de la tâche :| Paramètre / valeur | Raison |
|---|---|
| Images de début/fin combinées aux références | I2V et R2V sont mutuellement exclusifs |
Plus de 9 images de référence ou plus de 3 vidéos ou audios de référence | Nombre de médias dépassé |
| Audio de référence seul | Image ou vidéo de référence obligatoire |
resolution: "2K" | Uniquement 480P, 768P et 1080P |
duration: 4 ou supérieure à 15 | Uniquement 5 à 15 secondes |
En
1080P, omettez watermark et son alias aigc_watermark, même si leur valeur est false.Pour la 2K, les images intermédiaires ou une vidéo de 4 secondes, utilisez MiniMax-H3 et adaptez les paramètres.
Limites des médias en entrée
Le corps total de la requête ne doit pas dépasser 64 Mo. Utilisez des URL publiques pour les images, vidéos et audios, sans Base64.Images
| Élément | Limite |
|---|---|
| Formats | JPG / JPEG / PNG / WEBP / HEIC / HEIF |
| Par fichier | ≤ 30 Mo |
| Largeur et hauteur | 256–5760 px |
| Format largeur / hauteur | 0,4–2,5 |
| Nombre | Au maximum 1 image de début, 1 de fin et 9 références ; ne pas combiner images de début/fin et références |
Vidéos de référence
| Élément | Limite |
|---|---|
| Formats | MP4 / MOV, H.264 / H.265 |
| Par fichier | ≤ 50 MB |
| Nombre | ≤ 3 |
| Durée par clip | 2–15 s |
| Durée totale | ≤ 15 s |
| Largeur et hauteur | 256–5760 px |
| Format largeur / hauteur | 0.4–2.5 |
| Fréquence d’images | 23.976–60 fps |
Audios de référence
| Élément | Limite |
|---|---|
| Formats | WAV / MP3 |
| Par fichier | ≤ 15 MB |
| Nombre | ≤ 3 |
| Durée par clip | 2–15 s |
| Durée totale | ≤ 15 s |
Exemples
Image-vers-vidéo avec première image
{
"model": "MiniMax-H3-Max",
"prompt": "La caméra avance lentement tandis que la vapeur monte.",
"first_frame_image": "https://cdn.example.com/ramen.png",
"duration": 5,
"resolution": "480P"
}
Image-vers-vidéo avec première et dernière images
{
"model": "MiniMax-H3-Max",
"prompt": "La scène passe progressivement du matin au coucher du soleil.",
"first_frame_image": "https://cdn.example.com/morning.png",
"last_frame_image": "https://cdn.example.com/sunset.png",
"duration": 8,
"resolution": "768P"
}
Texte-vers-vidéo en 1080P
En1080P, omettez watermark et son alias aigc_watermark, même si leur valeur est false.
{
"model": "MiniMax-H3-Max",
"prompt": "Coucher de soleil sur la côte, vagues douces sur le sable, travelling avant lent, rendu cinématographique.",
"duration": 5,
"resolution": "1080P",
"aspect_ratio": "16:9"
}
Génération par références multimodales
Chaque vidéo ou audio de référence doit durer de 2 à 15 secondes. Les totaux vidéo et audio sont calculés séparément, chacun limité à 15 secondes. Découpez les médias trop longs avant soumission ; ils ne constituent pas des entrées valides.{
"model": "MiniMax-H3-Max",
"prompt": "Le personnage de l’image de référence court dans la scène de la vidéo de référence au rythme de l’audio de référence.",
"image_urls": [
"https://cdn.example.com/role.png"
],
"video_urls": [
"https://cdn.example.com/scene.mp4"
],
"audio_urls": [
"https://cdn.example.com/beat.mp3"
],
"duration": 6,
"resolution": "1080P",
"aspect_ratio": "16:9"
}
Consulter une tâche
La soumission renvoie untask_id. Interrogez l’état de la tâche toutes les 5 à 10 secondes et utilisez un délai client de 15 minutes.
status | Signification |
|---|---|
pending | Soumise ou en file d’attente |
processing | Génération en cours |
completed | URL vidéo dans result.videos[0].url |
failed | Consultez error.message ; remboursement automatique |
Les URL générées expirent généralement après environ 24 heures. Téléchargez rapidement le résultat.
Tarification
Le coût total comprend la vidéo générée, les images supplémentaires et les vidéos de référence :Coût total = tarif de génération par seconde × durée de sortie
+ tarif par image supplémentaire × max(0, nombre d’images en entrée − 2)
+ tarif vidéo de référence par seconde × durée totale des vidéos de référence
| Élément | Tarif |
|---|---|
| Vidéo 1080P | Selon la tarification du modèle |
| Vidéo 768P | Selon la tarification du modèle |
| Vidéo 480P | Selon la tarification du modèle |
| Images d’entrée | Les 2 premières images sont gratuites ; les suivantes sont facturées par image; Selon la tarification du modèle |
| Vidéos de référence | Facturation par seconde en entrée selon la tarification du modèle ; varie selon la résolution de sortie, indépendamment du tarif de génération |
| Audios de référence | Gratuit |
| Exemple | Coût |
|---|---|
| 768P / 5s | 768P tarif de génération × 5 |
| 768P / 10s | 768P tarif de génération × 10 |
| 480P / 10s | 480P tarif de génération × 10 |
| 480P / 15s | 480P tarif de génération × 15 |
| 768P / 5s + Images × 3 | 768P tarif de génération × 5 + tarif par image supplémentaire × 1 |
| 480P / 10s + Vidéos de référence (12s) | 480P tarif de génération × 10 + 480P tarif vidéo de référence × 12 |
| 1080P / 5s + Images × 2 + Audios de référence | 1080P tarif de génération × 5 |
cost de la tâche fait foi.
Erreurs
| Scénario | Résultat |
|---|---|
prompt vide ou supérieur à 7000 caractères | 400 ; aucune tâche |
duration hors de 5–15 | 400 ; aucune tâche |
resolution non prise en charge | 400 ; aucune tâche |
| Images de début/fin combinées aux références / Audio de référence seul | 400 ; aucune tâche |
Plus de 9 images de référence ou plus de 3 vidéos ou audios de référence | 400 ; aucune tâche |
| Impossible de lire la durée des vidéos de référence | 400 ; aucune tâche |
| Rôle d’image invalide ou plusieurs images pour un même rôle de début/fin | 400 ; aucune tâche |
| Solde insuffisant | 402 |
| Rejet de sécurité du contenu | 422 |
| Limite de débit | 429 ; réessayer avec backoff |
status = failed et error.message, avec remboursement automatique.
Response
integer
Code d’état ; 200 en cas de succès