FlowKit

Analyser des images avec l'IA dans n8n : GPT-4o, Claude et Gemini en vision multimodale

Publié le 28 juillet 2026 · 8 min de lecture

Les modèles multimodaux ont changé la nature des workflows de traitement d'images : GPT-4o, Claude et Gemini ne se contentent plus de texte, ils « voient ». Depuis n8n, cela signifie qu'un ticket de caisse photographié, une photo produit ou une image uploadée par un utilisateur peut être envoyé au modèle avec une consigne en langage naturel — « extrais le montant total et la date », « cette photo est-elle nette et bien cadrée ? » — et revenir sous forme de données structurées exploitables par la suite du workflow. Ce guide couvre toute la chaîne : récupérer l'image, la préparer, l'envoyer au modèle (node natif ou HTTP Request), structurer la sortie, et éviter les pièges classiques de coût et de fiabilité.

Récupérer l'image : webhook, email ou Drive

Tout commence par l'entrée de l'image dans le workflow, sous forme de données binaires — le mécanisme par lequel n8n transporte les fichiers d'un node à l'autre, en parallèle du JSON. Trois sources reviennent constamment :

  • Webhook : un formulaire ou une application mobile envoie l'image en multipart/form-data. Le node Webhook expose alors le fichier dans les données binaires de l'item, prêt à être transmis.
  • Email : le node Gmail Trigger ou Email Trigger (IMAP), avec l'option de téléchargement des pièces jointes activée, récupère les photos envoyées par email — le canal préféré des équipes terrain qui photographient tickets et bons de livraison.
  • Google Drive / stockage : le node Google Drive (opération Download) ou un node HTTP Request vers une URL de fichier ramène l'image dans le workflow au moment voulu.

Dans les trois cas, vérifiez dans l'onglet Binary de la sortie du node que le fichier est bien là, avec son type MIME correct (image/jpeg, image/png…). C'est la donnée que les nodes suivants vont consommer — notre guide sur les données binaires dans n8n détaille ce fonctionnement et ses limites de mémoire.

Base64 ou binaire direct : préparer l'image pour le modèle

Les API vision acceptent généralement deux formes d'image : une URL publique que le fournisseur ira chercher lui-même, ou le contenu encodé en base64 directement dans la requête. L'URL publique est la plus simple quand l'image est déjà hébergée en ligne ; le base64 est incontournable quand l'image vit uniquement dans votre workflow (pièce jointe email, upload webhook).

Pour convertir un binaire n8n en base64, le plus direct est le node Extract from File avec l'opération « Move File to Base64 String », qui place la chaîne encodée dans un champ JSON. Un node Code avec Buffer fait la même chose si vous avez besoin de plus de contrôle. Gardez en tête qu'une image encodée en base64 pèse environ un tiers de plus que le fichier d'origine, et qu'elle transite dans le JSON de l'exécution — une raison de plus de redimensionner avant, on y revient.

Node OpenAI vs HTTP Request : deux chemins vers la vision

Le chemin simple : le node OpenAI. Le node OpenAI intègre une opération Analyze Image dans sa ressource Image : vous lui donnez l'image (binaire du workflow, base64 ou URL), un prompt texte, et il renvoie la réponse du modèle. Pas de structure de message à construire, pas d'encodage manuel : c'est l'option à privilégier pour démarrer, et celle que nous recommandons dans notre guide pour débuter avec les nodes IA de n8n.

Le chemin flexible : le node HTTP Request. Pour Claude, Gemini, ou pour piloter finement les paramètres OpenAI, un node HTTP Request vers l'API du fournisseur reste la voie royale. Le principe est le même partout : le message envoyé au modèle n'est plus une simple chaîne de texte, mais un tableau de blocs de contenu mêlant un bloc texte (votre consigne) et un ou plusieurs blocs image (le base64 accompagné de son type MIME, ou une URL selon le fournisseur). Chaque API a sa syntaxe exacte pour ce bloc image — référez-vous à la documentation du fournisseur plutôt que de deviner les noms de champs. La configuration des credentials et des en-têtes d'authentification est la même que pour du texte : notre article sur la connexion de Claude et GPT à n8n couvre cette partie.

