HiAPI
Blog

Tutoriel

API vidéo Grok Imagine : génération vidéo à partir d'images et de texte, versions 1.0 et 1.5

Quel endpoint vidéo Grok Imagine appeler, combien coûte un clip, des exemples de sorties réelles avec prompts, ainsi que du code curl et Python directement exécutable.

Jul 3, 2026
API vidéo Grok Imagine : génération vidéo à partir d'images et de texte, versions 1.0 et 1.5

TL;DR

  • L'API vidéo Grok Imagine sur HiAPI propose trois endpoints : 1.0 texte-vers-vidéo, 1.0 image-vers-vidéo et 1.5 image-vers-vidéo. Les trois ont le même prix : 0,015 $ par seconde en 480p, 0,0282 $ par seconde en 720p, et chaque clip inclut une bande-son générée, sans frais supplémentaires.
  • La version 1.0 dure de 6 à 30 secondes et accepte jusqu'à 7 images de référence. La version 1.5 dure de 1 à 15 secondes, n'accepte qu'une seule image et permet, via aspect_ratio: "auto", d'aligner la sortie sur la forme de cette image.
  • Un clip brouillon de 6 secondes en 480p coûte 0,09 $. Ouvrez la page du modèle image-vers-vidéo pour l'essayer ; les nouveaux comptes reçoivent 200 crédits gratuits.

Quel endpoint utiliser

ID du modèle Entrée Durée Format d'image Options
grok-imagine/text-to-video prompt 6–30 s (6 par défaut) 2:3 (par défaut), 3:2, 1:1, 16:9, 9:16 mode : normal ou fun
grok-imagine/image-to-video 1–7 images + prompt facultatif 6–30 s (6 par défaut) idem mode ; référencer les images avec @image1, @image2
grok-imagine-1.5/image-to-video exactement 1 image + prompt facultatif 1–15 s (8 par défaut) auto (par défaut), 1:1, 16:9, 9:16, 3:2, 2:3 pas de mode

Les trois endpoints sont facturés à la seconde : 0,015 $ (480p, par défaut) ou 0,0282 $ (720p). Tarifs HiAPI en temps réel, consultés le 19 octobre 2026. Les tâches échouées ne sont pas facturées.

Comment choisir :

  • Durée supérieure à 15 secondes, ou besoin de plusieurs images produit en référence : 1.0 image-vers-vidéo.
  • Une seule image fixe, besoin d'un clip court et sortie devant conserver la forme de l'image fixe : 1.5 image-vers-vidéo. C'est aussi le seul endpoint capable de descendre sous 6 secondes, donc un clip en boucle de 4 secondes coûte moins cher.
  • Aucune image : 1.0 texte-vers-vidéo.
Clip 480p 720p
4 s (1.5 uniquement) 0,06 $ 0,11 $
6 s 0,09 $ 0,17 $
15 s 0,23 $ 0,42 $
30 s (1.0 uniquement) 0,45 $ 0,85 $

Sorties réelles

1.0 image-vers-vidéo, une image de référence. Une image fixe de catalogue produit d'un sac de week-end :

Slow cinematic orbit around the burnt-orange canvas weekender bag, camera circling smoothly from front to three-quarter view, studio lighting glinting off the brass zippers, seamless white background stays clean and shadowless, product perfectly sharp and unchanged, subtle premium e-commerce energy.

grok-imagine/image-to-video, 6 s, 720p, une image de référence, 0,17 $. Nous avions demandé du 9:16, mais une image source carrée renvoie toujours du carré (960×960).

1.0 image-vers-vidéo, deux images de référence. En fournissant à la fois une photo de mise en situation et une photo produit, le sac conserve son apparence dans la nouvelle scène :

grok-imagine/image-to-video, 6 s, 720p, 9:16, deux images de référence, 0,17 $.

1.5 image-vers-vidéo, la même image fixe, deux mouvements de caméra. Le mouvement de caméra est décrit dans le prompt. Changez de verbe et vous obtenez un autre plan :

Slow steady dolly push-in down the rain-soaked market street toward the glowing noodle stall, steam rising and curling from the pots, rain falling in thin streaks, neon sign reflections shimmering on the wet pavement, pedestrians walking slowly away under umbrellas, smooth constant camera speed, one continuous shot, no cuts, cinematic pacing

Ouvrir la page du modèle avec ce prompt (téléchargez d'abord votre image fixe) →

grok-imagine-1.5/image-to-video, 6 s, 720p, 16:9, 0,17 $.

Camera glides slowly to the left in a smooth lateral tracking move, strong parallax between the near market stalls and the far end of the street, rain keeps falling, neon reflections slide across the wet ground, the cook keeps stirring behind the counter, steam drifts sideways, one continuous move, no cuts, no zoom

grok-imagine-1.5/image-to-video, 6 s, 720p, 16:9, 0,17 $.

1.5, une boucle d'ambiance de 4 secondes. Avec une caméra fixe, tout le mouvement vient de la scène elle-même :

grok-imagine-1.5/image-to-video, 4 s, 720p, 16:9, 0,11 $.

curl

1.0 image-vers-vidéo :

curl -s -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine/image-to-video",
    "input": {
      "image_urls": ["https://your-cdn.example.com/product.jpg"],
      "prompt": "Slow orbit around the product, studio light, background stays clean",
      "duration": 6,
      "resolution": "480p",
      "aspect_ratio": "9:16"
    }
  }'

