xAI: Grok Imagine Image 2.0
Grok Imagine Image 2.0 crée des images à partir de briefs écrits et modifie des images existantes au moyen d’instructions en langage naturel. xAI documente le réglage de la qualité, de la résolution et de la composition, les références à plusieurs images, le transfert de style et l’affinage par étapes.
À 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.
Grok Imagine Image 2.0 est le modèle de génération et de retouche d’images de xAI. Il reçoit une description écrite, ou une description accompagnée d’images sources, et renvoie une image. Le profil 2.0 nommé par le fournisseur couvre la création d’une scène, la modification d’une image existante, la combinaison de sujets issus de références et la transformation du style visuel. Commencez par déterminer si vous souhaitez une nouvelle composition ou une modification précise d’un contenu déjà disponible.
Créer une image à partir d’un brief
Décrivez le sujet principal, son environnement, la composition, l’éclairage et le traitement visuel. Précisez ce que le public doit remarquer en premier et l’usage prévu de l’image. Pour un concept de produit, un exemple de brief peut décrire une lampe de bureau en céramique sur une table en pierre claire, une douce lumière de fenêtre, une vue rapprochée de la matière et un espace libre pour un titre ajouté séparément. Pour une illustration, indiquez les personnages, l’action et l’esthétique recherchée, sans attendre qu’un seul mot de style définisse toute la scène.
Le fournisseur documente une à dix images de sortie par demande de génération, avec une image par défaut. Plusieurs résultats issus du même brief offrent des variantes à examiner ; ils ne garantissent pas un sujet identique dans chaque variante. Vérifiez le sujet, la composition et les détails importants, puis conservez la version qui correspond le mieux au brief. Gardez le brief avec la variante retenue afin que les retouches ultérieures partent de la composition voulue.
Composition, résolution et qualité
Le guide de génération documente la sélection automatique du rapport d’aspect ou sa définition explicite. Les choix indiqués comprennent 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 2:1, 1:2, 19.5:9, 9:19.5, 20:9, 9:20, 21:9 et 5:2. Choisissez le format en fonction de son emplacement : carré pour une vignette compacte, portrait pour une composition verticale ou paysage pour une scène large. Précisez le sujet dont le cadrage est délicat et l’espace nécessaire à la mise en page, sans vous reposer uniquement sur le rapport d’aspect.
Les réglages documentés de résolution de génération sont 1k et 2k, avec 1k par défaut. La qualité constitue un réglage distinct, avec les choix low, medium et auto. Dans le guide actuel de xAI, auto est la valeur par défaut et utilise low pour la génération et medium pour la retouche ; un réglage explicite low ou medium fixe ce choix. La résolution et la qualité correspondent donc à des commandes différentes. Décrivez les détails visuels importants et inspectez-les dans l’image renvoyée, sans considérer l’un ou l’autre réglage comme une garantie de fidélité du lettrage, de la géométrie ou du sujet.
Retoucher et transférer un style visuel
Fournissez l’image à modifier et décrivez la modification souhaitée en fonction de son contenu visible. Une retouche ciblée peut demander de remplacer un mur sombre par une surface en enduit clair tout en conservant la disposition du mobilier, le point de vue de la caméra et l’éclairage chaleureux. Si vous souhaitez une transformation stylistique, précisez le traitement recherché : le fournisseur montre des styles photographique, anime, peinture à l’huile, aquarelle, pop art et dessin au crayon. Identifiez les éléments dont l’apparence doit être conservée et ceux que le traitement peut modifier.
Le processus de retouche du fournisseur accepte une référence d’image source, des données d’image encodées ou un identifiant de fichier. Pour les références stockées, utilisez des images PNG, JPEG ou WebP entièrement téléversées. Son guide documente également les retouches successives : utilisez le résultat d’une retouche comme entrée de la suivante. Vous pouvez ainsi affiner une composition de base en modifiant le mobilier, puis l’éclairage. Gardez l’original et l’image intermédiaire retenue associés à chaque brief, afin de comparer un affinage ultérieur à la composition souhaitée.
Combiner plusieurs références
Le guide actuel consacré aux images multiples autorise jusqu’à cinq images sources dans une même retouche. Désignez-les dans l’ordre où elles sont fournies et attribuez à chacune un rôle clair, par exemple le sujet de la première image et l’environnement de la deuxième. Par défaut, le rapport d’aspect de sortie suit celui de la première image d’entrée ; un rapport explicite permet de le remplacer. Pour un concept de produit dans une pièce, décrivez sa position, sa taille et son contact avec les surfaces de la pièce, puis demandez de préserver les détails qui l’identifient. Vérifiez la combinaison des sources sans supposer que chaque élément a été copié sans modification.
Recevoir et conserver l’image
Le fournisseur renvoie par défaut une adresse d’image temporaire et documente également une sortie sous forme d’image encodée. Conservez rapidement l’image elle-même lorsqu’elle doit servir de ressource. Son processus différé facultatif sépare l’accusé de réception de la demande de son achèvement : un identifiant de demande est suivi d’un statut pending, done ou failed, et les résultats différés utilisent le format de réponse par adresse, avec une durée de conservation documentée de 24 heures. Une demande envoyée ou un statut pending ne constitue pas une image terminée. Conservez l’image achevée avec son brief et les réglages choisis pour la réutiliser.
Un livrable final utile est une image qui répond à un brief défini de scène, de mise en page ou de retouche. Inspectez l’ensemble de la composition et ses petits détails, en particulier le sujet source, les contours des objets, les proportions et tout lettrage porteur de sens. Pour un travail itératif, modifiez l’instruction associée au problème visible et utilisez le résultat retenu comme référence suivante. Formulez concrètement les modifications et les éléments à préserver afin d’évaluer chaque résultat selon un objectif créatif précis.
Ailoot Ultra · Génération d’images POST /v1/images/generations x-ai/grok-imagine-image-2.0
x-ai/grok-imagine-image-2.0Premiers pas
Grok Imagine Image 2.0 crée des images à partir de briefs écrits et modifie des images existantes au moyen d’instructions en langage naturel. xAI documente le réglage de la qualité, de la résolution et de la composition, les références à plusieurs images, le transfert de style et l’affinage par étapes.
- Entrées acceptées
- Texte · Images
- Résultats
- Images
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Génération d’images POST /v1/images/generations
- Types d’entrée
text,image- Types de sortie
image
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites x-ai/grok-imagine-image-2.0 | Par défaut— |
Champprompt | Typestring | ExigenceObligatoire | Valeurs et limites Longueur minimale: 1 | Par défaut— |
Champresolution | Typestring | ExigenceFacultatif | Valeurs et limites 1K, 2K | Par défaut— |
Champaspect_ratio | Typestring | ExigenceFacultatif | Valeurs et limites 1:1, 3:4, 4:3, 9:16, 16:9, 2:3, 3:2, 9:19.5, 19.5:9, 9:20, 20:9, 1:2, 2:1, auto | Par défaut— |
Champquality | Typestring | ExigenceFacultatif | Valeurs et limites low, medium | Par défaut— |
Champn | Typeinteger | ExigenceFacultatif | Valeurs et limites Minimum: 1 Maximum: 1 | Par défaut— |
Champinput_references | Typearray | ExigenceFacultatif | Valeurs et limites Nombre minimal d’éléments: 0 Nombre maximal d’éléments: 3 | Par défaut— |
Champprovider | Typeobject | ExigenceFacultatif | Valeurs et limites | 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ètrematerial_types | Contrattext, image |
Cycle de vie : synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id effectivement renvoyé ou enregistrement de la bibliothèque multimédia
GET /v1/media/assets/{asset_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 | Unité de facturation | Coût |
|---|---|---|---|---|
| ConfigurationTarifs de base par jeton | Barème tarifaireTarif de base | Quantité prévisionnelle— | Unité de facturation— | 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 |
| Configurationimage en entrée | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar image en entrée | Coût Entrée · image en entrée · Estimation à des fins de comparaison uniquement $0.02 par image en entrée |
| ConfigurationCoût de génération estimé | Barème tarifaire— | Quantité prévisionnelleEstimation pour une génération | Unité de facturation— | Coût Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $0.08 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 · Génération d’images
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'x-ai/grok-imagine-image-2.0', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
Recevoir et enregistrer les résultats
Ailoot Ultra · Génération d’images
Téléchargez chaque image renvoyée ou enregistrez son contenu Base64
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Autres lectures de contenu
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Conserver tous les résultats terminés
Enregistrez chaque image terminée ; récupérez chaque URL renvoyée ou décodez son contenu Base64.
Conservez la réponse complète et les en-têtes, chaque sortie effective, les identifiants initialement renvoyés et tous les champs d’utilisation. Récupérez l’opération d’origine sans soumettre à nouveau sa création.
Si la réponse d’origine doit être vérifiée
Conservez le X-Client-Request-ID renvoyé pour le rapprochement. Consultez uniquement les valeurs task_id/asset_id effectivement renvoyées ou votre bibliothèque multimédia ; ne construisez jamais une URL de tâche à partir de l’identifiant de l’opération et ne soumettez jamais à nouveau la création.
Champs de la réponse
| Champ | Type |
|---|---|
Champcreated | Type |
Champdata[].url | Type |
Champdata[].b64_json | Type |
Champusage | Type |
Alias
Alias du modèle
Ailoot Ultra x-ai/grok-imagine-image-2.0
Alias des chemins de méthode
/v1/images
ID d’appel associés
FAQ · xAI: Grok Imagine Image 2.0
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/images/generations·x-ai/grok-imagine-image-2.0:text,image→image- Quels champs la requête utilise-t-elle ?
POST /v1/images/generations·x-ai/grok-imagine-image-2.0:model,prompt,resolution,aspect_ratio,quality,n,input_references,provider- Quelles limites s’appliquent ?
POST /v1/images/generations·x-ai/grok-imagine-image-2.0:n.minimum:1;n.maximum:1