Skip to content

Vision — joindre des images ​

Sur cette page ​

Joindre une image ​

Deux canaux, combinables :

text
> @capture.png explique-moi ce bug
text
> /image chemin/maquette.png
> Que penses-tu de cette maquette ?
CanalUsage
@fichier.png dans le messageLe plus direct — comme @fichier pour le texte. Le @ est obligatoire : sans lui, le nom reste du simple texte.
/image <chemin|url>File d'attente pour le message suivant. Pratique pour les chemins avec espaces et les URLs. /image list, /image clear.

Formats et limites ​

  • Formats : JPEG, PNG, GIF, WebP — détectés par le contenu (magic bytes), pas par l'extension
  • 8 Mio max par image, 10 images et 24 Mio au total par message
  • Fichiers locaux confinés au workspace (refus explicite sinon)
  • URLs http(s) distantes transmises telles quelles (≤ 8 192 caractères) — pas de téléchargement local

Ce que voit le modèle ​

Les images sont envoyées dans les messages utilisateur uniquement, sérialisées selon le protocole du fournisseur :

ProtocoleFormat
OpenAI Chatimage_url (data URL base64 ou URL)
Anthropic Messagesbloc image + source (base64 ou URL)
OpenAI Responsesinput_image

Les octets ne sont lus qu'au moment de l'envoi. L'historique et les sessions ne contiennent que des références (chemin/URL + nom + type + taille) — jamais de base64.

Hors périmètre : Read sur une image. L'ajout d'images reste piloté par l'utilisateur — le modèle ne va pas chercher d'images tout seul.

Modèles compatibles ​

Le modèle doit déclarer la vision (supportsVision). Sinon, l'envoi est refusé explicitement — pas d'échec silencieux, pas de 400 surprise.

  • deepseek-flash (fournisseur DeepSeek) : vision native
  • Anthropic, OpenAI, Gemini : vision par défaut
  • Forçage : "supportsVision": true dans modelCapabilities["fournisseur/modèle"] (détail)

Coût ​

Environ 1 024 tokens par image, comptés dans l'estimation du tour. Zéro coût quand vous n'en joignez pas : pas de schéma d'outil, pas de taxe permanente.

Sessions et compaction ​

  • À la reprise d'une session, les images s'affichent comme [image: nom]
  • En compaction, le résumé reçoit [image: nom] au lieu du contenu — pas de renvoi coûteux
  • Si le fichier d'une image a disparu, l'erreur survient à l'envoi (Image illisible : …) : rien n'est lu ni encodé avant