MiniMax: I2V 01
I2V 01 anime une image initiale fournie, avec une description textuelle facultative de l’action. Préparez la composition d’ouverture, dirigez le mouvement visible et examinez le clip terminé pour vérifier la continuité du sujet et le cadrage.
À 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.
I2V 01 est l’édition de génération vidéo à partir d’image de MiniMax, qui développe un mouvement depuis une image initiale fournie. L’image définit le sujet et la composition d’ouverture ; un prompt écrit facultatif décrit l’action qui suit. Utilisez-la lorsque le visuel de départ existe déjà sous forme de photographie, d’image générée ou de scène préparée, et que la tâche consiste à le transformer en une courte séquence vidéo.
Choisissez l’image initiale en fonction du mouvement que vous souhaitez montrer. Une image de produit doit révéler la forme et les surfaces qui doivent rester reconnaissables. Un portrait doit montrer clairement le visage et laisser suffisamment d’espace pour le geste demandé. Pour un environnement, identifiez l’élément qui porte le mouvement, comme les feuilles, l’eau ou une personne traversant la scène. Préparez la composition avant la génération pour donner à l’action un point de départ utile.
Les exigences de l’éditeur pour les images sont les formats JPG, JPEG, PNG ou WebP, une taille inférieure à 20 MB et un côté court supérieur à 300 pixels. Le rapport d’aspect accepté va de 2:5 à 5:2. L’image initiale peut être fournie par une URL d’image accessible ou des données d’image encodées dans le processus de l’éditeur. Conservez le fichier image réel avec l’enregistrement de la requête pour préserver le point de départ visuel en vue des comparaisons ultérieures.
Utilisez la description textuelle pour préciser le mouvement visible, son rythme et l’état final souhaité. Par exemple, une tasse en céramique posée sur une table peut rester en place tandis que de la vapeur s’élève et qu’un rideau à l’arrière-plan bouge légèrement. Une personne peut se tourner vers une fenêtre puis s’arrêter. Donnez au sujet une action lisible et expliquez quelles caractéristiques doivent rester visibles tout au long de celle-ci.
Le prompt autorise jusqu’à 2 000 caractères. Présentez les détails utiles dans un ordre naturel : sujet, action, décor et point de vue. Lorsque l’image définit déjà la scène, utilisez le texte pour préciser le mouvement plutôt que pour répéter chaque objet visible. Une instruction concise sur la direction et l’amplitude d’un geste peut être plus utile que plusieurs adjectifs généraux sur la qualité cinématographique.
Le tableau historique de génération vidéo à partir d’image de l’éditeur indique le 720P comme valeur par défaut pour I2V 01 et ne mentionne pas d’option de dix secondes pour cette édition. Conservez les paramètres de sortie choisis avec le clip et évaluez la durée réelle du résultat. Préparez un plan dont l’action principale est compréhensible comme une courte séquence unique, avec des états d’ouverture et de fin utiles au montage prévu.
L’optimisation automatique du prompt est activée par défaut dans le processus documenté de l’éditeur. Enregistrez si elle est utilisée lorsque vous comparez une révision. Gardez l’image constante pour tester une autre description de l’action, ou gardez la description constante pour comparer une autre composition d’ouverture. Il devient ainsi plus facile de voir quel changement créatif a affecté le résultat.
Examinez la vidéo terminée du début à la fin. Vérifiez si le sujet reste reconnaissable, si le mouvement respecte la structure visible de la source et si le détail important reste dans le cadre. Pour une scène de produit, examinez les contours et l’apparence du matériau pendant le mouvement ; pour un portrait, vérifiez la continuité du visage et du geste. Enregistrez le clip réel avec son image source et son prompt, puis corrigez le problème précis de mouvement ou de cadrage qui subsiste.
Ailoot Ultra · Vidéo POST /v1/videos minimaxi-i2v-01
minimaxi-i2v-01Premiers pas
I2V 01 anime une image initiale fournie, avec une description textuelle facultative de l’action. Préparez la composition d’ouverture, dirigez le mouvement visible et examinez le clip terminé pour vérifier la continuité du sujet et le cadrage.
- 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
- Types d’entrée
text,image- Types de sortie
video
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites minimaxi-i2v-01 Conditions: Utilisez le sélecteur exact de modèle Ailoot. | Par défaut— |
Champprompt | Typestring | ExigenceObligatoire | Valeurs et limites Conditions: Décrivez la scène et le mouvement. | Par défaut— |
Champend_image | Typestring | ExigenceFacultatif | Valeurs et limites Conditions: Une image de fin s’applique uniquement dans un mode d’entrée image pris en charge. | Par défaut— |
Champimage | Typestring or array<string> | ExigenceFacultatif | Valeurs et limites Conditions: Utilisez une URL réelle d’image accessible publiquement ou une chaîne d’image en base64 ; aucun nombre maximal d’images n’est affirmé ici. | Par défaut— |
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, prompt |
Paramètreoptional | Contratend_image, image |
Paramètrematerial_types | Contrattext, image |
Paramètreconditions | ContratUtilisez le sélecteur exact de modèle Ailoot., Décrivez la scène et le mouvement., Une image de fin s’applique uniquement dans un mode d’entrée image pris en charge., Utilisez une URL réelle d’image accessible publiquement ou une chaîne d’image en base64 ; aucun nombre maximal d’images n’est affirmé ici. |
Alias de méthode : /v1/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/media/assets
GET /v1/media/assets/{asset_id}
Tarifs
Calcul du coût final
Les tarifs affichés servent à estimer le coût avant la génération. Le montant final est calculé à partir du coût enregistré pour la génération d’origine. La durée mesurée du résultat et les quantités prévisionnelles ne constituent pas la quantité finale facturable.
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 estimés à des fins de comparaison
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 | Quantité prévisionnelle | Quantité facturée | Coût |
|---|---|---|---|---|
| ConfigurationTarifs de base par jeton | Barème tarifaireTarif de base | Quantité prévisionnelle— | Quantité facturée— | Coût Entrée · Tokens en entrée · Estimation à des fins de comparaison uniquement — / 1K tokens Sortie · Tokens en sortie · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Lecture du cache · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Écriture dans le cache · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Écriture dans le cache, 1 h · Estimation à des fins de comparaison uniquement — / 1K tokens |
| ConfigurationPar requête | Barème tarifaire— | Quantité prévisionnelle— | Quantité facturéeune requête | Coût Entrée · Estimation à des fins de comparaison uniquement $1 par requête |
| ConfigurationCoût de génération estimé | Barème tarifaire— | Quantité prévisionnelleEstimation pour une génération | Quantité facturée— | Coût Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $1 estimation avant génération Cette estimation ne constitue ni des frais supplémentaires ni un tarif fixe pour la génération terminée. |
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 →
Exemples de requêtes
Ailoot Ultra · Vidéo
# Replace YOUR_ACCESSIBLE_IMAGE_URL with your actual reachable reference image URL.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
"model": "minimaxi-i2v-01",
"prompt": "A cat is walking on grass.",
"image": "YOUR_ACCESSIBLE_IMAGE_URL"
}
JSON
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
# Create once; retain id, polling_url, original task identifiers and every header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
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())
roles={}
def visit(v,path=""):
if isinstance(v,dict):
for k,x in v.items(): visit(x,path+"/"+k)
elif isinstance(v,list):
for i,x in enumerate(v): visit(x,path+"/"+str(i))
elif isinstance(v,str):
u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
target=Path(f"asset-{i}.bin")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
raw=target.read_bytes()
if not raw: raise SystemExit("Empty asset; retain original status and metadata")
ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
name=f"asset-{i}.{ext}"
if target.name!=name: target.rename(name)
manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS
Recevoir et enregistrer les résultats
Ailoot Ultra · Vidéo
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
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 la réponse et les en-têtes complets, les identifiants d’origine, chaque sortie réelle et tous les champs d’utilisation et de comptabilisation. Enregistrez chaque ressource unique vous appartenant et conservez chaque rôle qui y fait référence.
Si la réponse d’origine doit être vérifiée
Conservez l’id public renvoyé pour la tâche ou l’opération ainsi que tous les en-têtes. Consultez uniquement la tâche d’origine ; unknown ou result_pending_check n’autorise pas une nouvelle création.
Champs de la réponse
| Champ | Type |
|---|---|
Champid | Typestring |
Champpolling_url | Typestring |
Champprovider_task_id | Typestring |
Champtask_id | Typestring |
Champstatus | Typestring |
Champvideo_url | Typestring |
Alias
Alias du modèle
Ailoot Ultra minimaxi-i2v-01
Alias des chemins de méthode
/v1/videos/generations
ID d’appel associés
FAQ · MiniMax: I2V 01
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/videos·minimaxi-i2v-01:text,image→video- Quels champs la requête utilise-t-elle ?
POST /v1/videos·minimaxi-i2v-01:model,prompt,end_image,image