📚 Documentation - ComfyUI_FMJ_LLMP
⚡ FMJ-LLM-Prompt
Node ComfyUI pour séléctionner des prompts à partir de fichiers texte organisés par catégories.
📦 Installation
1. Via Git (Recommandé)
cd ComfyUI/custom_nodes/
git clone https://github.com/bulldog68/ComfyUI_FMJ_LLMP.git
2. Manuellement
- Téléchargez le dossier
ComfyUI_FMJ_LLMP - Placez-le dans
ComfyUI/custom_nodes/ - Redémarrez ComfyUI
📁 Structure des fichiers
ComfyUI_FMJ_LLMP/
├── txt/ # Dossier des prompts
│ ├── Composition/ # Catégorie 1
│ │ ├── rule_of_thirds.txt
│ │ ├── symmetrical.txt
│ │ └── leading_lines.txt
│ ├── Lighting/ # Catégorie 2
│ │ ├── golden_hour.txt
│ │ ├── cinematic.txt
│ │ └── noir.txt
│ └── Style/ # Catégorie 3
│ ├── photorealistic.txt
│ └── anime.txt
├── js/
│ └── fmj_llm_frontend.js # Interface dynamique
├── __init__.py # Enregistrement du node
├── fmj_llm_prompt.py # Logique principale
└── pyproject.toml # Métadonnées
📝 Format des fichiers TXT
Chaque fichier .txt contient un seul prompt :
Exemple : txt/Lighting/golden_hour.txt
warm golden hour lighting, soft orange glow, long shadows, sunset ambiance
Exemple : txt/Composition/rule_of_thirds.txt
rule of thirds composition, subject off-center, balanced negative space
🎮 Utilisation du Node
Ajout dans le workflow
- Clic droit dans le canvas →
🌀FMJ→⚡ FMJ-LLM-Prompt - Ou double-clic → cherchez
FMJ-LLM-Prompt
Sorties
prompt(STRING) : Le prompt généré combinant toutes les catégories sélectionnéesdebug_info(STRING) : Informations de débogage pour voir ce qui a été sélectionné
⚙️ Paramètres
Paramètres globaux
| Paramètre | Type | Description |
|---|---|---|
toggle_visibility |
BOOLEAN | Masque les catégories sur "disabled" pour nettoyer l'interface |
reset_all |
BOOLEAN | Remet toutes les catégories sur "disabled" (se reset automatiquement) |
extra_prompt |
STRING | Texte additionnel à ajouter au prompt final |
Paramètres par catégorie
Chaque sous-dossier dans txt/ devient un paramètre dropdown.
Options disponibles :
disabled: La catégorie est ignorée[nom_fichier]: Utilise le contenu du fichier.txtcorrespondant
Exemple :
Si vous avez txt/Lighting/golden_hour.txt, vous verrez l'option golden_hour dans le dropdown txt_Lighting.
🔧 Configuration
Créer une nouvelle catégorie
-
Créez un sous-dossier dans
txt/:mkdir ComfyUI_FMJ_LLMP/txt/Camera/ -
Ajoutez des fichiers
.txt:echo "wide angle lens, 24mm, expansive view" > ComfyUI_FMJ_LLMP/txt/Camera/wide_angle.txt echo "telephoto compression, 85mm, shallow depth" > ComfyUI_FMJ_LLMP/txt/Camera/telephoto.txt -
Redémarrez ComfyUI ou cliquez sur "Refresh" dans le Manager
-
Le nouveau dropdown
txt_Cameraapparaît automatiquement
Renommer un prompt
Le nom affiché dans le dropdown correspond au nom du fichier (sans .txt).
Pour changer "golden_hour" en "Golden Hour" dans l'affichage :
- Renommez le fichier :
golden_hour.txt→Golden Hour.txt
💡 Exemples d'utilisation
Exemple 1 : Prompt simple
Configuration :
txt_Composition:rule_of_thirdstxt_Lighting:golden_hourextra_prompt:a cat sitting on a fence
Résultat :
rule of thirds composition, subject off-center, balanced negative space, warm golden hour lighting, soft orange glow, long shadows, sunset ambiance, a cat sitting on a fence
Exemple 2 : Interface épurée
- Activez
toggle_visibility=true - Mettez les catégories inutilisées sur
disabled - Seules les catégories actives restent visibles
Exemple 3 : Workflow modulaire
Créez des presets en sauvegardant différents workflows :
portrait_workflow.json→txt_Lighting=studio_softboxlandscape_workflow.json→txt_Lighting=golden_hournoir_workflow.json→txt_Lighting=chiaroscuro
🐛 Débogage
Le node n'apparaît pas
- Vérifiez que le dossier est dans
custom_nodes/ - Regardez dans la console ComfyUI pour les erreurs Python
- Assurez-vous que le dossier s'appelle bien
ComfyUI_FMJ_LLMP
Les catégories n'apparaissent pas
- Vérifiez la structure :
txt/NomCategorie/fichier.txt - Les fichiers doivent avoir l'extension
.txt(minuscule) - Redémarrez ComfyUI
Le prompt est vide
- Vérifiez que les catégories ne sont pas sur
disabled - Consultez la sortie
debug_infopour voir ce qui est sélectionné - Vérifiez que les fichiers
.txtne sont pas vides
Problèmes d'encodage
- Utilisez l'encodage UTF-8 pour tous les fichiers
.txt - Évitez les caractères spéciaux dans les noms de fichiers
📝 Bonnes pratiques
Nommage des fichiers
- Utilisez des noms descriptifs :
cinematic_lightingplutôt quecl1 - Séparez les mots par
_ou espaces :golden_hourouGolden Hour - Évitez les caractères spéciaux :
@,#,$, etc.
Organisation
- Une idée par fichier
- Gardez les prompts concis (une phrase ou liste d'adjectifs)
- Groupez par thématique dans les sous-dossiers
Performance
- Évitez d'avoir trop de fichiers dans une catégorie (>100 peut ralentir)
- Si vous avez beaucoup de prompts, créez plus de catégories
🔄 Mises à jour
Depuis l'ancienne version CSV
- Les fichiers CSV sont remplacés par des fichiers TXT
- Un fichier TXT = un seul prompt (plus simple à éditer)
- Les catégories deviennent des sous-dossiers
- Plus de random/increment/decrement - sélection manuelle uniquement
Migration
# Ancienne structure
txt/prompts.csv # Multiple prompts par fichier
# Nouvelle structure
txt/Categorie/prompt1.txt # Un prompt par fichier
txt/Categorie/prompt2.txt
📄 Licence
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
🤝 Contribution
Les contributions sont les bienvenues !
- Fork le projet
- Créez une branche (
git checkout -b feature/AmazingFeature) - Committez (
git commit -m 'Add some AmazingFeature') - Push (
git push origin feature/AmazingFeature) - Ouvrez une Pull Request
📞 Support
- Issues : GitHub Issues
- Discussions : GitHub Discussions
Développé avec ❤️ pour la communauté ComfyUI