Vous recevez un taskId. Interrogez GET https://api.hiapi.ai/v1/tasks/{taskId} jusqu'à ce que data.status vaille success, puis téléchargez data.output[0].url. Les liens expirent, enregistrez le fichier immédiatement.

Pour le texte-vers-vidéo, remplacez le modèle par grok-imagine/text-to-video et retirez image_urls. Pour la version 1.5, remplacez le modèle par grok-imagine-1.5/image-to-video, conservez une seule image et retirez mode.

Python : soumettre, interroger, télécharger

# pip install requests; export HIAPI_KEY=your-key first
import os, time, uuid, requests

API = "https://api.hiapi.ai/v1/tasks"
H = {"Authorization": f"Bearer {os.environ['HIAPI_KEY']}"}

def generate(model, timeout_s=900, **inp):
    body = {"model": model, "input": inp}
    # Reuse the same Idempotency-Key if you retry a submit, so a retry never bills twice
    r = requests.post(API, json=body, headers={**H, "Idempotency-Key": str(uuid.uuid4())}, timeout=30)
    res = r.json()
    if res.get("code") != 200:
        raise RuntimeError(res)  # 400s list every invalid field
    task_id = res["data"]["taskId"]
    deadline = time.time() + timeout_s
    while time.time() < deadline:
        d = requests.get(f"{API}/{task_id}", headers=H, timeout=30).json()["data"]
        if d["status"] == "success":
            return d["output"][0]["url"]
        if d["status"] == "fail":
            raise RuntimeError(d)
        time.sleep(10)
    raise TimeoutError(task_id)

still = "https://your-cdn.example.com/still.jpg"

# Draft cheaply on 1.5 at 480p, then re-render the keeper at 720p
draft = generate("grok-imagine-1.5/image-to-video", image_urls=[still],
                 prompt="slow push-in, steam rising, camera steady", duration=4, resolution="480p")
final = generate("grok-imagine-1.5/image-to-video", image_urls=[still],
                 prompt="slow push-in, steam rising, camera steady", duration=6, resolution="720p")

# A 20-second clip needs 1.0
long_clip = generate("grok-imagine/image-to-video", image_urls=[still],
                     prompt="slow push-in, steam rising, camera steady", duration=20, resolution="480p")

with open("clip.mp4", "wb") as f:
    f.write(requests.get(final).content)

Paramètres

Champ 1.0 texte-vers-vidéo 1.0 image-vers-vidéo 1.5 image-vers-vidéo
prompt obligatoire, 5 000 caractères max facultatif facultatif, 4 096 caractères max
image_urls non accepté 1–7 images, jpeg/png/webp, 10 Mo max par image exactement 1 image, jpeg/png/webp, 20 Mo max
duration 6–30 6–30 1–15
resolution 480p (par défaut) / 720p idem idem
aspect_ratio 2:3 par défaut 2:3 par défaut auto par défaut (suit l'image)
mode normal (par défaut) / fun idem non accepté

Erreurs que vous rencontrerez

Toutes ces erreurs renvoient un HTTP 400 à la soumission : aucune tâche n'est donc créée et aucun frais n'est facturé :

  • duration: minimum: got 4, want 6 : la version 1.0 commence à 6 secondes. Pour un clip plus court, utilisez 1.5.
  • duration: maximum: got 20, want 15 : la version 1.5 est limitée à 15 secondes. Pour un clip plus long, utilisez 1.0.
  • image_urls: maxItems: got 2, want 1 : la version 1.5 n'accepte qu'une seule image.
  • additional properties 'mode' not allowed : la version 1.5 n'a pas de mode.
  • resolution: value must be one of '480p', '720p' : pas de 1080p, et la valeur doit être en minuscules.

FAQ

Choisir 1.0 ou 1.5 ?

Le prix à la seconde est identique. Choisissez selon l'entrée et la durée : plusieurs images de référence ou plus de 15 secondes, prenez 1.0 ; une seule image fixe et un clip court, prenez 1.5. En cas de doute, générez la même image fixe 6 secondes en 480p sur les deux endpoints : cela coûte 0,18 $ au total.

Y a-t-il du son ?

Oui. Chaque clip ci-dessus a renvoyé une piste audio générée ; sur le clip en boucle du phare, on entend clairement les vagues. Il n'existe pas d'option pour désactiver le son (generate_audio et audio sont rejetés comme champs inconnus), et le son n'affecte pas le prix. Si vous n'en voulez pas, retirez la piste audio au montage.

Peut-on obtenir du 1080p ?

Non. La résolution maximale des trois endpoints est 720p.

À quoi sert mode: "fun" ?

C'est une option de la version 1.0 qui rend le mouvement plus vivant et plus exagéré. normal est la valeur par défaut et le choix le plus sûr pour les clips produit.

Plus d'exemples : Grok Imagine 1.5 pour les vidéos courtes. Pour consulter les tarifs de toute la gamme, voir Tarification de l'API Grok Imagine. Pour générer des images fixes, voir le guide de l'API d'images Grok Imagine.

Articles similaires

Voir tous les articles →

Commencez avec des artefacts IA persistants

Obtenez votre clé API et appelez des modèles d'image, de vidéo et d'audio via une API unique basée sur les tasks.

Lire la documentation de l'API