HiAPI
Blog

Tutoriel

Comment utiliser l'API image-vers-vidéo Grok Imagine 1.5 Lite ? Faites bouger vos photos

Une image devient une vidéo de 1 à 15 secondes avec effets sonores : le prix inclut les frais d'image d'entrée, le format suit l'image, exemples curl/Python.

Oct 23, 2026
Comment utiliser l'API image-vers-vidéo Grok Imagine 1.5 Lite ? Faites bouger vos photos

TL;DR

  • Grok Imagine 1.5 Lite Image to Video (grok-imagine-1.5-lite/image-to-video) : téléversez 1 image pour la faire bouger : 1 à 15 secondes, effets sonores intégrés, format qui suit l'image d'entrée. Ouvrez la page du modèle et téléversez une image pour essayer ; les nouveaux utilisateurs reçoivent 200 crédits à l'inscription.
  • Prix = prix par seconde × nombre de secondes + 0,015 $ de frais d'image d'entrée par vidéo : 720P 6 secondes = 0,273 $ ; 480P = 0,189 $ ; 1080P = 1,215 $.
  • Appel via l'interface HiAPI /v1/tasks : image_url est une chaîne (pas un tableau), exactement 1 adresse publique.

Ce qu'il sait faire

  • Une photo devient un plan sonore : animation, mouvements de caméra et effets sonores sont décrits par le prompt, le sujet de l'image reste celui de l'original.
  • Le format suit l'image d'entrée : image paysage → 16:9 (1264×720), portrait → 9:16 (720×1264), carrée → 1:1 (960×960), 4:3 → 1104×816 — les pixels sont arrondis aux dimensions prises en charge, le ratio reste inchangé.
  • De 1 à 15 secondes, n'importe quel nombre entier de secondes, trois niveaux de résolution.
  • Texte-vers-vidéo de la même série : pour générer à partir de zéro, voir le guide d'intégration texte-vers-vidéo ; les deux interfaces ont le même prix (l'image-vers-vidéo ajoute 0,015 $ de frais d'image d'entrée), le même /v1/tasks, le code ne diffère que par model et image_url.

Comment lire la grille tarifaire :

  • « prix par seconde × nombre de secondes » correspond au coût de la vidéo elle-même, identique au texte-vers-vidéo ;
  • 0,015 $ est le supplément pour l'image d'entrée, facturé une fois par vidéo, indépendamment de la résolution et de la durée ;
  • donc à paramètres égaux, l'image-vers-vidéo coûte 0,015 $ de plus que le texte-vers-vidéo : 720P 6 secondes = 0,258 $ + 0,015 $ = 0,273 $. Pour mille vidéos, cet écart représente 15 $, à prévoir dans le budget.

Voici une vraie vidéo finale (photo de surf → plan de suivi de 6 secondes, avec son des vagues) :

The wave curls and breaks behind the surfer as he carves down its face, white spray bursts and sparkles in the golden backlight, water rushes past. Smooth tracking camera following the surfer. Loud ocean surf and rushing water. Keep the photo realistic. No text, no logos.

(En français : la vague se replie et se brise derrière le surfeur tandis qu'il descend sa face, des embruns blancs jaillissent et scintillent dans le contre-jour doré. Caméra en suivi fluide derrière le surfeur. Bruit fort de l'océan et de l'eau qui file. Gardez le rendu photo réaliste. Pas de texte, pas de logos.)

·

grok-imagine-1.5-lite/image-to-video, 720P, 6 secondes, 16:9, 1264×720, effets sonores intégrés, 0,273 $ (dont 0,015 $ de frais d'image d'entrée).Voir la vidéo complète →

Générer avec ce prompt →

Prix : prix par seconde + frais d'image d'entrée

Niveau Par seconde 6 secondes (dont 0,015 $ de frais d'image d'entrée)
480P 0,029 $ 0,189 $
720P (par défaut) 0,043 $ 0,273 $
1080P 0,20 $ 1,215 $

Tarifs HiAPI actuels, vérifiés le 23 octobre 2026. image_url étant obligatoire, chaque vidéo inclut ces 0,015 $ ; le 1080P coûte 0,2 $ par seconde (environ 4,65 fois le 720P) ; pour l'exploration en lot, utilisez le 480P. Aucun frais en cas d'échec.

Deux parcours pour démarrer

Navigateur en 3 étapes : ouvrez la page du modèle → téléversez une image, écrivez la description du mouvement → cliquez sur générer.

API en 3 étapes : POST /v1/tasks pour soumettre → récupérez taskId → GET /v1/tasks/<taskId> jusqu'à success puis téléchargez.

curl : la première

curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: your-unique-key-001" \
  -d '{
  "model": "grok-imagine-1.5-lite/image-to-video",
  "input": {
    "prompt": "The wave curls and breaks behind the surfer as he carves down its face, white spray bursts and sparkles in the golden backlight, water rushes past. Smooth tracking camera following the surfer. Loud ocean surf and rushing water. Keep the photo realistic. No text, no logos.",
    "image_url": "https://static.hiapi.ai/gallery/2026/10/3f75ff28db9e0070.png",
    "duration": 6,
    "resolution": "720p"
  }
}'

