Skip to main content
POST
Texte vers image · tâches asynchrones. Envoyez POST /v1/images/generations, puis interrogez Obtenir le statut de la tâche.
Nom de modèle fixe : grok-imagine-2.0-ext. Non pris en charge : images de référence, stream, ou valeurs de response_format autres que url.
N’intégrez pas les clés API dans les bundles navigateur (VITE_* / NEXT_PUBLIC_*, LocalStorage, etc.). Préférez appeler votre propre BFF depuis le navigateur ; conservez la clé APIMart côté serveur.

Capacités et limites

Authentification et en-têtes recommandés

string
requis
Jeton Bearer. Obtenez une clé sur la page des clés API.

Paramètres de la requête

string
requis
Valeur fixe : grok-imagine-2.0-ext
string
requis
Prompt. Ne doit pas être vide après trim. Trimmez avant l’envoi.
integer
défaut:"1"
Nombre d’images : 112. Un 0 explicite provoque une erreur. Omettre pour 1.
string
Ratio d’aspect. Préférez les chaînes de ratio (l’UI ne devrait afficher que les ratios) :Alias pixel : 1024x1024 (1:1), 1024x1792 (2:3), 1792x1024 (3:2), 720x1280 (9:16), 1280x720 (16:9).Les valeurs hors liste blanche renvoient 400 invalid_size (ex. 1:2, 2:1, 4:5, auto).
Les pixels réels pour un ratio donné peuvent différer du tableau d’alias (ex. 1:1 peut renvoyer 1408×1408). Faites confiance à l’image renvoyée ; ne réécrivez pas size à partir des pixels mesurés.
string
Champ de mode qualité. Valeur vérifiée : quality.
  • Omettre (le modèle est en mode qualité par défaut), ou
  • Envoyer explicitement resolution: "quality"
Ce n’est pas un palier pixel 1K / 2K / 4K ; le cadrage est contrôlé par size.
N’envoyez pas de champ public quality — vous obtiendrez 400 invalid_quality. Utilisez resolution.
string
défaut:"url"
Seul url est autorisé. Peut être omis. b64_json / base64400 invalid_response_format.
string
URL de base HTTPS publique facultative. En statut terminal, la plateforme envoie un POST à {webhook}/callback. Côté serveur uniquement — voir Webhook.

Paramètres non pris en charge

Construisez les requêtes avec une liste blanche ; ne transmettez pas un objet de formulaire générique issu d’autres modèles d’image.

Exemples de requête

Minimal

Recommandé

Réponse de soumission

Préférez X-APIMart-Response-Version: 2026-07-27. Le succès est HTTP 202 ; l’identifiant de tâche est data.id (ne vous fiez pas au format hérité data[0].task_id). Conservez :
  • data.id pour l’interrogation
  • request_id pour le débogage de la passerelle
  • la Idempotency-Key pour des nouvelles tentatives sûres lorsque le résultat est inconnu
  • les paramètres de requête d’origine pour l’UI / le support

Idempotence et nouvelles tentatives sûres

La génération d’images est facturable — fortement recommandé : Idempotency-Key (1–191 caractères ASCII imprimables ; UUID le plus simple ; conservation ~24 heures). En cas de timeout réseau POST sans savoir si le serveur a accepté le job, ne créez pas immédiatement une nouvelle clé — réessayez avec la même clé / corps / version de réponse.

Interroger les tâches

language facultatif : zh / en / ko / ja (localisation des messages d’échec uniquement). Voir Obtenir le statut de la tâche.

Statuts

Interrogez environ toutes les 2 secondes ; plafond près de 10 minutes ou 120 tentatives. Respectez Retry-After sur 429. Les tâches sont conservées ~3 jours par défaut — gardez l’identifiant de tâche si le client expire.

Exemple de tâche terminée

Parser url et image_ids

  1. Utilisez url[] pour l’affichage ; si n>1, parcourez toutes les entrées
  2. Associez par index uniquement si image_ids.length === url.length
  3. L’absence de image_ids permet toujours l’affichage
  4. Les liens durent 72 heures — téléchargez rapidement ; faites aussi confiance à expires_at

Facturation

Prix de base $0.08 par image (livraisons réussies) :
  • L’UI avant envoi doit indiquer une « estimation » ; le montant USD final est data.cost
  • data.credits_cost est la vue crédits (actuellement ~ USD × 10)
  • Pré-débit selon le nombre demandé ; règlement sur le nombre réussi (remboursements partiels en cas d’échec partiel)
  • Échec total : cost=0, pré-débit remboursé
  • Ne construisez pas de clés de prix à partir de resolution ; ce modèle a un tarif forfaitaire par image

Webhook (facultatif)

  • Fournissez une URL de base ; la plateforme appelle {base}/callback
  • Doit être publique et passer les contrôles SSRF
  • Si webhook_secret est défini, la signature est hex(HMAC-SHA256(secret, raw_body)) sur les octets bruts
  • Le corps du callback correspond au data de l’interrogation de tâche (sans enveloppe {code,data} supplémentaire)
  • Conservez tout de même une interrogation basse fréquence en secours

Erreurs courantes

Préférez error.message pour l’UI. Ne pas exposer les détails internes d’authentification aux utilisateurs finaux.

Différences avec 1.5 (résumé)