Aller au contenu principal

Outil image_generation : créer des images

Générer des images via votre agent

L’outil image_generation permet à votre agent de créer des images à partir de descriptions textuelles. C’est un outil puissant pour les cas d’usage créatifs, la génération de maquettes, ou l’illustration de concepts.

Créer un agent avec génération d’images

from mistralai import Mistral
import os

client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])

agent = client.beta.agents.create(
    model="mistral-medium-latest",
    name="Agent Créatif",
    instructions="""Vous êtes un assistant créatif spécialisé en génération d'images.
- Reformulez les demandes en prompts détaillés pour de meilleurs résultats
- Décrivez l'image que vous allez générer avant de la créer
- Proposez des variantes si le résultat ne satisfait pas""",
    tools=[{"type": "image_generation"}],
    completion_args={"temperature": 0.3, "top_p": 0.95}
)

Générer une image

response = client.beta.conversations.start(
    agent_id=agent.id,
    inputs="Génère une image d'un chat orange dans un bureau moderne."
)

L’agent va :

  1. Analyser votre demande
  2. Formuler un prompt optimisé pour le modèle de génération
  3. Créer l’image
  4. Retourner le fichier

Télécharger les images générées

Les images sont retournées sous forme de ToolFileChunk dans le contenu de la réponse :

from mistralai.models import ToolFileChunk

for i, chunk in enumerate(response.outputs[-1].content):
    if isinstance(chunk, ToolFileChunk):
        # Télécharger le fichier image
        file_bytes = client.files.download(file_id=chunk.file_id).read()

        # Sauvegarder localement
        with open(f"image_{i}.png", "wb") as f:
            f.write(file_bytes)
        print(f"Image sauvegardée : image_{i}.png")

Cas d’usage

Illustrations pour documentation

response = client.beta.conversations.start(
    agent_id=agent.id,
    inputs="Crée un schéma visuel montrant l'architecture microservices avec un API Gateway, 3 services et une base de données."
)

Maquettes visuelles

response = client.beta.conversations.start(
    agent_id=agent.id,
    inputs="Génère une maquette de page d'accueil pour un site web de formation en ligne, style moderne et minimaliste avec des tons bleus."
)

Création de contenu marketing

response = client.beta.conversations.start(
    agent_id=agent.id,
    inputs="Crée une bannière promotionnelle pour une formation sur l'IA, avec le texte 'Maîtrisez l'IA en 2026' sur un fond technologique."
)

Combiner avec d’autres outils

L’image generation peut être combinée avec d’autres outils pour des workflows plus riches :

agent = client.beta.agents.create(
    model="mistral-large-latest",
    name="Agent Multimodal",
    description="Recherche, code et images.",
    instructions="Utilisez la recherche pour trouver des données, le code pour les analyser, et la génération d'images pour les illustrer.",
    tools=[
        {"type": "web_search"},
        {"type": "code_interpreter"},
        {"type": "image_generation"}
    ]
)

Bonnes pratiques pour les prompts d’image

Pour obtenir de meilleurs résultats :

  • Soyez descriptif — “Un chat orange tigré assis sur un bureau en bois, éclairage naturel, style photographique” plutôt que “un chat”
  • Précisez le style — Photographique, illustration, aquarelle, minimaliste, etc.
  • Indiquez la composition — Vue de face, plongée, gros plan, plan large
  • Mentionnez l’éclairage — Naturel, studio, contre-jour, doré
  • Spécifiez les couleurs — Palette chaude, tons froids, monochrome

Gestion des fichiers générés

Les images générées sont stockées temporairement dans le cloud Mistral via l’API Files :

# Lister les fichiers
files = client.files.list()
for f in files.data:
    print(f"{f.id}{f.filename}{f.bytes} bytes")

# Supprimer un fichier
client.files.delete(file_id="file-xxxxxxxx")

Points clés à retenir

  • image_generation crée des images à partir de descriptions textuelles
  • Les images sont retournées comme ToolFileChunk et téléchargeables via client.files.download()
  • Des prompts détaillés (style, composition, éclairage) améliorent significativement les résultats
  • L’outil peut être combiné avec web_search et code_interpreter
  • Les fichiers générés sont temporaires — téléchargez-les ou ils seront supprimés