Une consigne qui vaut pour les deux chemins : soignez le prompt autant que pour du texte. « Décris cette image » produit un paragraphe vague ; « Liste les articles de ce ticket avec prix unitaire, puis le total TTC ; si un champ est illisible, mets null » produit une donnée exploitable.

Cas d'usage concrets

Lecture de tickets de caisse et de reçus. Le cas d'usage roi des notes de frais : la photo du ticket arrive par email ou formulaire, le modèle en extrait commerçant, date, montant TTC et TVA, et le workflow alimente directement l'outil comptable. C'est le prolongement naturel de l'extraction de données de factures PDF par IA, appliqué aux documents photographiés plutôt que générés numériquement.

Contrôle qualité de photos produits. Avant publication sur une boutique en ligne, le modèle vérifie des critères définis dans le prompt : fond neutre, produit entier visible, netteté suffisante, absence de texte parasite. Les photos non conformes partent en file de correction avec le motif du rejet.

Modération d'images uploadées. Pour toute plateforme qui accepte des images d'utilisateurs (avatars, annonces, avis avec photos), un appel vision entre l'upload et la publication filtre les contenus inappropriés — en complément, pas en remplacement, d'une modération humaine pour les cas limites.

Alt-text automatique. Génération de descriptions d'images pour l'accessibilité et le SEO : le modèle produit un alt-text concis et factuel pour chaque image d'un CMS ou d'une médiathèque, tâche fastidieuse à la main et quasi gratuite en batch nocturne.

Extraction de texte générale. Captures d'écran, badges, étiquettes, panneaux : dans beaucoup de cas, le modèle multimodal remplace l'OCR classique, avec l'avantage de structurer directement le résultat. Le rapport technique de Microsoft signé Yang et al., « The Dawn of LMMs: Preliminary Explorations with GPT-4V(ision) » (2023 — voir sur Google Scholar), a exploré systématiquement ces capacités de lecture de texte dans les images dès la première génération de modèles vision — tout en documentant des cas d'échec bien réels, notamment sur les détails fins, qui justifient les garde-fous de la section suivante.

Structurer la sortie en JSON

Un paragraphe descriptif ne sert à rien à un workflow : il faut du JSON. Deux leviers se combinent. D'abord le prompt : décrivez explicitement le schéma attendu (noms de champs, types, valeur null si illisible) et exigez « uniquement du JSON, sans texte autour ». Ensuite la validation : un node Structured Output Parser (dans une chaîne LangChain) ou un node Code de contrôle en aval vérifie que la sortie respecte le schéma avant de la propager. Notre guide du Structured Output Parser détaille cette mécanique — elle est d'autant plus importante en vision que le modèle peut renvoyer des valeurs plausibles mais fausses sur les champs qu'il lit mal.

Un pattern robuste pour les documents financiers : demander au modèle un champ de confiance par valeur extraite (« sûr », « incertain », « illisible ») et router les items incertains vers une validation humaine plutôt que vers l'écriture comptable directe. C'est la même logique de tri que pour le classement de documents entrants par IA.

Coût et résolution : redimensionner avant d'envoyer

