Le même projet, une autre machine : reconstruire votre workflow ComfyUI.
Pour reprendre un workflow ComfyUI, emportez le JSON, identifiez les modèles exacts et relevez l’environnement qui les exécute. Le fichier du graphe ne contient pas les poids. Notre dossier « Céramique — trois intentions de lumière » vous donne une recette originale à reconstruire : trois variantes comparables, un manifeste et un contrôle hors ligne. Le JSON et le graphe ont été vérifiés ; aucune image ni mesure GPU n’est présentée comme produite par cet exercice.
Céramique — trois intentions de lumière
Workflow original, manifeste, reconstruction pas à pas, validateur Python sans dépendance externe et feuilles de suivi. Aucun poids ni résultat généré dans l’archive.
Ce qui a été vérifié
- JSON conforme au schéma d’interface ComfyUI 0.4 ; 15 nœuds core et 25 connexions contrôlés.
- Paramètres des trois branches vérifiés ; contrôle hors ligne disponible dans le dossier.
- Import ComfyUI et génération non exécutés : aucune image, durée ou VRAM mesurée.
- Empreinte du modèle issue du dépôt de l’éditeur ; poids non téléchargés.
Un cas précis : chercher la lumière d’une affiche
Le projet est une étude de direction pour une céramique fictive : un vase ivoire mat, un socle bleu cobalt et un fond sable. La composition demande une zone libre en haut à gauche pour ajouter un titre ensuite dans un logiciel de mise en page. L’objectif consiste à comparer trois intentions de lumière, puis à expliquer le choix retenu. Il ne s’agit pas de reproduire fidèlement un objet photographié.
Le workflow fourni comporte trois branches, avec les mêmes dimensions, le même modèle, la même graine et les mêmes réglages. Seule la phrase de lumière change dans le prompt positif. Il n’utilise aucune image d’entrée, aucun nœud personnalisé, aucun refiner ni LoRA. Vous obtenez un projet suffisamment petit pour comprendre chaque connexion et suffisamment structuré pour préparer une vraie comparaison. Le téléchargement fournit le workflow et les paramètres. Aucune génération n’a été exécutée pour ce dossier : produisez puis comparez les images dans votre environnement.
Préparer les logiciels et noter les versions réellement utilisées
Le graphe cible les définitions de ComfyUI 0.37.0 et le frontend 1.52.7 désigné par ses dépendances. Le manifeste conserve leurs commits complets. Ces versions ont été consultées dans les sources officielles ; elles ne décrivent pas une installation exécutée pour cet article. Utilisez une installation préparée selon la procédure adaptée à votre système, puis confrontez ses versions à cette référence.
Python, PyTorch, le pilote et la précision de calcul font aussi partie du dossier de reprise. Le fichier environnement-a-remplir.json laisse ces champs vides jusqu’à votre observation. N’y recopiez pas une version supposée à partir du nom de votre GPU. La page Environnements aide à organiser ces dépendances. Le validateur du téléchargement demande seulement Python 3.10 ou plus récent et sa bibliothèque standard ; il ne nécessite pas ComfyUI.
| Élément | Référence | Statut dans ce dossier |
|---|---|---|
| Cœur ComfyUI | 0.37.0, commit complet dans le manifeste | Définitions des nœuds consultées |
| Frontend ComfyUI | 1.52.7, commit complet dans le manifeste | Ordre des widgets documenté |
| Format du workflow | JSON d’interface 0.4 | Schéma et graphe contrôlés |
| Python / PyTorch de génération | À relever sur la machine utilisée | Aucune génération exécutée ici |
| Pilote, précision, mémoire et durée | À observer pendant votre essai | Non mesurés |
Identifier le checkpoint sans confondre nom et contenu
Le fichier attendu est sd_xl_base_1.0.safetensors, dans ComfyUI/models/checkpoints/, issu du dépôt Stability AI à la révision fixée dans le manifeste. Cette recette utilise le checkpoint SDXL Base 1.0 complet : le chargeur fournit le modèle, l’encodage du texte et le VAE au graphe. Aucun poids n’est distribué avec nos ressources. Consultez la page du modèle et sa licence avant de vous le procurer séparément.
Le manifeste fournit une taille de 6 938 078 334 octets et une empreinte SHA-256 issues des métadonnées du dépôt de l’éditeur. Nous n’avons pas téléchargé les poids pour recalculer cette empreinte. L’option --checkpoint du validateur compare le fichier que vous possédez déjà à cette référence. Un fichier renommé n’est pas nécessairement le même modèle ; son poids sur disque ne donne pas non plus son pic d’utilisation de mémoire GPU.
Si votre installation utilise un répertoire central ou un sous-dossier, sélectionnez le chemin proposé par le chargeur et notez cette adaptation. Un menu vide invite d’abord à vérifier le dossier et le type de chargeur, avant de multiplier les copies du modèle.
Importer le JSON et lire les nœuds dans le bon ordre
Décompressez le dossier, puis ouvrez workflow-ui.json dans l’interface ComfyUI ou déposez le fichier sur son canevas. Il s’agit du format d’interface 0.4, avec positions, widgets et connexions. Ce fichier n’est pas le payload destiné au point d’entrée API /prompt. Contrôlez le checkpoint sélectionné et l’absence de nœuds manquants avant de lancer quoi que ce soit.
Les 15 nœuds emploient seulement six types intégrés. Le chargeur, le latent vide et le texte négatif sont communs. Chaque branche ajoute un texte positif, un KSampler, un décodage VAE et une sauvegarde. Trois branches ne signifient ni trois GPU ni une exécution simultanée. Le fichier reconstruction.md détaille les 25 connexions si vous préférez refaire le graphe à la main.
| Nœud | Nombre | Rôle dans cet exercice |
|---|---|---|
| CheckpointLoaderSimple | 1 | Charger le checkpoint ; fournir MODEL, CLIP et VAE |
| EmptyLatentImage | 1 | Définir 1024 × 1024 pixels et un lot de 1 |
| CLIPTextEncode | 4 | Encoder trois prompts positifs et un négatif commun |
| KSampler | 3 | Calculer les latents avec les réglages communs |
| VAEDecode | 3 | Décoder les latents en images |
| SaveImage | 3 | Écrire les variantes dans trois préfixes distincts |
Checkpoint.CLIP → Texte positif.clip
Checkpoint.MODEL → KSampler.model
Texte positif.CONDITIONING → KSampler.positive
Texte négatif.CONDITIONING → KSampler.negative
Latent vide.LATENT → KSampler.latent_image
KSampler.LATENT → VAEDecode.samples
Checkpoint.VAE → VAEDecode.vae
VAEDecode.IMAGE → SaveImage.imagesGarder les réglages fixes pour comparer trois intentions
Les trois KSampler utilisent la graine 24092026, 24 pas, un CFG de 6.5, le sampler euler, le scheduler normal et un denoise de 1. Le contrôle après génération est réglé sur fixed dans chaque branche. Ce choix permet de conserver les mêmes paramètres d’essai ; il ne prétend pas constituer le meilleur réglage pour toutes les images.
Le prompt commun décrit le vase, le socle, le fond et la zone destinée au titre. La dernière phrase donne la lumière. Vous trouverez chaque texte complet dans le manifeste : copiez la variante entière lors d’une reconstruction. Les consignes du modèle sont en anglais dans cet exemple SDXL. Le négatif commun demande notamment d’éviter le texte, les logos, les objets dupliqués et les déformations. Ces consignes restent des demandes au modèle, sans garantie qu’il les respectera parfaitement.
| Variante | Instruction de lumière | Question à poser à la sortie |
|---|---|---|
| A · frontale | Source large, frontale et diffuse | Le volume reste-t-il lisible sans ombre trop présente ? |
| B · latérale | Grande source à gauche, ombre douce vers la droite | Le relief et la matière servent-ils l’affiche ? |
| C · contre-jour | Lumière arrière et léger remplissage frontal | Le bord lumineux suffit-il à détacher le vase ? |
Contrôler le dossier avant de mobiliser le GPU
Depuis le dossier décompressé, exécutez le validateur ci-dessous. Il lit uniquement le workflow et le manifeste, vérifie les identifiants, les prises, les types de données, les liens réciproques, l’absence de cycle et la concordance des paramètres des trois variantes. Il ne contacte aucun service et ne charge aucun modèle. Une erreur indique la partie du dossier à examiner.
Le workflow livré a aussi été vérifié contre le schéma officiel UI 0.4. Le validateur public est volontairement limité au profil de cet exercice : si vous ajoutez un autre nœud ou changez sa numérotation, il peut refuser votre copie même si ComfyUI sait l’utiliser. Conservez donc un original intact avant vos adaptations.
Un résultat ok: true démontre la cohérence de ce JSON et de son graphe. Il ne démontre pas l’import effectif dans votre interface, la disponibilité du checkpoint ou la production d’une image. Ces dernières étapes n’ont pas été exécutées pour la livraison de ce dossier.
python validate_workflow.pypython validate_workflow.py --checkpoint "D:/modeles/sd_xl_base_1.0.safetensors"Exécuter, ouvrir les sorties et documenter votre choix
Lorsque les dépendances sont réunies, lancez le workflow et vérifiez que chaque branche atteint SaveImage. Les préfixes a_frontale, b_laterale et c_contrejour se trouvent sous RenderParcel/ceramique-v1/ dans le répertoire de sortie de ComfyUI. L’application complète les noms avec ses compteurs. La recette produit trois fichiers séparés ; elle ne réalise pas automatiquement une planche comparative.
Ouvrez les PNG et contrôlez les dimensions, le bord du vase, la lisibilité de la matière et l’espace disponible pour le titre. Remplissez comparaison.csv avec vos observations et un motif de sélection. Les cellules du téléchargement sont vides : aucune variante n’a été évaluée visuellement ici. Si une génération échoue, consignez cet échec plutôt que de lui attribuer un temps ou une qualité.
Une même graine ne garantit pas des pixels identiques entre versions, matériels et opérations. Modifier la lumière peut également changer la silhouette : le workflow explore une intention, sans verrouiller une identité de produit. Gardez une image témoin de votre propre exécution et comparez les critères annoncés, puis les pixels seulement si votre environnement et votre protocole le justifient.
Reconnaître les erreurs qui empêchent la reprise
Commencez par la première erreur observable. Changer à la fois le modèle, la version de ComfyUI et les paramètres de sampling rend le diagnostic inutilement difficile. Le tableau sépare les défauts du dossier de ceux qui ne se révèlent qu’au chargement ou pendant la génération.
Si vous manquez de mémoire, notez l’étape concernée : chargement, échantillonnage ou décodage. Le lot est déjà limité à une image dans cet exercice. Une résolution plus basse peut servir de diagnostic, mais elle crée un autre essai ; mettez à jour le manifeste au lieu de comparer ses résultats comme s’ils provenaient du cas original.
| Symptôme | Premier contrôle | Suite utile |
|---|---|---|
| Checkpoint absent du menu | Nom et dossier checkpoints, ou chemins supplémentaires | Actualiser la liste selon votre installation |
| Nœud inconnu après import | Type technique et version réellement utilisée | Comparer aux six types core du manifeste |
| Erreur de lien du validateur | Entrée, sortie et numéro de lien signalés | Repartir de la copie intacte ou reconstruire la connexion |
| Variantes difficiles à comparer | Seed, fixed, dimensions et paramètres des trois branches | Ne modifier que la phrase de lumière |
| Manque de mémoire pendant le calcul | Étape exacte et charge réellement lancée | Mesurer puis préparer un essai adapté, avec un nouveau manifeste |
| PNG présent mais mauvaise composition | Critères de sélection et prompt complet | Reformuler une seule contrainte ; garder la version précédente |
Archiver une recette et choisir le matériel sur vos observations
Le dossier de reprise final rassemble le JSON réellement utilisé, le manifeste complété, la comparaison, les versions de l’environnement et une sortie témoin que vous avez ouverte. Conservez le JSON séparément : les métadonnées d’un média peuvent disparaître lors d’une conversion ou d’un partage. Le guide d’export aide à distinguer la livraison visuelle des sources nécessaires à une nouvelle exécution.
Avant d’élargir le projet, observez une génération complète jusqu’au décodage et à la sauvegarde. Nous n’avons mesuré ici ni temps de calcul ni capacité VRAM nécessaire. Examinez une RTX 4090 de 24 Go ou une RTX 6000 Ada de 48 Go selon le besoin constaté, la compatibilité de votre environnement et le forfait utile. Leur mémoire ne constitue pas une promesse de cadence ; ce graphe n’additionne pas automatiquement la mémoire de plusieurs cartes.
L’atelier image vous aide à préciser la direction et les critères avant de réserver. Vous pourrez ensuite préparer une configuration et garder les mêmes entrées pour votre propre essai matériel. Les ressources originales du dossier sont sous licence MIT ; les logiciels et le modèle restent soumis à leurs licences respectives.
Pour avancer dans votre projet.
Vos questions.
Puis-je utiliser le téléchargement sans avoir les poids SDXL ?+
Vous pouvez lire le manifeste, vérifier le JSON et reconstruire les connexions. Une génération exige le checkpoint indiqué et un environnement ComfyUI compatible. Le validateur ne remplace pas ces dépendances et ne les télécharge pas.
Pourquoi le JSON utilise-t-il le format UI 0.4 ?+
C’est le format d’interface retenu et vérifié contre le schéma officiel pour ce dossier. Il décrit notamment les nœuds, leurs positions et leurs widgets. La version du format n’est pas celle du logiciel ComfyUI, et ce JSON ne doit pas être confondu avec un payload API.
Puis-je obtenir exactement le même vase en ne changeant que la lumière ?+
La recette ne le garantit pas. Elle compare des prompts text-to-image avec les autres paramètres fixes. Le modèle peut changer des détails, la silhouette ou le cadrage. Pour travailler sur un produit réel dont la forme doit rester fidèle, il faut un protocole de référence et de contrôle différent.