Grok Imagine Video API : du texte à la vidéo avec Python
Créez la tâche, interrogez-la, téléchargez le MP4. Voici un script qui tourne tel quel.

Sur cette page
- La réponse courte
- Comment fonctionne l'API Grok Imagine Video ?
- Quels paramètres pouvez-vous régler ?
- Comment transformer un prompt texte en vidéo avec Python ?
- Combien coûte un clip, et combien de temps prend-il ?
- Quelles erreurs allez-vous rencontrer ?
- Questions fréquentes
- L'API Grok Imagine Video est-elle gratuite ?
- Combien de temps peut durer une vidéo Grok Imagine ?
- Grok Imagine Video produit-il du son ?
- Grok Imagine peut-il transformer une image en vidéo ?
- Quelle différence entre Grok Imagine Video 1.5 et 1.5 Lite ?
- grok-imagine-video-1.5-preview est-il encore un ID de modèle valide ?
L'API Grok Imagine Video est asynchrone : vous envoyez un prompt pour créer une tâche, interrogez l'ID de la tâche jusqu'à ce qu'elle se termine, puis téléchargez le MP4. Le modèle actuel est grok-imagine-video-1.5. Le 24 octobre 2026, notre clip de 6 secondes en 720p était prêt 46 secondes après l'envoi de la requête, et il avait une piste audio.
Ci-dessous : le script qui tourne tel quel, les paramètres qui décident du résultat, ce que coûte un clip et combien de temps il prend, et les erreurs que vous allez rencontrer.
La réponse courte
- Modèle :
grok-imagine-video-1.5. xAI indique que 1.5 est sorti de la préversion et est disponible en général depuis le 16 juin 2026 (xAI). - Réglages :
durationde 4 à 15 secondes,resolution"720p"et unratiocomme"16:9". - Coût : 0,14 USD par seconde en 720p au tarif de xAI, donc 0,84 USD pour un clip de 6 secondes (page des modèles xAI, vérifiée le 24 octobre 2026).
- Délai : notre tâche de 6 secondes en 720p a pris 46 secondes. Interrogez le même ID de tâche et téléchargez le fichier dans l'heure.

