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 :
- Analyser votre demande
- Formuler un prompt optimisé pour le modèle de génération
- Créer l’image
- 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_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