Les images se paient en tokens, et la facture dépend de la résolution : une photo de smartphone envoyée en pleine définition coûte sensiblement plus cher qu'une version réduite, pour un résultat souvent identique. Deux réflexes :

  • Un node Edit Image (opération Resize) avant l'appel, qui ramène l'image à une largeur de l'ordre de 1000 à 1500 pixels — suffisant pour lire un ticket ou décrire une scène.
  • Quand le fournisseur propose un paramètre de niveau de détail (comme le mode basse résolution d'OpenAI), utilisez le mode économique pour les tâches grossières (modération, description générale) et réservez le mode détaillé à la lecture de texte fin.

Sur un workflow qui traite des centaines d'images par jour, l'écart se chiffre vite : instrumentez vos appels comme décrit dans notre article sur le suivi du coût des appels IA dans n8n pour voir l'effet réel du redimensionnement sur la facture.

Pièges fréquents

  • Faire confiance aveuglément à la lecture des petits caractères. Numéros de TVA, montants en petite police, mentions légales : c'est précisément là que les modèles hallucinent des valeurs plausibles. Croisez les champs critiques (le total doit égaler la somme des lignes) et prévoyez une validation humaine pour les documents à enjeu.
  • Envoyer les images en pleine résolution par défaut. Coût multiplié et latence accrue sans gain de précision pour la plupart des tâches — le redimensionnement préalable devrait être le réflexe, pas l'exception.
  • Oublier le type MIME dans le bloc image. En HTTP Request, la plupart des API exigent le type exact (image/jpeg, image/png) à côté du base64 ; un type erroné ou absent produit une erreur 400 pas toujours explicite.
  • Construire le prompt comme pour du texte seul. Sans consigne de format ni règle pour les champs illisibles, le modèle brode. Schéma explicite, null autorisé, « JSON uniquement » : trois lignes de prompt qui changent tout.
  • Traiter la sortie du modèle sans validation. Un JSON malformé ou un champ manquant ne doit pas planter le workflow ni corrompre la base en aval : parser, valider, router les échecs.
  • Ignorer la taille des binaires dans l'exécution. Des dizaines d'images haute résolution accumulées dans une même exécution pèsent lourd en mémoire ; traitez par lots et purgez les binaires devenus inutiles.

Pour aller plus loin

L'analyse d'images s'insère rarement seule : elle alimente en général un pipeline documentaire plus large, où les mêmes données extraites doivent être classées, stockées et interrogeables. C'est exactement le terrain du Pack Assistant RAG (119 €), qui va au-delà de l'analyse d'images isolées pour construire un assistant capable d'interroger tout un corpus documentaire — factures, contrats, tickets numérisés compris. Et si votre point d'entrée est plutôt le PDF que la photo, le guide sur l'extraction de données de factures PDF par IA constitue le complément direct de cet article.

FAQ

Questions fréquentes

Faut-il convertir l'image en base64 avant de l'envoyer au modèle depuis n8n ?

Cela dépend du node utilisé. Le node OpenAI en opération Analyze Image accepte directement les données binaires du workflow ou une URL publique : il gère la conversion pour vous. En revanche, avec un node HTTP Request vers l'API vision de Claude ou Gemini, c'est à vous d'encoder le binaire en base64 (via un node Code et Buffer, ou l'option d'encodage du node Extract from File) et de l'insérer dans le bloc image du message JSON.

L'analyse d'images par IA remplace-t-elle un OCR classique dans n8n ?

Dans beaucoup de cas, oui : pour des tickets de caisse, des reçus ou des captures d'écran, un modèle multimodal lit le texte et le structure directement en JSON en un seul appel, là où un OCR classique renvoie du texte brut à retraiter. Mais l'OCR traditionnel reste préférable pour des volumes massifs de documents très standardisés, où il est moins cher et déterministe. Le point faible des modèles de vision reste les petits caractères et les chiffres denses, où des hallucinations sont possibles.

Comment obtenir un résultat exploitable (JSON) plutôt qu'un paragraphe de texte ?

Deux approches : soit demander explicitement un format JSON dans le prompt et activer le mode JSON du modèle quand il existe, soit passer par un node Structured Output Parser en aval qui valide la sortie contre un schéma défini. La seconde approche est plus robuste : si le modèle renvoie un champ manquant ou mal typé, le parser échoue proprement et vous pouvez router l'item vers une file de retraitement plutôt que de propager des données corrompues.

Pourquoi redimensionner les images avant de les envoyer au modèle ?

Parce que le coût en tokens d'une image dépend de sa résolution : une photo de smartphone de 12 mégapixels envoyée telle quelle coûte nettement plus cher qu'une version réduite, sans gain de précision réel pour la plupart des tâches (description, modération, lecture d'un ticket). Un node Edit Image placé avant l'appel, qui ramène l'image à une largeur de 1000 à 1500 pixels, réduit la facture et accélère la réponse. Réservez la haute résolution aux cas où les détails fins comptent vraiment.

Bundle FlowKit Complet

269 €