Listes de prompts dans ComfyUI : rendre un blockout 3D dans des dizaines de styles artistiques pendant la nuit

Chargez des centaines de prompts depuis un fichier texte avec l'Inspire Pack, ajoutez un sujet et un arrière-plan fixes avec Text Concatenate, et associez un dossier de captures 3D à des prompts correspondants pour que chaque image reçoive le bon.

Anton Tenitsky13 octobre 20266 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.

Un soldat en armure de camouflage rose et gris avec une visière sombre, l'une des variations de style rendues à partir d'une liste de prompts

Une liste de prompts vous permet de rendre de nombreuses variations d’un même sujet pendant que vous dormez : 50, 300 ou 500 prompts, selon la façon dont vous la structurez. Je l’ai utilisée pour différents styles et couleurs de mes blockouts 3D. Elle fonctionne avec Flux, SDXL ou Stable Diffusion ; Flux donne généralement de plus beaux résultats.

Ce guide traite de trois configurations, de la plus simple à la plus complexe : une liste contre une image, la même liste avec un sujet et un arrière-plan fixes ajoutés, et un dossier de captures parcouru avec des prompts correspondants. Le côté ControlNet de profondeur, qui transforme la capture 3D en structure de l’image, est traité dans le pipeline automatisé de la 3D au concept art. Ici, je me concentre sur les prompts.

En bref

  • Packs : Inspire Pack, rgthree, WAS Node Suite et WWAA custom nodes.
  • Le fichier : ligne positive:, ligne negative:, ---, répété. Minuscules uniquement.
  • Emplacement : dans le dossier de l’Inspire Pack sous custom_nodes.
  • Concaténez un sujet (« tank ») et un arrière-plan à chaque style.
  • Images + prompts : même nombre, même ordre, un compteur pilotant les deux.

Option plus simple : si vous n’avez besoin que d’un prompt par ligne, sans négatifs ni images, mon node Prompt Cycler le fait en un seul node.

Installer les nodes

Il vous faut l’Inspire Pack, rgthree, la WAS Node Suite et les WWAA custom nodes (pour le compteur de boucle imbriqué), tous depuis le ComfyUI Manager. L’installation est un peu complexe. Quand j’ai cherché, d’autres options permettaient d’exécuter trois ou cinq prompts à la fois, mais je n’en ai pas trouvé pour 50 ou 100.

Écrire la liste de prompts

La liste est un simple fichier .txt. Je décris des styles, pas des objets : pas de char, de soldat ou de robot, juste une description générique du rendu. L’objet est ajouté plus tard par concaténation.

Un fichier texte de liste de prompts dans le Bloc-notes avec des entrées composées d'une ligne positive, d'une ligne negative et de trois tirets
Chaque entrée : une ligne positive, une ligne negative, puis trois tirets.

Le formatage est très important :

positive: ornate sci-fi style with gilded armor segments, embedded gemstones, ...
negative: glossy surfaces, ornamental engravings, glowing decorative elements, ...

---

positive: sci-fi ork style, heavily armored with jagged welded metal plates, ...
negative: bulky shape, exposed wiring, analog dials, scratched paint, retro features

---
  • Commencez les lignes par positive: et negative: en minuscules. Avec une majuscule, la liste ne fonctionne pas ; elle y est très sensible.
  • Séparez les entrées par trois tirets (plus, c’est bien aussi).

Écrire les listes avec ChatGPT : collez une entrée dans ce format et demandez, par exemple, 10 styles de science-fiction. Il faut généralement ajuster et lui demander de garder les tirets et de ne pas ajouter de texte aléatoire. Un désagrément : on ne sait pas facilement combien d’entrées on a obtenues. J’en ai demandé 50 et reçu 47 ; je ne l’ai découvert qu’en collant dans un Google Doc et en cherchant « positive ». Si vous connaissez une meilleure méthode, dites-le-moi dans les commentaires.

Un LLM dans ComfyUI peut aussi générer des prompts. Cela semble génial, mais c’est plus lent, moins prévisible, et un bon modèle peut peser environ 10 Go. Une liste de prompts prend des millisecondes.

Où va le fichier : dans le dossier de l’Inspire Pack sous custom_nodes (j’utilise son dossier d’exemple). Les sous-dossiers fonctionnent, et il voit tous les fichiers texte qui s’y trouvent, mais il ne lira aucun autre emplacement.

Configuration 1 : une liste de prompts simple

Le node Load Single Prompt From File (Inspire) avec un fichier de prompts sélectionné et une entrée d'index, au-dessus d'une note expliquant le format du fichier
Load Single Prompt From File : choisit une entrée par son index.
  1. Load Single Prompt From File (Inspire) charge la liste. Choisissez le fichier ; son entrée index sélectionne l’entrée.
  2. Son ZIPPED_PROMPT va dans le node Unzip Prompt / Bind, qui sort positive et negative. Ce node a aussi des champs de prompt et une entrée d’image. Ce que vous y saisissez n’est pas transmis, et dans ma configuration l’entrée d’image devait être renseignée pour que le node fonctionne, même si l’image ne va nulle part.
  3. Positive va vers un node Preview Text (pour voir la ligne courante) et dans le CLIP Text Encode positif.
  4. Un Nested Loop Counter (WWAA) alimente l’index : réglez son maximum sur le nombre d’entrées, 10 ici. Un Display Int montre quelle entrée est en cours.
