ComfyUI pour débutants : l'installer, puis construire un workflow de texte vers image node par node

Installez ComfyUI portable sous Windows, téléchargez un checkpoint Stable Diffusion 1.5 et construisez le graphe de base de texte vers image depuis une toile vide : Empty Latent Image, Load Checkpoint, prompts, KSampler, VAE Decode et Save Image, avec ce que fait chaque réglage.

Anton Tenitsky13 octobre 20268 min de lectureVersion vidéo plus bas

Ce guide a été traduit de l'anglais par IA et peut contenir des erreurs. Lire l'original.

Deux théières en porcelaine blanche sur un fond blanc uni, générées avec Stable Diffusion 1.5 dans ComfyUI

ComfyUI est une interface à base de nodes pour exécuter des modèles d’images IA. Elle est très avancée et, à certains égards, plus capable que les outils web payants : elle ne donne pas toujours une meilleure qualité, mais elle tourne en local, elle est gratuite, et vous pouvez lui faire faire des choses très précises qu’aucun outil web ne permet. Voici la première étape : l’installer et construire de zéro le graphe de texte vers image le plus basique, pour comprendre ce que fait chaque node. Les premières générations sont des théières.

En bref

  • Installation : téléchargez la version portable depuis la page GitHub de ComfyUI, décompressez, lancez run_nvidia_gpu.bat.
  • Modèle : Stable Diffusion 1.5 (v1-5-pruned-emaonly.safetensors) dans ComfyUI/models/checkpoints.
  • Le graphe : Empty Latent Image → Load Checkpoint → deux prompts CLIP Text Encode → KSampler → VAE Decode → Save Image.
  • Valeurs par défaut qui marchent : 20 étapes, CFG 8, sampler dpm_2, scheduler karras pour des images photoréalistes.

Installer ComfyUI

Python

J’ai installé Python 3.11.5 depuis python.org, une version compatible avec ComfyUI. Les toutes nouvelles versions de Python peuvent poser des problèmes de compatibilité, ou pas ; difficile de le savoir avec certitude. Téléchargez l’installateur Windows et suivez les étapes de base. (La version portable de ComfyUI ci-dessous embarque aussi son propre Python.)

ComfyUI portable

La page GitHub de ComfyUI contient les fichiers, la documentation et une liste utile de raccourcis clavier, à consulter régulièrement et à mémoriser.

  1. Sous Windows, utilisez la version portable : le lien de téléchargement direct vous donne un zip. (L’installation pour d’autres systèmes se trouve plus bas sur cette page.)
  2. Décompressez-le, ouvrez le dossier et double-cliquez sur run_nvidia_gpu.bat. Sans GPU utilisable, prenez plutôt la version CPU.
  3. Le premier démarrage télécharge les modules dont ComfyUI a besoin ; comptez 5 à 10 minutes. Il s’ouvre ensuite dans votre navigateur.
Le dossier ComfyUI portable dans l'Explorateur Windows, avec des dossiers dont custom_nodes, models, input et output
Le dossier ComfyUI : les modèles vont dans models, vos rendus atterrissent dans output.

S’il ne s’ouvre pas avec un workflow déjà chargé, allez dans Workflow → Browse Templates et choisissez Image Generation, le template le plus basique. Cliquez sur Queue et il vous indique qu’il n’y a pas encore de modèle.

Télécharger un modèle

Stable Diffusion 1.5

Récupérez Stable Diffusion 1.5 sur Hugging Face : ouvrez Files and versions et téléchargez v1-5-pruned-emaonly.safetensors. Placez-le dans ComfyUI/models/checkpoints.

Préférez .safetensors à .ckpt. Un fichier .ckpt est un pickle Python, qui peut contenir du code exécuté au chargement ; safetensors est un format qui ne contient que les nombres du modèle. Cela compte surtout quand vous téléchargez des modèles depuis des sites communautaires.

Pourquoi 1.5 et pas un modèle plus récent

Il y a beaucoup de confusion pour les débutants : Stable Diffusion 3.5, 2.1, SDXL, Flux, 1.5. Commencez par 1.5 :

  • Il a fait ses preuves. La force de ComfyUI est que vous pouvez glisser le workflow de quelqu’un d’autre et qu’il fonctionne, et de nombreux custom nodes, plugins et workflows ont besoin d’un modèle 1.5 (ou SDXL), plus rarement 3.5 ou Flux.
  • Il est rapide. Pendant que vous apprenez, vous voulez beaucoup d’itérations, et la qualité compte moins à ce stade.

