Table des matières
📍 Cet article est la suite directe de mes deux premiers workflows publiés dans la Quête 3 :
- Créer une base de données d’image pour rester fidèle à sa direction artistique
- Générer une image IA cohérente à partir d’une base vectorielle
Ces deux articles présentaient une méthode efficace pour créer des illustrations fidèles à sa direction artistique à partir d’une base de donnée d’image.
Le principe ?
Décrire une image → vectoriser la description → retrouver les illustrations proches via pgvector → générer une image cohérente.
Mais après plusieurs semaines d’utilisation, un constat s’impose :
La vectorisation de descriptions textuelles ne permet pas d’exprimer toute la richesse d’un style visuel.
Et si l’on souhaite créer des visuels cohérents à l’échelle d’une marque, d’une DA bien définie ou d’un univers graphique immersif… alors il faut aller plus loin.
🧪 Nouvelle tentative : vectoriser directement les images
L’idée : au lieu de vectoriser des descriptions, vectoriser les images elles-mêmes pour capturer leur signature visuelle.
Pour ça, j’ai mis en place un pipeline complet :
- Déploiement d’une API OpenCLIP auto-hébergée (modèle ViT-B-32, laion2b)
- Génération d’embeddings vectoriels à partir des fichiers image
- Insertion de ces vecteurs dans Supabase avec pgvector
- Création de fonctions de matching pour requêter les images par similarité visuelle
🎯 L’objectif était clair :
Permettre à une IA de générer une nouvelle image dans le même style visuel qu’une collection existante, sans se baser uniquement sur le texte de la description.
En effet, celui-ci est biaisé : il ne transmet qu'une dimension de l'image, alors que l'image contient des subtilités qu'on ne sait pas toujours nommer.
Le but était donc de constituer une base qui devient de plus en plus performante à mesure qu'elle est enrichie par des nouvelles images.
⚠️ Les limites rencontrées
Très vite, je me suis retrouvé confronté à des limites techniques liées aux modèles de vectorisation et aux générateurs d’images actuels.
❌ 1. L'encodage visuel est à sens unique
OpenCLIP permet de transformer une image en un vecteur numérique : un résumé mathématique de son apparence.
Mais l’inverse n’existe pas : on ne peut pas recréer une image à partir d’un vecteur.
👉 En clair, c’est comme si tu pouvais transformer une photo en équation... mais que personne ne savait résoudre l’équation pour retrouver l’image.
Ça bloque toute tentative de générer une image à partir de plusieurs visuels similaires : impossible d'en faire une synthèse, ou de recréer une image “dans le même style” uniquement à partir de ces données.
❌ 2. Pas de séparation entre style et contenu
Même si on pouvait exploiter les vecteurs, un autre problème surgit :
l’IA ne distingue pas le “style” du “contenu” dans ces embeddings.
Par exemple, si tu veux une “forêt dessinée dans le style de mes illustrations brumeuses”, l’IA risque de te répondre avec... une brume. Ou une forêt floue. Ou rien à voir.
Elle confond les éléments visuels qui représentent quelque chose (contenu) avec ceux qui font l’ambiance (style), et mélange tout sans nuance.
❌ 3. Les IA d’image ne parlent que texte
Enfin, même si tu arrives à obtenir un vecteur représentatif d’un style, aucun générateur d’image IA ne peut le comprendre.
Tous attendent des prompts textuels. Tu dois donc forcément décrire ton style avec des mots, même si ce n’est pas fidèle, même si c’est imprécis.
➡️ Ce qui nous ramène… au point de départ.
🧠 Solutions envisagées
Dans l'état de la technologie actuelle, les bases vectorielles sont très efficaces pour des documents. Pour les images, c'est une autre histoire.
Voici les options sur lesquelles je me rabats, par dépit :
✅ 1. Prompting manuel assisté par IA
Créer une bibliothèque de prompts stylisés basés sur les images existantes.
Fiable, mais demande beaucoup d’interventions humaines et de tests.
✅ 2. Utilisation des Projects ChatGPT (MCP)
Créer un projet ChatGPT par direction artistique, en y ajoutant 20 images stylisées.
L’agent garde le contexte et peut générer des prompts ou images cohérentes.
Avantages :
- Bonne cohérence stylistique
- Automatisation possible via
project_id
et n8n
Limites :
- 20 images max par projet
- Pas encore de lien natif avec DALL·E ou un moteur IA
⚠️ 3. Claude + base vectorielle
Claude peut interroger une base vectorielle et en déduire des patterns… mais seulement sur un sous-ensemble limité (top 10-20 résultats).
Intéressant pour du prompting avancé, mais trop restreint pour modéliser un style global. Et on rencontre finalement les memes limites citées précédemment.
✅ Ma position actuelle
Après tous ces tests :
- Je continue à utiliser la vectorisation de descriptions textuelles pour proposer des images stylistiquement proches.
- J’utilise les Projects ChatGPT pour garder une unité sur des collections d’images.
- Et j’attends l’arrivée de modèles plus puissants pour relancer une approche image-to-image via vecteurs.
🗺️ Conclusion : une fondation prête pour l’avenir
Même si les outils de génération d’image ne sont pas encore capables d’exploiter pleinement les vecteurs visuels, le travail en amont n’est pas perdu.
Construire dès aujourd’hui une base bien structurée, riche en illustrations cohérentes, c’est poser les fondations d’un futur où ces données deviendront exploitables.
Quand les modèles sauront interpréter ces vecteurs avec finesse, ta base sera prête.
Et si jamais tu as déjà exploré ce sujet — ou trouvé une autre approche pour générer des images cohérentes à partir d’un style visuel… je suis preneur !