À retenir
- Les modèles d’images ne dessinent pas directement à partir des mots. Ils apprennent un espace visuel dans lequel les prompts indiquent quel type d’image convient.
- Le prompt contrôle les contraintes, mais le modèle complète quand même les détails à partir des patterns appris pendant l’entraînement.
- Pour obtenir de meilleures images, il faut comprendre le guidage, les contraintes, le style et les endroits où le modèle invente les détails manquants.
Chaque image que vous avez générée, chaque miniature, chaque avatar, chaque étrange expérience d’art IA qui vous transforme dans un nouveau style comme celui-ci, ou chaque mème : tout a été créé de l’une de deux façons.
L’image a été sculptée à partir du bruit. Ou écrite un morceau à la fois, comme une phrase. C’est tout. Seulement deux familles. Et chaque outil que vous utilisez, Midjourney, ChatGPT, Nano Banana, FLUX, appartient à l’une d’elles.

La plupart des gens pensent que les générateurs d’images par IA cherchent dans une gigantesque base de données et assemblent des morceaux. Comme un collage intelligent fait avec Google Images.
Et c’est une énorme idée reçue.
Je vais vous montrer pourquoi elle est fausse, comment ces outils fonctionnent réellement et comment utiliser cette compréhension pour obtenir de meilleures images avec moins d’effort.
Je suis Louis-François, CTO et cofondateur de Towards AI, et je couvre des sujets liés à l’IA sur cette chaîne depuis plus de 6 ans. Aujourd’hui, je vais expliquer comment fonctionne réellement la génération d’images en prenant comme exemple quelque chose que je fais chaque semaine : créer des miniatures YouTube.
D’accord, entrons dans le vif du sujet!
J’utilise Nano Banana dans AI Studio de Google depuis un certain temps parce que les itérations sont rapides et qu’il suit bien l’intention d’une miniature, particulièrement lorsque vous définissez des paramètres précis comme le format paysage 16:9, ce qu’on ne peut pas faire sur la plupart des autres plateformes comme le chat Gemini ou ChatGPT. Mais à part ce contrôle supplémentaire sur le résultat, le workflow reste le même, que vous utilisiez Gemini, ChatGPT, FLUX ou autre chose. Vous écrivez un prompt, vous joignez peut-être une photo et une image apparaît. Alors, que s’est-il réellement passé entre le prompt et les pixels que vous voyez?
D’abord, beaucoup de gens croient encore que l’IA cherche dans une base de données, trouve les morceaux qui correspondent à votre prompt et les assemble. Comme un collage Google Images très sophistiqué. Ça semble logique, surtout pour moi, puisque j’ai déjà des centaines et des centaines de miniatures prêtes à servir d’inspiration.
Ce n’est pas ce qui se passe. Et c’est facile à prouver. J’ai des amis avec pratiquement aucune présence en ligne qui ont téléversé un selfie et reçu une version parfaitement stylisée d’eux-mêmes. Si le modèle cherchait et recombinait des images existantes, ça ne fonctionnerait pas. Il n’y a rien à trouver.
Ce que le modèle a réellement appris pendant l’entraînement est une carte statistique de l’apparence des images et de la relation entre le texte et la structure visuelle. La texture de la peau, le flou de l’objectif, la direction de l’éclairage, l’endroit où le texte d’une miniature se trouve habituellement, la manière dont le tissu se plie sous un certain éclairage. Pas sous forme de règles écrites en anglais, mais comme des patterns compressés dans les poids du modèle. Des milliards de patterns.
Lorsque vous lui donnez un prompt, le modèle génère donc une nouvelle image qui satisfait deux contraintes en même temps : elle doit ressembler à une image plausible, comme celles qu’il a été entraîné à reproduire, et elle doit respecter votre instruction, le prompt que vous lui donnez. C’est tout le principe.
Mais voici le problème. Une seule miniature contient des millions de valeurs de pixels. Les générer directement serait ridiculement coûteux pour n’importe quel GPU, même des H100s. Et c’est en fait l’idée clé qui a permis à la génération d’images moderne de fonctionner. C’est ce qui a débloqué tout le domaine au cours des dernières années, en passant de ça… à ça…
Presque aucun modèle ne génère de pixels bruts. Ce serait beaucoup trop peu pratique de travailler dans un espace aussi vaste. Ce serait comme travailler avec un LLM qui possède un million de tokens dans son contexte chaque fois que vous l’utilisez, simplement pour une image 1080p normale. À titre de référence, la plupart des LLMs peuvent soutenir environ 100 à 200k tokens avant que les résultats commencent à empirer, et ils en oublient plusieurs parties.