SD 1.5 est un modèle de base. On l’affine avec des jeux de données supplémentaires, et ces modèles donnent de bien meilleurs résultats. Je joue parfois avec le modèle brut, mais j’utilise plus souvent un modèle affiné comme epiCPhotoGasm.

Modèles affinés sur Civitai

Civitai propose un nombre énorme de modèles affinés pour SD 1.5, SDXL, Flux et plus. Cherchez un style (anime, stylisé, un peintre classique comme Rembrandt, n’importe quoi) et vérifiez le modèle de base indiqué sur chaque page. Pour un bon photoréalisme, j’ai choisi epiCPhotoGasm, un modèle SD 1.5. Il va dans le même dossier checkpoints.

La page du modèle epiCPhotoGasm sur Civitai avec des portraits d'exemple et un bouton de téléchargement
epiCPhotoGasm sur Civitai : un modèle SD 1.5 affiné pour le photoréalisme.

De retour dans ComfyUI, Edit → Refresh Node Definitions trouve les nouveaux fichiers. Pour des changements plus importants, il faut parfois redémarrer ComfyUI complètement.

Votre première image

Choisissez un modèle dans Load Checkpoint et cliquez sur Queue. Gardez la fenêtre de commande ouverte : elle montre les erreurs et le temps que prend chaque image.

Le template de génération d'images par défaut de ComfyUI avec Load Checkpoint, deux prompts, KSampler, VAE Decode, Save Image et Empty Latent Image, et la liste des checkpoints ouverte
Le template par défaut, avec les deux checkpoints téléchargés dans la liste.

L’interface elle-même est simple : enregistrer et exporter, annuler et rétablir, aide et documentation, une bibliothèque de nodes pour chercher des nodes, une bibliothèque de modèles et vos fichiers de workflow. Cliquez de nouveau sur une icône de la barre latérale pour masquer son panneau.

Construire le graphe vous-même

Partez d’une page vierge : Workflow → New. Double-cliquez sur le canevas vide pour chercher un node par son nom.

1. Empty Latent Image : la toile

Ajoutez Empty Latent Image. Il définit la résolution et la taille du lot, le nombre d’images par exécution (le nombre de lots à côté du bouton Queue joue un rôle semblable).

C’est une toile vierge dans l’espace latent : une représentation encodée et bruitée dans laquelle travaille le modèle, stockée sous forme de tenseur (un tableau de nombres à plusieurs dimensions). Je ne suis pas mathématicien ; l’idée utile est que vous manipulez ce latent en lui fournissant de l’information : un prompt de texte, une autre image, un guide de style ou du bruit.

2. Load Checkpoint : le modèle

Ajoutez Load Checkpoint (« checkpoint » signifie modèle) et choisissez SD 1.5. Il a trois sorties :

  • MODEL indique à ComfyUI quel modèle est utilisé tout au long du processus.
  • CLIP gère les entrées qui orientent l’image, comme votre prompt de texte.
  • VAE, un autoencodeur variationnel, encode une image dans l’espace latent et la décode en retour. Beaucoup de checkpoints en incluent un ; vous pouvez aussi charger un autre VAE pour un rendu différent.
Un node Load Checkpoint avec des sorties MODEL, CLIP et VAE et v1-5-pruned-emaonly sélectionné
Load Checkpoint : un modèle, trois sorties.

3. Deux prompts

Faites glisser depuis la sortie CLIP et relâchez ; ComfyUI propose des nodes compatibles. Choisissez CLIP Text Encode (Prompt). Copiez-le (Ctrl+C, Ctrl+V) et connectez aussi la copie. Vous travaillez généralement avec deux prompts : un positif pour ce que vous voulez et un négatif pour ce que vous ne voulez pas. Double-cliquez sur le titre d’un node pour le renommer.

4. KSampler : là où tout se rejoint

Faites glisser depuis MODEL et choisissez KSampler, le node qui résout l’image. Connectez le prompt positif, le prompt négatif et le latent vide. Ses réglages :

  • Seed avec control_after_generate : fixed répète la même image, increment compte 1, 2, 3 pour que vous puissiez retracer les changements, randomize rend chaque exécution nouvelle.
  • Steps : plus d’étapes, meilleure qualité, rendus plus longs. Deux étapes sont laides ; 80 paraissent plus fines mais prennent bien plus de temps. Certains modèles marchent mieux avec un nombre précis, lisez donc leur documentation.
  • CFG (classifier-free guidance) : des valeurs plus basses donnent plus de liberté au modèle. À 1–2, vous obtenez du bruit ou une image vide ; à 12, 15 ou 20, il adhère bien plus durement au prompt et peut provoquer des défauts. 8 est la norme et un bon réglage par défaut ; expérimentez entre environ 4 et 10.
  • Sampler : l’algorithme qui crée l’image. Certains conviennent à une sortie stylisée, d’autres au photoréalisme ; certains sont plus rapides. J’ai utilisé dpm_2 pour des images photoréalistes.
  • Scheduler : le motif de bruit ajouté pendant l’échantillonnage. karras convient aux images réalistes.
  • Denoise : de combien le résultat s’éloigne du latent d’entrée. Avec un latent vide, il n’a aucun effet ici ; il compte pour l’image vers image.
