Aller au contenu principal

Description d'images

Faire parler vos images

Grok OCR - extraction de texte depuis une image La description d’images est le cas d’usage le plus naturel de la vision multimodale de Grok. Vous envoyez une image, vous posez une question, et le modèle vous renvoie une analyse textuelle détaillée. Simple en apparence, cette capacité ouvre des possibilités considérables en production.

E-commerce
Fiches produits auto
Accessibilité
Alt text automatique
Modération
Filtrage de contenu
Catalogue
Indexation automatique

Description générale

La requête la plus simple consiste à demander une description libre :

response = client.responses.create(
    model="grok-4",
    input=[
        {"type": "input_image", "image_url": url_image},
        {"type": "input_text", "text": "Décris cette image en détail."}
    ]
)

Le modèle identifie les éléments principaux (objets, personnes, texte, couleurs, composition) et produit un paragraphe descriptif. Pour la plupart des images, le mode auto suffit.

Description structurée

En production, une description libre est rarement exploitable. Vous préférerez guider le modèle avec un prompt structuré :

prompt = """Analyse cette image et renvoie un JSON avec :
- "sujet": le sujet principal en une phrase
- "objets": liste des objets identifiés
- "couleurs_dominantes": les 3 couleurs principales
- "ambiance": l'ambiance générale (lumineux, sombre, chaleureux, etc.)
- "texte_visible": tout texte lisible dans l'image
"""

response = client.responses.create(
    model="grok-4",
    input=[
        {"type": "input_image", "image_url": url_image},
        {"type": "input_text", "text": prompt}
    ]
)

Ce format est directement exploitable par votre application pour alimenter une base de données, un moteur de recherche ou un catalogue.

Cas concret : fiches produits e-commerce

Un cas d’usage très demandé est la génération automatique de descriptions produits à partir de photos :

def generer_fiche_produit(image_url):
    prompt = """Tu es un rédacteur e-commerce expert. À partir de cette
photo de produit, génère :

1. Un titre produit accrocheur (max 80 caractères)
2. Une description marketing (2-3 phrases)
3. Les caractéristiques visibles (matière, couleur, forme)
4. Les mots-clés SEO pertinents (5 maximum)

Réponds en JSON."""

    response = client.responses.create(
        model="grok-4",
        input=[
            {"type": "input_image", "image_url": image_url, "detail": "high"},
            {"type": "input_text", "text": prompt}
        ],
        store=False
    )
    return response.output_text

En utilisant detail: "high", le modèle capture les détails fins du produit (textures, étiquettes, finitions) qui enrichissent la description.

Cas concret : texte alternatif (accessibilité)

Générer automatiquement des attributs alt pour les images de votre site améliore l’accessibilité et le SEO :

def generer_alt_text(image_url):
    prompt = """Génère un texte alternatif (attribut alt) pour cette
image web. Le texte doit :
- Être concis (max 125 caractères)
- Décrire le contenu, pas le style
- Ne pas commencer par "Image de" ou "Photo de"
- Être utile pour un lecteur d'écran

Renvoie uniquement le texte alt, sans guillemets."""

    response = client.responses.create(
        model="grok-4",
        input=[
            {"type": "input_image", "image_url": image_url, "detail": "low"},
            {"type": "input_text", "text": prompt}
        ],
        store=False
    )
    return response.output_text

Le mode low suffit ici car le texte alternatif est une description générale, pas une analyse fine.

Cas concret : modération de contenu

Vous pouvez utiliser la vision pour filtrer automatiquement les images uploadées par vos utilisateurs :

def moderer_image(image_url):
    prompt = """Analyse cette image et classe-la :
- "safe": contenu approprié pour tout public
- "warning": contenu sensible mais pas interdit
- "reject": contenu inapproprié

Renvoie un JSON avec "classification" et "raison"."""

    response = client.responses.create(
        model="grok-4",
        input=[
            {"type": "input_image", "image_url": image_url, "detail": "auto"},
            {"type": "input_text", "text": prompt}
        ],
        store=False
    )
    return response.output_text

Bonnes pratiques pour la description

  • Soyez précis dans votre prompt : “Décris cette image” produit des résultats vagues. “Identifie les produits, les couleurs et le texte visible” est beaucoup plus efficace
  • Demandez un format structuré (JSON, liste) pour faciliter le traitement automatique
  • Adaptez le niveau de détail au besoin : low pour la classification, high pour l’analyse fine
  • Utilisez store: false pour les images sensibles ou soumises au RGPD

Points clés à retenir

  • La description d’images est le cas d’usage fondamental de la vision Grok
  • Structurez vos prompts pour obtenir des réponses exploitables (JSON, listes)
  • Adaptez le paramètre detail au niveau de précision requis
  • Les applications courantes incluent l’e-commerce, l’accessibilité et la modération
  • Pensez à store: false pour les données sensibles