Outil image_generation : créer des images
Mis à jour le 28 juillet 2026
Générer des images via votre agent
L’outil image_generation permet à votre agent de créer des images à partir de descriptions textuelles. Il complète naturellement les outils déjà vus : là où code_interpreter produit des chiffres et des courbes, celui-ci produit du visuel. C’est un outil puissant pour les cas d’usage créatifs, la génération de maquettes, ou l’illustration de concepts. Comme les autres outils built-in, il s’active à la création de l’agent et c’est le modèle qui décide de l’appeler quand la demande le justifie.
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}
)
Les instructions pèsent lourd ici. En demandant à l’agent de reformuler la demande en prompt détaillé, vous transformez un « fais-moi une image de chat » en description exploitable. En lui demandant d’annoncer l’image avant de la produire, vous vous donnez une chance de corriger le tir avant la génération. La température de 0.3 maintient cette reformulation disciplinée : on cherche de la précision descriptive, pas de l’invention libre.
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."
)
Derrière cet appel unique, l’agent enchaîne quatre temps : il analyse votre demande, formule un prompt optimisé pour le modèle de génération, crée l’image, puis retourne le fichier. Ces étapes apparaissent dans les outputs de la conversation, ce qui vous permet de savoir quel prompt a produit quelle image — précieux le jour où un résultat vous plaît et que vous voulez le reproduire.
Télécharger les images générées
Les images ne reviennent pas sous forme de texte dans la réponse : elles arrivent comme ToolFileChunk dans le contenu, et le fichier lui-même se récupère via l’API Files.
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")
Trois usages qui reviennent souvent
Le premier est l’illustration de documentation, quand un schéma explique mieux qu’un paragraphe.
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."
)
Le deuxième est la maquette visuelle, pour matérialiser une direction avant de mobiliser un designer.
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."
)
Le troisième est la création de contenu marketing, où l’agent produit un visuel calibré à partir d’un brief écrit.
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."
)
Dans les trois cas, la qualité du brief fait la qualité du résultat : un agent créatif n’invente pas votre intention, il l’exécute.
Combiner avec d’autres outils
La génération d’images prend toute sa valeur associée aux autres outils. Chercher des données, les analyser, puis les illustrer devient alors un seul enchaînement du point de vue de l’utilisateur.
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"}
]
)
Écrire de bons prompts d’image
Cinq leviers améliorent nettement les résultats. Soyez descriptif avant tout : « Un chat orange tigré assis sur un bureau en bois, éclairage naturel, style photographique » ne donne pas du tout la même image que « un chat ». Précisez ensuite le style attendu — photographique, illustration, aquarelle, minimaliste. Indiquez la composition, c’est-à-dire vue de face, plongée, gros plan ou plan large. Mentionnez l’éclairage, qu’il soit naturel, studio, contre-jour ou doré. Spécifiez enfin les couleurs : palette chaude, tons froids, monochrome. Ces cinq axes sont exactement ce que vous inscrivez dans les instructions de l’agent pour qu’il enrichisse lui-même les demandes trop courtes de vos utilisateurs.
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. Prenez l’habitude d’inventorier et de nettoyer : sans cela, votre espace se remplit de brouillons oubliés, et les fichiers dont vous aviez besoin disparaissent faute d’avoir été téléchargés à temps.
# 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_generationcrée des images à partir de descriptions textuelles- Les images sont retournées comme
ToolFileChunket téléchargeables viaclient.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