Aller au contenu principal

Édition multi-images et références

Travailler avec plusieurs images sources

L’un des atouts de l’endpoint d’édition est la possibilité de fournir jusqu’à 5 images de référence dans une seule requête. Cela ouvre des possibilités créatives avancées : combiner des éléments de plusieurs sources, fusionner des styles ou créer des compositions complexes.

Le paramètre images (pluriel)

Lorsque vous souhaitez utiliser plusieurs images sources, utilisez le paramètre images (tableau) au lieu de image (objet unique). Ces deux paramètres sont mutuellement exclusifs.

import requests
import os

headers = {
    "Authorization": f"Bearer {os.getenv('XAI_API_KEY')}",
    "Content-Type": "application/json"
}

payload = {
    "model": "grok-imagine-image",
    "prompt": "Combinez le personnage de la première image avec "
              "le paysage de la deuxième image",
    "images": [
        {"url": "https://exemple.com/personnage.jpg"},
        {"url": "https://exemple.com/paysage.jpg"}
    ]
}

response = requests.post(
    "https://api.x.ai/v1/images/edits",
    headers=headers,
    json=payload
).json()

Référencer les images dans le prompt

Lorsque vous fournissez plusieurs images, vous pouvez les référencer individuellement dans votre prompt en utilisant la syntaxe <IMAGE_0>, <IMAGE_1>, etc. L’index commence à 0.

payload = {
    "model": "grok-imagine-image",
    "prompt": "Placez le produit de <IMAGE_0> sur la table de <IMAGE_1>, "
              "avec l'éclairage ambiant de <IMAGE_2>",
    "images": [
        {"url": "https://exemple.com/produit.jpg"},      # <IMAGE_0>
        {"url": "https://exemple.com/table.jpg"},         # <IMAGE_1>
        {"url": "https://exemple.com/ambiance.jpg"}       # <IMAGE_2>
    ]
}

Cette syntaxe permet au modèle de comprendre précisément quel élément extraire de chaque image source.

Cas d’usage avec plusieurs images

Transfert de style

Appliquez le style d’une image de référence à une autre :

payload = {
    "model": "grok-imagine-image-pro",
    "prompt": "Reproduisez le contenu de <IMAGE_0> dans le style artistique de <IMAGE_1>",
    "images": [
        {"url": "https://exemple.com/photo-originale.jpg"},
        {"url": "https://exemple.com/reference-style.jpg"}
    ]
}

Composition de produit

Intégrez un produit dans un décor avec un éclairage de référence :

payload = {
    "model": "grok-imagine-image-pro",
    "prompt": "Photographiez le produit de <IMAGE_0> posé sur le meuble de <IMAGE_1> "
              "dans la pièce de <IMAGE_2>, éclairage naturel cohérent",
    "images": [
        {"url": "https://exemple.com/produit-detouré.png"},
        {"url": "https://exemple.com/meuble.jpg"},
        {"url": "https://exemple.com/piece.jpg"}
    ]
}

Fusion de visages et de décors

Combinez un portrait avec un arrière-plan spécifique :

payload = {
    "model": "grok-imagine-image",
    "prompt": "Placez la personne de <IMAGE_0> devant le bâtiment de <IMAGE_1>, "
              "en conservant l'éclairage et la perspective naturels",
    "images": [
        {"url": "https://exemple.com/portrait.jpg"},
        {"url": "https://exemple.com/batiment.jpg"}
    ]
}

Limites et bonnes pratiques

  • Maximum 5 images par requête
  • Les images peuvent mélanger les formats (URL et Base64)
  • Plus vous fournissez d’images, plus le prompt doit être précis
  • Utilisez les références <IMAGE_N> pour lever toute ambiguïté
  • Le modèle pro (grok-imagine-image-pro) produit de meilleurs résultats pour les compositions complexes

Mise en pratique

Essayez de combiner deux images que vous avez sous la main :

payload = {
    "model": "grok-imagine-image",
    "prompt": "Créez une scène où l'objet de <IMAGE_0> flotte dans le ciel de <IMAGE_1>, "
              "style surréaliste",
    "images": [
        {"url": "URL_DE_VOTRE_PREMIERE_IMAGE"},
        {"url": "URL_DE_VOTRE_DEUXIEME_IMAGE"}
    ],
    "n": 3
}

Générez 3 variations pour comparer les interprétations du modèle.

Points clés à retenir

  • Le paramètre images accepte jusqu’à 5 images sources en tableau
  • image (singulier) et images (pluriel) sont mutuellement exclusifs
  • La syntaxe <IMAGE_0>, <IMAGE_1> permet de référencer chaque image dans le prompt
  • Les cas d’usage incluent le transfert de style, la composition et la fusion
  • Soyez précis dans votre prompt lorsque vous utilisez plusieurs sources