Attention : image_url est une chaîne, ne transmettez qu'une seule image — un tableau renvoie une erreur 400.

Python : soumettre, interroger, télécharger

import time, uuid, requests

BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
}

payload = {
    "model": "grok-imagine-1.5-lite/image-to-video",
    "input": {
        "prompt": "The wave curls and breaks behind the surfer as he carves down its face, white spray bursts and sparkles in the golden backlight, water rushes past. Smooth tracking camera following the surfer. Loud ocean surf and rushing water. Keep the photo realistic. No text, no logos.",
        "image_url": "https://example.com/your-image.png",
        "duration": 6,
        "resolution": "720p",
    },
}

resp = requests.post(
    BASE,
    headers={**HEADERS, "Idempotency-Key": str(uuid.uuid4())},
    json=payload,
    timeout=30,
)
resp.raise_for_status()
task_id = resp.json()["taskId"]

while True:
    task = requests.get(f"{BASE}/{task_id}", headers=HEADERS, timeout=30).json()
    print(task["status"])
    if task["status"] in ("success", "fail"):
        break
    time.sleep(5)

if task["status"] == "success":
    video = next(o for o in task["output"] if o.get("type") == "video")
    mp4 = requests.get(video["url"], timeout=120)   # 临时地址,尽快保存
    with open("output.mp4", "wb") as f:
        f.write(mp4.content)
    print("saved output.mp4")

Tableau des paramètres

Champ Obligatoire Valeurs Description
image_url Oui Chaîne, exactement 1 adresse publique Le ratio de sortie suit cette image
prompt Oui 1 à 4096 caractères Décrivez le mouvement ou le changement souhaité, y compris les effets sonores
duration Non 1 à 15, n'importe quel entier, 6 par défaut
resolution Non 480p / 720p / 1080p, 720p par défaut

Tout champ hors tableau dans le corps de la requête renvoie directement une erreur 400.

Les erreurs que vous rencontrerez

Code de statut Signification Que faire
400 INVALID_REQUEST Corps de requête invalide (image_url manquant, image_url transmis sous forme de tableau, champ hors tableau) Utilisez une chaîne pour image_url
402 INSUFFICIENT_QUOTA Solde insuffisant (aucun frais prélevé) Rechargez puis réessayez
429 RATE_LIMITED Limitation de débit déclenchée Réduisez la fréquence de soumission
409 / 422 IDEMPOTENCY_KEY_* Soumission en double avec la même clé d'idempotence Utilisez un nouveau Idempotency-Key

Un échec en état final peut aussi renvoyer CONTENT_POLICY_VIOLATION, TASK_FAILED, TASK_TIMEOUT, etc. ; aucun frais en cas d'échec.

À vérifier avant la mise en production

  • Callback : les tâches vidéo étant longues, transmettez au niveau supérieur "callback": {"url": "https://..."} pour éviter l'interrogation répétée.
  • Copiez rapidement : l'adresse de la vidéo dans output est temporaire ; téléchargez-la dès réception et stockez-la dans votre propre stockage, n'utilisez pas un lien temporaire comme bibliothèque d'actifs.
  • Une même image peut être réutilisée : changer le prompt crée une nouvelle vidéo (nouvelle facturation), idéal pour produire rapidement toute une série de visuels de présentation multi-angles à partir d'une même image produit.
  • N'oubliez pas les 0,015 $ dans les calculs : pour un budget en lot, calculez « prix par seconde × nombre de secondes + 0,015 $ × nombre de vidéos ».
  • Le son ne peut pas être désactivé : pour un média silencieux, coupez le son en post-production ; le prix ne change pas.

Questions fréquentes

  • Oui, chaque vidéo inclut des effets sonores : les effets sonores décrits dans le prompt (vagues, bruit de pas dans la neige) sont générés avec, sans interrupteur pour les désactiver.
  • Oui, le format suit l'image d'entrée : une image 16:9 donne 1264×720, une image carrée donne 960×960, les pixels sont arrondis, le ratio reste inchangé.
  • Oui, image_url est une chaîne, une seule image autorisée ; un tableau ou plusieurs images renvoient une erreur 400.
  • Oui, la durée est de 1 à 15 secondes, n'importe quel entier : 5 à 6 secondes pour une action, plus de 10 secondes pour une action continue.
  • Oui, la qualité de l'image d'entrée détermine le plafond du résultat : une petite image floue ne deviendra pas nette en bougeant ; fournissez si possible une image nette d'au moins 720p.
  • Oui, il existe une formule pour les calculs en lot : prix par seconde × nombre de secondes + 0,015 $ × nombre de vidéos ; 720P 6 secondes pour cent vidéos = 27,30 $, mille vidéos = 273,00 $.

Étape suivante : prenez une de vos photos et animez-la depuis la page du modèle ; pour quatre scénarios, voir le recueil de prompts image-vers-vidéo.

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