Le node bind de l'Inspire Pack avec des sorties image, positive, negative et prompt_label
Le node de dépaquetage sépare chaque entrée en positive et negative.

Testez avant de rendre : contournez les nodes d’image (sélectionnez-les, Ctrl+B) et lancez avec Ctrl+Entrée. Si le nom du fichier est faux, il y a une erreur. Sinon le texte d’aperçu et le compteur se mettent à jour à chaque exécution en parcourant la liste. Gardez le node d’aperçu de texte actif pendant le dépannage.

Configuration 2 : ajouter un sujet et un arrière-plan

Ajoutez un node Text Concatenate (WAS). La liste de prompts va dans text_a, et text_b est une chaîne plus longue que je colle avec plus de stylisation. Je mets généralement là l’objet lui-même (« tank ») plus un décor : « background winter landscape », « alien planet » ou « desert ».

Un node Text Concatenate joignant le style parcouru à une chaîne fixe, et un node Preview Text affichant far-future military style se terminant par tank, background winter landscape
Le style de la liste plus « tank, background winter landscape » à chaque exécution.

Certains styles ont mieux fonctionné que d’autres : « clean medical tech » n’a pas donné de bons résultats ; un style « high empire sci-fi » (pensez à Jupiter Ascending) a donné les meilleures images ; « industrial cyberpunk » était bon aussi.

L’ordre compte. Mettez d’abord les mots les plus importants. Pour donner plus de poids au sujet, échangez les entrées pour que « tank » vienne en premier. Cela compte surtout pour SDXL, mais aide aussi avec Flux.

Configuration 3 : un dossier d’images avec des prompts correspondants

Ici, 18 captures d’accessoires différents défilent avec les prompts. La partie délicate est de les garder synchronisés : quand la capture du blindé est chargée, le prompt doit dire « military APC ».

  • Écrivez la liste pour le dossier. 18 images, 18 prompts, dans le même ordre : si l’image 5 est un couteau, le prompt 5 est un couteau ; la 8 est un drone ; la 12 est un vaisseau spatial. Ces prompts nomment uniquement l’objet, sans stylisation, car le style vient du node concatenate (ici avec « blue background » pour isoler les accessoires).
  • Un compteur pilote les deux. L’entier du compteur va dans l’index du prompt et dans l’index de Load Image Batch (WAS), si bien que la cinquième exécution charge la cinquième image et le cinquième prompt.
  • Réglez le compteur sur 18. Je l’avais d’abord laissé à 10.
Le node WAS Load Image Batch en mode single_image avec une entrée d'index connectée et un chemin de dossier de captures
Load Image Batch choisit l'image par index, depuis le même compteur que les prompts.

Réinitialiser le compteur

Pour recommencer à la première entrée, mettez le reset du compteur à true et lancez une fois (le nombre passe à zéro), puis remettez-le à false et relancez.

Quelle configuration utiliser

Honnêtement, je lance généralement la liste simple avec concaténation sur un objet : 50 styles d’un char. Quand j’ai besoin de tester de nombreuses idées de concept pendant la nuit, associer un dossier de captures à une liste est très utile. Ma version finale de ce workflow trie aussi les images en verticales et paysage (voir trier les images par rapport d’aspect) et exécute 18 objets contre 54 entrées de style.

Un grand workflow ComfyUI dézoomé, avec des groupes pour le chargement d'images, le tri, les listes de prompts et la concaténation
La version complète : tri d'images, 18 prompts et stylisation supplémentaire.

Le système est un peu compliqué. Un custom node qui lirait le nombre d’images d’un dossier et aiderait avec les prompts le simplifierait ; j’ai ensuite construit un Prompt Cycler plus simple pour le côté prompts. Les workflows sont sur mon Patreon pour SDXL et Flux.

Voir la version vidéo (10:48)

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

Comment formater un fichier de liste de prompts pour l'Inspire Pack ?

Chaque entrée est une ligne commençant par « positive: », une ligne commençant par « negative: » et une ligne de séparation de trois tirets (---). Utilisez « positive » et « negative » en minuscules ; avec une majuscule, la liste ne se charge pas.

Où vont les fichiers de listes de prompts ?

Dans le dossier propre à l'Inspire Pack à l'intérieur de custom_nodes (par exemple son dossier prompts/example). Il lit tout sous-dossier qui s'y trouve, mais pas d'autres emplacements.

Comment associer un dossier d'images à une liste de prompts ?

Écrivez la liste de prompts dans le même ordre que les images, avec le même nombre d'entrées, et pilotez à la fois l'index du prompt et celui de Load Image Batch avec un seul compteur.

Pourquoi ne pas utiliser un LLM dans ComfyUI pour écrire les prompts ?

Cela marche, mais c'est plus lent et moins prévisible, et un bon modèle peut peser environ 10 Go. Une liste de prompts se charge en millisecondes.

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