Ces modèles d’images utilisent donc un petit hack : ils génèrent leurs « tokens » dans ce qu’on appelle l’espace latent. Nous utilisons un encodeur qui prend votre image complète et la compresse dans une grille de nombres beaucoup plus petite. Un plan compact qui capture toujours des structures comme les formes, la mise en page, l’éclairage et les textures, mais avec beaucoup moins de valeurs. Cet encodeur apprend essentiellement à extraire les principes clés de chaque image plutôt que les valeurs brutes des pixels RGB, ce qui, lorsqu’on y pense, est tout à fait logique. Vous n’avez pas besoin de connaître chaque millimètre pour copier une œuvre. Vous devez en connaître la plus grande partie, avec toute l’information sur les textures et les détails, puis vous pouvez deviner les « pixels » manquants. Ce nouvel espace compressé, que nous appelons notre espace latent et que l’encodeur crée, est beaucoup, beaucoup plus petit que le million de tokens ou presque de l’original. Le modèle de génération fait tout le gros travail dans cet espace compressé. Un décodeur agrandit ensuite le résultat pour recréer l’image en pleine résolution que vous voyez.
Donc, répétons-le, puisqu’il s’agit de la partie la plus importante à comprendre : les pixels sont le rendu final. L’image elle-même, à la fin. L’espace latent est le plan. Un seul pixel n’est qu’une valeur de couleur, il ne signifie rien par lui-même. Dans l’espace latent, chaque valeur tend à représenter un fragment de structure porteur de sens parce qu’elle doit contenir plus d’information par nombre. C’est de la compression avec une structure apprise, et c’est ce qui a permis à la génération d’images de passer à l’échelle.
C’est aussi une autre raison pour laquelle le modèle mental selon lequel « l’IA copie des images » ne tient pas. Ce que le modèle a appris n’est pas un dossier de fichiers JPEG. C’est un processus génératif dans un espace de représentations compressées.
PREMIÈRE FAMILLE : SCULPTER À PARTIR DU BRUIT

Maintenant, comment la génération elle-même se produit-elle? Il existe deux approches fondamentalement différentes, et savoir laquelle vous utilisez vous aide réellement à comprendre pourquoi vos résultats ont cette apparence.
La première famille génère par raffinement. Vous la connaissez peut-être sous le nom de diffusion. Le processus d’entraînement est une astuce intelligente en deux étapes que j’ai trouvée vraiment élégante lorsque je l’ai découverte pour la première fois dans mes lectures.
Première étape : prenez une vraie image du dataset d’entraînement et corrompez-la en ajoutant du bruit. Pas une seule fois, mais progressivement. Un peu de bruit, puis plus, puis encore plus, jusqu’à ce que l’image ressemble à un écran de télévision des années 1960. Et vous enregistrez chacune de ces étapes intermédiaires pour vous souvenir du bruit ajouté à chaque étape.
Le bruit n’est ici qu’une perturbation que vous ajoutez à l’image. Vous mélangez essentiellement les valeurs des pixels selon un certain pattern, habituellement un pattern gaussien, ce qui brouille peu à peu l’image jusqu’à ce qu’elle ressemble à du bruit pur.