Un gros plan du node KSampler avec seed, control_after_generate, steps, cfg, sampler, scheduler et denoise
Les réglages du KSampler, avant de passer à dpm_2 et karras.

5. VAE Decode et Save Image

VAE Decode transforme le latent (le tableau de nombres) en une vraie image. Connectez la sortie du KSampler et le VAE du checkpoint. Ajoutez ensuite Save Image. Les résultats sont enregistrés dans ComfyUI/output.

Tapez « teapot » dans le prompt positif et lancez. ComfyUI met en évidence en vert le node en cours d’exécution.

Le KSampler avec dpm_2 et karras alimentant VAE Decode et Save Image, qui affiche une théière blanche
Le graphe terminé et une première théière.

Améliorer le résultat

La première théière n’était pas si belle. Ce qui a aidé :

  • Une meilleure formulation : « white background, isolated, centered ».
  • Un prompt négatif : il faisait parfois des images d’anime ou stylisées, j’ai donc mis ces mots dans le prompt négatif.
  • Un meilleur modèle : passer du SD 1.5 brut à epiCPhotoGasm.

J’ai ensuite augmenté la résolution à 1024 × 1024. Quatre fois plus de pixels ont pris environ quatre fois plus de temps : de 5 à 23 secondes. À cette taille, il n’arrêtait pas de faire plusieurs théières, j’ai donc ajouté « single teapot » au prompt. Dire « white background » avait aussi tendance à rendre la théière blanche ; vous pouvez demander une théière noire sur fond blanc si vous en voulez une. Il lui arrive encore de provoquer des défauts. J’en ai mis quatre en file et je suis allé faire du thé.

Le node Save Image montrant une tasse et deux théières sur un fond blanc, avec l'infobulle Batch Count à côté du bouton Queue
En 1024 × 1024, il aimait ajouter des théières supplémentaires, le prompt a donc reçu « single teapot ».

C’est une configuration très basique qui ne fait qu’effleurer la surface. Acquérez de l’expérience en changeant les prompts et les valeurs et en observant ce qui change ; c’est ainsi qu’on prend le pli du logiciel. Ensuite : installer le ComfyUI Manager et essayer l’image vers image.

L’exécuter sans GPU puissant

SD 1.5 tourne sur des cartes modestes. Pour des modèles plus lourds comme SDXL et Flux, ou de longs lots, je loue désormais des GPU ; voir mon introduction à RunPod.

Voir la version vidéo (19:22)

Tout ce qui précède est aussi dans la vidéo, si vous préférez suivre à l’écran. La vidéo est en anglais.

Questions fréquentes

Avec quel modèle Stable Diffusion un débutant doit-il commencer dans ComfyUI ?

Stable Diffusion 1.5. Il est rapide, et de nombreux workflows partagés, custom nodes et plugins sont conçus pour lui (ou pour SDXL). Pour de meilleures images, utilisez un modèle SD 1.5 affiné de Civitai, comme epiCPhotoGasm.

Où mettre les fichiers de modèle dans ComfyUI ?

Les checkpoints vont dans ComfyUI/models/checkpoints. Utilisez ensuite Edit → Refresh Node Definitions (ou redémarrez ComfyUI) pour qu'ils apparaissent dans la liste de Load Checkpoint.

Quels CFG et nombre d'étapes utiliser ?

Un CFG de 8 est un bon réglage par défaut ; 4 à 10 vaut la peine d'être essayé. Des valeurs très basses donnent du bruit, des valeurs très hautes suivent le prompt trop durement et provoquent des défauts. Plus d'étapes donnent une meilleure qualité mais des rendus plus longs ; environ 20 est un début normal.

Pourquoi le denoise ne fait-il rien dans mon workflow de texte vers image ?

Le denoise contrôle de combien le résultat s'éloigne du latent d'entrée. Avec un latent vide, il n'y a rien dont s'éloigner, donc il n'a aucun effet. Il compte en image vers image.

Anton Tenitsky est artiste 3D avec plus de 15 ans d'expérience en infographie, qui a travaillé avec Nickelodeon, Gameloft, Marvel Rivals et de nombreux autres clients. En savoir plus sur moi

Guides associés