Comment fonctionne l'API Grok Imagine Video ?
C'est une tâche en trois étapes : créer, interroger, télécharger (guide de génération vidéo de xAI, vérifié le 24 octobre 2026).
Sur l'API de xAI, vous envoyez une requête POST à https://api.x.ai/v1/videos/generations avec l'ID du modèle et le prompt, et vous recevez un request_id. Ensuite, vous interrogez https://api.x.ai/v1/videos/{request_id} en GET jusqu'à ce que la tâche soit done, puis vous lisez video.url (même guide).
| Pour quoi | ID du modèle |
|---|---|
| Références, voix, 1080p | grok-imagine-video-1.5 |
| Vidéos simples, le moins cher | grok-imagine-video-1.5-lite |
| Ancien modèle | grok-imagine-video |
xAI recommande grok-imagine-video-1.5-lite pour les vidéos simples et grok-imagine-video-1.5 quand il vous faut des références, des voix, des images fixes imposées ou du 1080p natif (présentation vidéo, vérifiée le 24 octobre 2026). Pour les images fixes, le guide de l'API image Grok Imagine couvre les trois modèles d'image de xAI ; pour comparer Grok à d'autres API vidéo, lisez notre comparatif des modèles vidéo.
OmniaKey vend l'accès API à Grok Imagine Video 1.5, donc nous avons lancé l'exemple à travers lui. Les appels sont POST https://api.omniakey.com/v1/media/tasks avec un en-tête Idempotency-Key, qui répond 202 avec un id, et GET /v1/media/tasks/{id} pour le statut (présentation des médias OmniaKey, vérifiée le 24 octobre 2026). Le même enchaînement créer, interroger, télécharger vaut pour les autres modèles vidéo de la doc de l'API vidéo : Kling 3.0, Seedance, Wan 3.0, MiniMax H3 et HappyHorse. Tous les prix ci-dessous sont ceux de xAI.
| Champ xAI | Champ OmniaKey |
|---|---|
prompt | input.prompt |
duration | parameters.duration |
resolution | parameters.resolution |
aspect_ratio | parameters.ratio |
request_id | id |
video.url | assets[0].url |
Les noms de champs de xAI viennent de sa référence de l'API Videos et ceux d'OmniaKey de sa doc de l'API vidéo, tous deux vérifiés le 24 octobre 2026.
Quels paramètres pouvez-vous régler ?
Le prompt et trois réglages décident de ce que vous obtenez.
| Paramètre | Ce que nous avons mis | Ce qui est permis |
|---|---|---|
| duration | 6 | 4–15 secondes |
| resolution | "720p" | Jusqu'à 720p |
| ratio | "16:9" | 9 formats |
durationest obligatoire sur OmniaKey et décide du prix (doc vidéo OmniaKey). Le minimum d'OmniaKey pour ce modèle est de 4 secondes et le maximum de xAI de 15 (guide de génération vidéo), restez donc entre 4 et 15.resolution: envoyez"720p"en minuscules. OmniaKey sert la vidéo Grok jusqu'à 720p (présentation des médias OmniaKey). L'API de xAI ajoute le 480p, son défaut, et le 1080p natif (guide de génération).ratioaccepte neuf valeurs : 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9 et 5:2, avec 16:9 par défaut (guide de génération vidéo). Nous avons utilisé 16:9.ndoit valoir 1 (doc vidéo OmniaKey).- Le prompt : décrivez le plan, la lumière, le mouvement de caméra, puis ajoutez une ligne
Sound:. Tout ce que vous y nommez peut apparaître à l'image : notre ligne sonore mentionnait une cuillère, et une cuillère et une main sont apparues dans l'image.
Comment transformer un prompt texte en vidéo avec Python ?
Installez requests, placez la clé dans OMNIAKEY_API_KEY et lancez le script.
pip install requests
export OMNIAKEY_API_KEY="your-key"
Voici le script que nous avons lancé, sans modification :
import os
import time
import uuid
import requests
API = "https://api.omniakey.com/v1/media/tasks"
HEADERS = {"Authorization": f"Bearer {os.environ['OMNIAKEY_API_KEY']}"}
PROMPT = (
"Close-up of a white ceramic coffee cup on a wooden café table by a window, "
"morning sunlight, steam curling up from the coffee, the camera slowly pushes in, "
"shallow depth of field. Sound: quiet café chatter and a spoon clinking on a saucer."
)
# 1. Créez la tâche. Réutilisez la même Idempotency-Key seulement pour rejouer cette requête précise.
job = requests.post(
API,
headers={**HEADERS, "Idempotency-Key": str(uuid.uuid4())},
json={
"model": "grok-imagine-video-1.5",
"type": "video",
"operation": "text_to_video",
"input": {"prompt": PROMPT},
"parameters": {"duration": 6, "resolution": "720p", "ratio": "16:9"},
},
timeout=30,
)
job.raise_for_status()
task = job.json()
print("task:", task["id"], task["status"])
# 2. Interrogez la tâche jusqu'à la fin. Une tâche lente n'a pas échoué : gardez le même id.
while True:
task = requests.get(f"{API}/{task['id']}", headers=HEADERS, timeout=30).json()
if task["status"] not in ("queued", "processing"):
break
time.sleep(5)
if task["status"] != "succeeded":
raise SystemExit(f"job ended {task['status']}: {task.get('error')}")
# 3. Téléchargez tout de suite : l'URL signée expire dans environ une heure.
asset = task["assets"][0]
with open("coffee.mp4", "wb") as f:
f.write(requests.get(asset["url"], timeout=120).content)
print("saved coffee.mp4", asset["mime_type"], asset["byte_size"], "bytes")
Sa dernière ligne de sortie le 24 octobre 2026 :
saved coffee.mp4 video/mp4 2659230 bytes
La première ligne du script affiche l'ID de la tâche et son statut. Gardez cet ID : c'est ainsi que vous retrouvez la tâche si le script s'arrête.
Une tâche de 6 secondes en 720p est revenue comme ceci :
| Ce qui est revenu | Valeur |
|---|---|
| Temps jusqu'à la fin | 46 s |
| Durée | 6,04 s |
| Taille | 1280×720 |
| Images par seconde | 24 fps |
| Audio | AAC stéréo |
| Taille du fichier | 2,7 MB |
Le clip suit le prompt : une tasse en céramique blanche de café noir sur une soucoupe blanche, sur une table en bois près d'une fenêtre, avec de la vapeur qui monte et le café flou derrière. La caméra avance régulièrement et la tasse passe d'environ un tiers de la largeur du cadre à environ la moitié. Une cuillère entre par la droite à 4,5 secondes. L'audio est une piste calme avec un pic net à 4,8 secondes, au moment où la cuillère touche la soucoupe.
Combien coûte un clip, et combien de temps prend-il ?
xAI facture la vidéo à la seconde, et le tarif dépend du modèle et de la résolution. Sa page des modèles (vérifiée le 24 octobre 2026) détaille le prix par résolution, et les 0,080 USD par seconde forfaitaires de sa page de prix sont le tarif 480p.
| Modèle | 480p | 720p | 1080p |
|---|---|---|---|
| 1.5 | 0,08 USD | 0,14 USD | 0,25 USD |
| 1.5 Lite | 0,02 USD | 0,03 USD | 0,14 USD |
| Ancien modèle | 0,05 USD | 0,07 USD | — |
À ces tarifs :
- 6 secondes en 1.5 à 720p : 6 × 0,14 = 0,84 USD.
- 8 secondes, la durée par défaut, en 1.5 à 480p : 8 × 0,08 = 0,64 USD.
- 15 secondes en 1.5 à 1080p : 15 × 0,25 = 3,75 USD.
- 6 secondes en 1.5 Lite à 720p : 6 × 0,03 = 0,18 USD.
xAI ne publie que des tarifs vidéo à la seconde (page de prix, vérifiée le 24 octobre 2026).
Sur OmniaKey, le montant est la durée demandée multipliée par le tarif à la seconde, prélevé sur votre solde à la création de la tâche et remboursé automatiquement si la tâche échoue (doc vidéo OmniaKey, vérifiée le 24 octobre 2026). Notre requête de 6 secondes a renvoyé un fichier de 6,04 secondes et a été facturée 6 secondes. Les tarifs actuels sont sur la page Grok Imagine Video 1.5.
Notre tâche a pris 46 secondes entre la requête et succeeded. xAI indique que la génération prend « généralement jusqu'à plusieurs minutes », et son SDK attend jusqu'à 10 minutes (guide de génération). Interrogez toutes les quelques secondes. Si vous ajoutez une limite de temps à la boucle, laissez-la large, et quand elle est dépassée, relisez la tâche par son ID au lieu d'envoyer une nouvelle requête.
Le lien signé dure environ une heure, et le nôtre a expiré exactement une heure après la fin de la tâche. L'enregistrement de la tâche est conservé 24 heures, vous pouvez donc interroger à nouveau pour obtenir un lien frais (présentation des médias OmniaKey, vérifiée le 24 octobre 2026).
Quelles erreurs allez-vous rencontrer ?
La plupart des erreurs reviennent tout de suite, avant la création d'une tâche, donc elles ne coûtent rien. Une tâche qui échoue plus tard se termine en failed et est remboursée. La doc médias d'OmniaKey (vérifiée le 24 octobre 2026) en liste notamment :
| Erreur | Cause | Solution |
|---|---|---|
400 missing_idempotency_key | En-tête Idempotency-Key absent | Ajoutez-le |
409 idempotency_key_reused | Même clé, nouveau corps | Une clé par tâche |
400 model_price_error | Durée ou résolution non prise en charge | 4–15 s, "720p" |
403 model_not_allowed | La clé n'a pas ce modèle | Vérifiez l'accès de la clé |
503 no_available_channel | Modèle indisponible maintenant | Réessayez plus tard |
Tâche failed | Erreur du fournisseur | Lisez error.message |
Nous avons provoqué les deux premières exprès le 24 octobre 2026. Sans l'en-tête, la réponse est HTTP 400 :
{"error":{"code":"missing_idempotency_key","message":"Idempotency-Key is required and must be at most 255 characters"}}
En réutilisant la clé de la tâche avec un prompt modifié, la réponse est HTTP 409 :
{"error":{"code":"idempotency_key_reused","message":"Idempotency-Key was already used with a different request"}}
- Traitez une tâche lente comme toujours en cours. Continuez d'interroger le même ID de tâche ; renvoyer la requête avec une nouvelle
Idempotency-Keylance une deuxième tâche, et la facture. - Une requête rejouée répond
200avec la tâche d'origine et sans listeassets, c'est pourquoi le script récupère la tâche avant de lireassets.
Questions fréquentes
L'API Grok Imagine Video est-elle gratuite ?
Non. xAI ne publie que des tarifs à la seconde, et le moins cher est 1.5 Lite à 0,02 USD par seconde en 480p (page des modèles, vérifiée le 24 octobre 2026).
Combien de temps peut durer une vidéo Grok Imagine ?
De 1 à 15 secondes sur l'API de xAI, et 8 secondes par défaut (guide de génération vidéo). Via OmniaKey, utilisez 4 à 15 secondes : le minimum d'OmniaKey pour ce modèle est de 4 (doc vidéo OmniaKey, vérifiée le 24 octobre 2026) et le maximum de xAI est de 15.
Grok Imagine Video produit-il du son ?
Oui, une piste audio par défaut, avec des effets sonores, une ambiance et des dialogues générés avec l'image (guide de génération vidéo ; annonce de xAI). La nôtre avait une piste AAC stéréo. L'API de xAI accepte generate_audio: false pour un clip muet ; pour retirer la piste d'un fichier téléchargé, lancez :
ffmpeg -i coffee.mp4 -an -c:v copy coffee-silent.mp4
Grok Imagine peut-il transformer une image en vidéo ?
Oui, dans l'API de xAI : passez l'image comme image (une URL publique, un data URI base64 ou un file_id de la Files API ; JPEG, PNG ou WebP), elle devient la première image, le prompt est facultatif et le clip conserve le format de l'image (guide image-vers-vidéo ; référence de l'API Videos). Nous ajouterons ici un exemple image-vers-vidéo via OmniaKey dès que nous l'aurons vérifié de bout en bout.
Quelle différence entre Grok Imagine Video 1.5 et 1.5 Lite ?
Lite est le moins cher à la seconde, fait du texte-vers-vidéo et de l'image-vers-vidéo avec une parole synchronisée sur les lèvres, atteint le 1080p en suréchantillonnant le 720p, et n'a ni images de référence, ni références de voix, ni images clés (présentation vidéo ; page du modèle Lite). Les exemples ici utilisent 1.5, que vous appelez sur OmniaKey comme Grok Imagine Video 1.5.
grok-imagine-video-1.5-preview est-il encore un ID de modèle valide ?
xAI le liste toujours comme alias, mais 1.5 est sorti de la préversion et est disponible en général depuis le 16 juin 2026 (page du modèle ; annonce de xAI). Utilisez grok-imagine-video-1.5.
Modèles cités dans cet article
Articles similaires
Grok Imagine API : guide Python et 3 modèles comparés
Trois modèles d'image Grok, les mêmes quatre prompts. Voici lequel utiliser.
Meilleurs modèles d'API vidéo IA en 2026
Il n'existe pas un seul meilleur modèle vidéo. Le choix dépend d'un plan long, d'une première image fidèle, de références multiples, d'un budget prévisible ou d'une file d'attente courte.
Kling 3.0 vs Seedance 2.5
Les deux modèles sont en ligne sur OmniaKey et peuvent servir le même plan. La différence tient au contrat de facturation : l'un facture une fois par génération selon une matrice mode et duration, l'autre facture par seconde de sortie multipliée par la résolution, et un seul accepte un plan piloté par référence.