Deuxième étape : entraînez un modèle à inverser cette corruption. Montrez-lui une image bruitée et demandez-lui de prédire le bruit ajouté, c’est-à-dire comment débruiter l’image d’une étape pour la rapprocher de l’originale. Une seule étape, en lui demandant de retirer seulement une passe de bruit. Et vous répétez ça pour toutes les étapes de bruit que vous avez appliquées. À chaque étape, vous comparez la prédiction du modèle à l’étape intermédiaire que vous aviez enregistrée, vous le corrigez et vous recommencez. Après des millions d’exemples et de nombreux niveaux de bruit, le modèle devient très bon pour dire : « devant ce désordre bruité, la version plus propre ressemble probablement à ça ».
Au moment de la génération, vous faites la même chose sans connaître la véritable réponse. Vous partez de bruit aléatoire. Vous appliquez le modèle de débruitage à répétition. Chaque étape rapproche un peu l’image de quelque chose de propre et cohérent. Et votre prompt textuel est injecté par le mécanisme d’attention à chacune des étapes, ce qui guide le débruitage vers ce que vous avez demandé.
Ici, l’attention signifie simplement que lorsque vous injectez votre prompt, vos instructions sont aussi transformées dans le même espace latent, et les valeurs qui leur sont associées influencent toutes les valeurs en cours de débruitage. Vous « conditionnez » donc essentiellement votre débruiteur pour qu’il retire le bruit, MAIS d’une manière cohérente avec l’information qui vient du prompt. C’est pourquoi nous appelons ces modèles des « modèles de diffusion conditionnelle », parce que nous les conditionnons, ou les guidons, avec les valeurs de nos prompts.
La diffusion ressemble donc un peu à de la sculpture. Vous commencez avec une masse et vous la raffinez. Et puisque les mises à jour touchent toute l’image à chaque étape, le modèle peut corriger des erreurs en cours de route. Si la composition dérive au début, les étapes suivantes peuvent la ramener… sauf si vous foutez vraiment tout en l’air en faisant une étape de « débruitage » beaucoup trop grande.
Et en passant, beaucoup de recherches étudient les modèles de diffusion pour remplacer les Transformers en raison de leur vitesse prometteuse, puisque les modèles de diffusion génèrent tous les tokens en même temps plutôt qu’un par un, ce qui signifie qu’ils peuvent produire de bien plus longues séquences plus rapidement.
Les modèles de diffusion originaux utilisaient un type de modèle appelé U-Net comme backbone de débruitage. Il s’agit essentiellement d’un réseau convolutionnel inspiré des travaux de Yann LeCun et d’autres, très populaire dans les applications de vision en temps réel et, lorsque je faisais ma maîtrise, dans toutes les tâches liées à la vision. Sa forme ressemble à un sablier. Il compresse l’image dans un espace latent plus petit, exactement comme nous en avons parlé, pour capturer le contexte global, puis la développe de nouveau tout en réutilisant les détails fins grâce à des connexions de saut. Ça fonctionnait, mais la mise à l’échelle était difficile. Agrandir les U-Nets ne donnait pas l’amélioration prévisible selon laquelle « plus gros, c’est mieux », comme les Transformers nous l’ont offerte en langage.
Inspirés par la communauté du langage, les chercheurs ont donc remplacé le U-Net par un Transformer. Même idée : traiter l’image latente comme une séquence de patchs, les traiter avec de l’auto-attention pour que le modèle puisse relier des régions éloignées et utiliser l’attention croisée pour associer le texte à la structure de l’image. C’est l’histoire derrière des modèles comme FLUX.2, un Transformer de flow matching de 32 milliards de paramètres créé par Black Forest Labs.
Le flow matching, en passant, est surtout une amélioration de l’efficacité. Au lieu de laisser le modèle prendre une route sinueuse du bruit jusqu’à l’image, le flow matching le pousse vers un chemin plus droit. Vous obtenez donc de bons résultats en moins d’étapes. Même destination, meilleure route.
Je sais que nous venons de survoler très rapidement beaucoup de termes, comme l’attention, l’auto-attention, U-Net et les Transformers… C’est parce que le fonctionnement profond de ces techniques n’est pas si important, et nous pouvons quand même comprendre comment ces images sont créées sans trop plonger dans les détails ici. Mais si toutes ces techniques plus avancées vous intéressent, j’ai déjà créé quelques vidéos sur chacune d’elles et je serais heureux d’en faire plus. Dites-moi si vous les regarderiez (ou les liriez ici)!
DEUXIÈME FAMILLE : ÉCRIRE UNE IMAGE COMME UNE PHRASE
Maintenant, la deuxième manière de générer des images.
La deuxième famille est la génération autorégressive. Et si vous avez un peu suivi le fonctionnement des modèles de langage dans mes vidéos, celle-ci vous semblera rapidement logique.
Au lieu de partir du bruit et de le raffiner étape par étape, comme avec les modèles basés sur la diffusion, le modèle génère l’image séquentiellement, token par token, exactement comme un LLM écrit du texte un mot à la fois.
Pour que ça fonctionne, l’image doit d’abord être convertie en tokens. Vous la compressez encore dans une grille de codes avec un encodeur, comme auparavant, ce qui produit moins de paramètres à partir de tous les pixels du départ. Nos tokens. Le modèle apprend ensuite à prédire ces tokens dans l’ordre. Étant donné ce prompt et ces tokens déjà générés, quel est le prochain token?
Au moment de la génération, vous partez de rien et le modèle écrit l’image token par token. Le prompt influence chaque prédiction grâce à l’attention, encore une fois, et si vous fournissez une photo en input, le modèle est aussi conditionné par celle-ci. « Transformez-moi dans le style du Studio Ghibli » signifie littéralement : « continuez à écrire cette image, mais respectez la nouvelle instruction ».
C’est ici que se trouve Nano Banana. Il génère 1 290 tokens par image, de manière autorégressive, avec le même pattern de prédiction que la génération de texte de Gemini, mais appliqué aux tokens visuels. Et honnêtement, vous pouvez sentir la différence lorsque vous l’utilisez. Particulièrement pour les miniatures, il a tendance à suivre les instructions structurées, comme la composition, le placement du texte et les contraintes visuelles précises, d’une manière qui ressemble davantage à la façon dont vous donneriez des instructions à un modèle de langage. Parce qu’il utilise littéralement le même pattern d’entraînement.
Mais il y a un compromis entre les deux familles de modèles. La génération séquentielle signifie que les premiers choix contraignent les suivants. Si le modèle choisit une composition étrange au début, il pourrait ne pas réussir à se corriger, parce que chaque token suivant repose sur cette base. Les modèles de diffusion peuvent parfois corriger les choses en cours de route parce qu’ils continuent à mettre à jour toute l’image pendant de nombreuses étapes.
COMMENT LE TEXTE CONTRÔLE RÉELLEMENT L’IMAGE
Mais peu importe la famille de modèles que vous utilisez, ceux-ci doivent résoudre le même problème : comment votre prompt textuel guide-t-il réellement ce qui est généré?
La réponse est l’attention. Dans les deux familles, les tokens textuels sont encodés dans des vecteurs, des embeddings qui portent une signification comme « contraste élevé », « éclairage de studio », « arrière-plan propre ». Pendant la génération, les mécanismes d’attention permettent au modèle de décider quelle information du texte devrait influencer quelle région de l’image, à chaque étape ou pour chaque token.
Le conditionnement par le prompt est donc injecté pendant tout le processus de génération. Et c’est aussi pourquoi le prompt engineering compte réellement. Plus votre prompt est précis et structuré, plus le mécanisme d’attention a de matière avec laquelle travailler, et plus son influence sur le processus de génération de l’image sera forte et précise.
Lorsque vous ne fournissez pas un prompt détaillé, le modèle devine simplement le reste à partir de ses données d’entraînement. L’image aura donc l’air plus générique.
Lorsque cet alignement fonctionne bien, vous obtenez ce que vous voulez. Votre visage reste votre visage. L’arrière-plan change. L’éclairage change. Le texte arrive là où il devrait. Lorsque ça fonctionne mal, vous obtenez les échecs classiques. Une dérive de l’identité. Des mains étranges. Une typographie fondue. Ou le modèle qui suit la moitié de votre prompt et ignore discrètement l’autre moitié. Nous sommes tous passés par là, non?
CRÉATION OU ÉDITION
Ça explique aussi la différence entre le text-to-image et l’édition d’images.
Le text-to-image est conditionné seulement par le texte. Vous partez du bruit ou d’une toile de tokens vide et générez une image complète guidée seulement par le prompt et les connaissances acquises par le modèle pendant l’entraînement.
L’édition d’images est conditionnée par le texte et par une image existante. Votre photo est encodée et fournie comme contexte. Le modèle apprend quelles parties conserver et lesquelles changer parce qu’il a été entraîné sur des tâches qui récompensent explicitement ce comportement. En diffusion, le modèle part d’une version partiellement bruitée de votre input. Il a ainsi de la « place » pour modifier les choses tout en restant ancré à l’original. Dans l’édition autorégressive, il génère une nouvelle séquence qui demeure cohérente là où c’est nécessaire tout en appliquant la transformation.
Si vous avez déjà engagé un designer, cette partie vous semblera familière. Vous donnez une intention, des contraintes et des exemples. Il produit quelque chose de nouveau à partir des a priori visuels qu’il a appris.
POURQUOI ILS ÉCHOUENT (ET COMMENT Y REMÉDIER)
Maintenant, je veux clarifier quelque chose, parce que je vois beaucoup de gens supposer qu’il y a un minuscule cerveau de designer dans le modèle qui prépare un plan et l’exécute.
Il n’y en a pas. Ces modèles n’ont pas de storyboard caché. Ils ont un processus appris qui produit la prochaine mise à jour, ou le prochain token, d’une manière qui mène statistiquement à des images cohérentes parce que l’entraînement a renforcé ce pattern des millions de fois. Le résultat semble intentionnel parce que les outputs sont cohérents. Sous le capot, c’est une prédiction guidée de la prochaine étape dans un espace appris. La même idée fondamentale qu’un LLM.
Et c’est exactement pourquoi ils peuvent être absurdement impressionnants tout en ratant des choses de base. Ils génèrent une structure plausible, ils ne simulent pas le monde. La plupart du temps, c’est plus que suffisant. Parfois, vous obtenez une suite plausible qui n’est simplement pas ce que vous vouliez dire.
Alors, revenons à ce que je fais réellement lorsque j’ai besoin d’une miniature.
Je commence habituellement avec une seule très bonne photo en input. Pas deux ou trois, sinon le modèle combine du bruit et peut moins bien me comprendre. Gardez le prompt concis, mais rempli de détails précis : la composition, l’éclairage, le contraste, le placement du texte et l’ambiance recherchée. Je génère habituellement deux ou trois variantes et je choisis la gagnante. Si les résultats ne sont pas bons, je réduis les degrés de liberté. Verrouillez ce qui compte, comme l’identité et le cadrage, et changez seulement une chose à la fois, comme le style de l’arrière-plan ou la direction de l’éclairage.
Une chose que j’ai apprise au fil des années : si vous n’aimez pas les résultats, utilisez le bouton pour relancer la génération ou, si la conversation est devenue assez longue et chaotique, commencez une nouvelle conversation au lieu de poursuivre le même fil. Même avec le même modèle, un nouveau contexte peut donner un output très différent. Ça ne devrait pas compter, mais ça compte.
La typographie était auparavant un obstacle majeur. Pendant longtemps, mon processus était « générer l’image, ajouter le texte dans Canva ». Même chose pour ajouter mon visage. Nano Banana a changé ça pour moi. Il gère mieux le texte lisible sur les miniatures que tout ce que j’avais utilisé auparavant, particulièrement dans AI Studio, où vous pouvez contrôler précisément la résolution et le ratio d’aspect, puis générer sans le filigrane Gemini. Mais pour les modèles qui ont encore de la difficulté avec le texte, la solution n’est pas de « prompter plus fort ». La solution, c’est de le faire lors d’une étape distincte et contrôlée.
Enregistrez les prompts qui ont fonctionné. Enregistrez les réglages. Conservez les outputs de référence. Vous verrez de véritables améliorations au fil du temps, surtout à mesure que les modèles continuent de s’améliorer.
Alors oui, c’est ça, la génération d’images. Deux familles. Sculpter à partir du bruit ou écrire token par token. Les deux travaillent dans un espace latent compressé, les deux sont guidées par l’attention, et les deux produisent des images qui semblent avoir été conçues avec soin par quelqu’un, mais qui ont réellement été générées par la prédiction statistique de l’étape suivante.
Si vous utilisez Nano Banana, FLUX ou autre chose pour des miniatures, des infographies, peu importe, j’aimerais savoir ce qui fonctionne et ce qui ne fonctionne pas pour vous. Écrivez-le dans les commentaires.
Et si vous voulez une suite sur la façon dont tout ça s’étend à la génération vidéo, qui représente un tout autre niveau de complexité, dites-le-moi et j’en ferai le prochain sujet.
Si vous avez aimé, suivez-moi et on se revoit dans la prochaine!
Références
Latent Diffusion Models (Technical Overview)
https://people.cs.vt.edu/chris/cs6804_spring2023/slides/apoorv_generation.pdf
FLUX.2, Black Forest Labs
FLUX.2 Dev (Replicate Documentation)
https://replicate.com/black-forest-labs/flux-2-dev/readme
Flow Matching for Generative Modeling
https://arxiv.org/abs/2210.02747
Rectified Flow
https://arxiv.org/abs/2209.03003
Nano Banana, Google DeepMind
https://deepmind.google/models/gemini-image/
Autoregressive Model Beats Diffusion (LLaMA for Image Generation)
https://arxiv.org/abs/2406.06525
FAQ
Comment fonctionne la génération d’images par IA?
Le modèle part de patterns visuels appris et utilise le prompt textuel comme guide pour déterminer le type d’image qui devrait émerger.
Pourquoi les prompts changent-ils l’image?
Le prompt donne des contraintes au modèle. Celui-ci cherche ensuite un output qui semble plausible et respecte ces contraintes.
À quoi les utilisateurs devraient-ils faire attention?
Les images générées peuvent sembler convaincantes tout en inventant des détails, en brisant la structure ou en cachant des artefacts dans les visages, les mains, le texte ou le mouvement.
Un prompt textuel dessine-t-il directement les pixels?
Non. Le prompt devient une représentation apprise qui guide un processus génératif vers les patterns visuels correspondants.
Quelles sont les deux contraintes qui façonnent une image générée?
Le résultat doit ressembler à une image plausible tirée de la distribution d’entraînement et correspondre à la description demandée.
Quelles sont les deux principales familles de générateurs d’images par IA?
Les modèles de diffusion et de flow transforment graduellement le bruit en image, tandis que les modèles autorégressifs génèrent les tokens visuels un morceau à la fois.

