Changer le thème

Agrandir et retoucher une image dans ComfyUI : Hires Fix, FaceDetailer et inpainting

Easton editorial illustration: large rounded image-editing canvas with a pixel-soft left region and a clean detailed right region, orange translucent inpaint mask over one small facial area, magnifier revealing restored pixels

"Le tutoriel officiel ComfyUI sur l’upscaling décrit Load Upscale Model, Upscale Image (Using Model) et le dossier upscale_models."

Vous avez généré un personnage en 768×1024. La composition et la lumière conviennent, mais le visage au loin est flou. Un agrandissement direct en 4x durcit les détails ; FaceDetailer change l’identité ; un inpaint sur un petit défaut du fond modifie la couleur de tout l’arrière-plan.

Upscaling pixel, rééchantillonnage latent, FaceDetailer et inpainting manuel répondent à des problèmes différents. Les sections suivantes détaillent les connexions, le sens des paramètres, un premier essai pour chaque chemin et le dépannage du flou, des changements hors masque et de la dérive du visage.


Quatre chemins de post-traitement aux rôles différents

Après une génération satisfaisante, il reste généralement trois problèmes : résolution insuffisante, détails trop mous ou défaut local. ComfyUI propose quatre chemins principaux, chacun avec ses limites.

L’upscaling pixel utilise ESRGAN ou un modèle similaire pour augmenter les dimensions. Il ne rééchantillonne normalement pas le prompt et ne change pas volontairement la composition, mais le modèle de super-résolution peut reconstruire ou inventer des textures. Il convient quand l’image source est correcte et doit seulement être plus grande.

Le rééchantillonnage latent agrandit le latent puis le sample de nouveau. Il autorise des changements structurels et sert à recréer matière ou détails.

FaceDetailer détecte un visage et le répare localement. Il convient à un petit visage flou. Les mains et autres objets nécessitent le Detector et le Detailer adaptés, ou un masque manuel ; FaceDetailer n’est pas un outil universel.

L’inpainting manuel utilise Mask Editor pour indiquer la zone à modifier en priorité. Il sert pour un bord de logo, un petit défaut de fond ou un objet précis, mais sampling et compositing peuvent aussi changer l’aspect hors masque.

Ces chemins ne sont pas interchangeables. L’upscaling pixel ne garantit pas l’identité, FaceDetailer n’est pas un face swap et l’inpainting ne promet pas des pixels identiques hors masque. Commencez par classer le besoin : taille, nouveaux détails, zone détectée ou modification locale.


Upscaling pixel : UpscaleModelLoader + Upscale Image using Model

L’upscaling pixel est le post-traitement le plus simple. Si l’image est correcte et doit seulement gagner en dimensions, c’est généralement le point de départ le moins destructeur.

Premier agrandissement

Partons d’une image de 768×1024 à produire en plus grand.

Téléchargez d’abord un modèle adapté au type d’image depuis Real-ESRGAN ou une autre source fiable, par exemple RealESRGAN_x4plus.pth ou RealESRGAN_x4plus_anime_6B.pth.

Placez ensuite le fichier dans ComfyUI/models/upscale_models/.

Actualisez l’interface ComfyUI ou redémarrez afin de rescanner la liste. Si le modèle reste absent, vérifiez chemin, extension et extra_model_paths.yaml.

Connectez les nœuds. UpscaleModelLoader sélectionne le modèle. Upscale Image (Using Model) reçoit upscale_model et image ; reliez l’image générée à son entrée image.

Exécutez puis contrôlez les dimensions. Un modèle 4x produit généralement quatre fois la largeur et la hauteur, mais la sortie du nœud reste la référence pour la taille et les ressources.

Choisir un modèle d’upscaling

ModèleBon point de départCaractéristiques
4x-ESRGANUsage généralExemple du tutoriel officiel et base de comparaison utile
RealESRGAN_x4plusPhotos et scènes réalistesModèle général de restauration à tester sur les textures naturelles
RealESRGAN_x4plus_anime_6BAnime et illustrationOrientation anime à tester sur les lignes et aplats
realesr-general-x4v3Usage général légerOption plus légère pour comparer plusieurs images

Il n’existe pas de meilleur modèle universel. Le résultat dépend du type d’image, du style du modèle de base, des artefacts de compression et du facteur. Testez d’abord un modèle anime sur une illustration et un modèle général sur une photo, puis comparez contours, peau, cheveux et textures fines.

Rappel sur le dossier des modèles

Les modèles se placent normalement dans upscale_models, pas upscale_model. UpscaleModelLoader lit aussi les dossiers supplémentaires de extra_model_paths.yaml. Si la liste ne change pas, vérifiez d’abord fichier et chemin, puis actualisez ou redémarrez.


Agrandir le latent et resampler : LatentUpscale + KSampler

L’upscaling pixel ne réinterprète pas le prompt. Pour recréer matière ou détails après agrandissement, augmentez le latent puis relancez un sampling. denoise décide combien conserver et combien redessiner.

Paramètres de LatentUpscale

ParamètreRôleAttention
upscale_methodAlgorithme d’agrandissementOptions courantes : nearest-exact, bilinear, bislerp
width / heightDimensions ciblesMettre un côté à 0 calcule le ratio depuis l’autre
cropRecadrageOptions courantes : disabled et center

LatentUpscale sort un latent agrandi, ensuite envoyé à KSampler. Un denoise proche de 1,0 régénère davantage : les détails peuvent augmenter, mais composition, visage et vêtements dérivent plus facilement. Près de 0,0, l’image source est mieux préservée et les nouveaux détails sont limités.

Aucune valeur ne convient à tous les modèles. Pour une petite amélioration, commencez bas. Fixez seed, sampler, steps, CFG, checkpoint et poids LoRA, puis changez une seule variable. Dès que le visage ou les vêtements dérivent, revenez à la dernière valeur stable.

Différence avec l’upscaling pixel

CheminChangement de structure ?Détails ajoutés ?Usage
Upscaling pixelNormalement pas de changement volontaire de compositionReconstruit les détails pixelLa source est correcte et demande plus de résolution
Rééchantillonnage latentOui, selon denoiseRégénère les détailsUne variation est acceptable et matière ou structure locale doit être reprise

Le rééchantillonnage latent n’est pas un simple resize. Si le workflow utilise ControlNet, IPAdapter ou regional prompting, un second passage peut affaiblir ces contraintes. Enregistrez source et workflow avant de tester une branche séparée.


Réparer un visage avec FaceDetailer dans Impact Pack

Un petit visage flou est courant. FaceDetailer combine détection faciale et Detailer dans Impact Pack : il détecte une zone puis applique detail ou inpainting au crop. Il améliore les petits visages, sans fournir de cohérence d’identité ni de face swap.

Installer Impact Pack

Impact Pack est un paquet de custom nodes tiers. Son maintainer recommande ComfyUI Manager. Ouvrez l’installation des custom nodes, cherchez ComfyUI-Impact-Pack, installez puis redémarrez ComfyUI.

Impact Pack évolue souvent, y compris sa structure et ses exigences. Le README actuel précise aussi que certains Ultralytics Detector Provider demandent Impact Subpack séparément. Pour des nœuds rouges, un detector manquant ou des paramètres différents, vérifiez README, Subpack et Manager actuels au lieu de reproduire une ancienne capture.

Première réparation de visage

Prenons une image dont le visage éloigné manque de netteté.

Ajoutez FaceDetailer depuis le menu Impact Pack.

Reliez image, model, clip, vae, detector et les autres entrées requises. Celles-ci peuvent changer selon la version ; fiez-vous au nœud installé et au README actuel.

Regardez d’abord la zone détectée, guide_size, max_size, noise_mask, inpaint_model et cycle. guide_size fixe la taille de référence pour détailler une petite zone ; max_size limite son grand côté et l’usage VRAM.

Commencez avec un denoise prudent. 0,3–0,5 est un point de départ pratique, pas une valeur officielle. Plus le visage source est petit et la boîte grande, plus le réglage doit rester conservateur.

Comparez original et résultat. Le visage doit être plus net sans changement inutile d’identité, expression, cheveux ou arrière-plan.

Paramètres de FaceDetailer

ParamètreRôleRéglage conseillé
guide_sizeTaille de référence de la zone traitéeCommencer moyen ; une valeur élevée augmente redessin et VRAM
max_sizeTaille maximale de la zoneLimiter les grandes boîtes et la VRAM
noise_maskActive ou non un noise mask sur la zoneLe traiter comme un switch et vérifier la version installée
inpaint_modelUtilise le chemin d’un modèle inpaintLe configurer avec un checkpoint inpaint dédié
cycleNombre de passages DetailerCommencer à 1 ; les répétitions peuvent éloigner du visage source

Le detector détermine la zone traitée. Si le visage se dégrade, vérifiez la bonne détection puis réduisez zone, denoise ou guide size. Une main déformée demande un detector de main et un Detailer ou un inpainting manuel ; FaceDetailer ne la réparera pas automatiquement.

Limites de FaceDetailer

FaceDetailer améliore des détails faciaux sans garantir l’identité initiale. Pour la cohérence d’identité, utilisez FaceID, InstantID, ReActor ou LoRA. Sur une personne réelle, n’utilisez que vos contenus ou des contenus autorisés.


Inpainting manuel : changer une zone sans tout reconstruire

Pour un bord de logo, un petit défaut de fond ou une main, l’inpainting manuel offre plus de contrôle. Le masque fixe la priorité, mais la zone réellement affectée dépend encore de l’encoding, du conditioning, du denoise et du compositing.

Étapes dans Mask Editor

Prenons une image produit avec un petit défaut d’arrière-plan.

Chargez la source dans Load Image, cliquez avec le bouton droit et choisissez Open in MaskEditor.

Peignez uniquement la zone à corriger.

Effacez le surplus et conservez une marge de transition raisonnable.

Cliquez sur Save pour renvoyer le masque au nœud image et l’utiliser dans l’inpainting.

Deux connexions d’inpainting courantes

Les workflows natifs utilisent généralement l’un de deux chemins de conditioning. Il n’est pas nécessaire de les chaîner mécaniquement.

Le premier utilise VAE Encode (for Inpainting). Il reçoit pixels, vae, mask et grow_mask_by, puis sort un latent avec noise mask. Reliez ce latent à KSampler, puis décodez avec VAE Decode.

Le second utilise InpaintModelConditioning. Il reçoit positive, negative, vae, pixels et mask, puis sort positive et negative modifiés ainsi qu’un latent pour KSampler. Ce chemin convient aux workflows demandant un conditioning inpaint dédié.

KSampler reçoit lui-même model, positive, negative, latent et les autres paramètres de sampling. La VAE appartient aux nœuds d’encodage et de décodage avant et après, sans connexion directe à KSampler.

Rôle de grow_mask_by

grow_mask_by étend le masque pour créer une zone de transition dans le latent. Un masque trop serré produit un bord dur ; trop large, il redessine des éléments déjà corrects. Commencez par une petite extension, inspectez raccord et fond, puis augmentez progressivement.

Corriger les raccords visibles

En cas de couture, luminosité différente ou effet de patch, augmentez modérément grow_mask_by, baissez le denoise et adoucissez le masque. Des nœuds tiers ajoutent Expand Mask ou Blur Masked, mais vérifiez noms et comportement dans la version installée.


Options avancées : Ultimate SD Upscale et comfyui-inpaint-nodes

Upscaling pixel et latent couvrent la base. Un très grand passage complet peut épuiser la VRAM, tandis que des raccords difficiles demandent une préparation plus précise. Les custom nodes suivants sont avancés et ne sont pas requis pour un premier workflow.

Ultimate SD Upscale : renforcer les détails par tuiles

Passer une image de 1024×1536 à 4096×6144 rend un second passage complet coûteux. Ultimate SD Upscale découpe en tuiles, applique une diffusion image-to-image à chacune et assemble le résultat.

Les tuiles maintiennent chaque traitement près de la taille d’entraînement du modèle et réduisent la charge d’un passage global. En échange, le traitement ralentit et peut produire raccords, textures répétées ou style local incohérent.

Recherchez ComfyUI_UltimateSDUpscale dans ComfyUI Manager. Le point d’installation, le menu et les paramètres peuvent évoluer ; vérifiez le README et l’interface actuels.

comfyui-inpaint-nodes : préparer les masques

comfyui-inpaint-nodes fournit Fooocus inpaint, LaMa, MAT et des outils pour agrandir, réduire, flouter et remplir les masques. Les modèles Fooocus inpaint vont généralement dans ComfyUI/models/inpaint, mais contrôlez compatibilité et chemin de conditioning dans le README actuel.

BesoinPrétraitement à tester
Raccord visible autour de la modificationExpand Mask avec Blur Masked
Étendue du masque plus préciseShrink Mask ou Expand Mask
Meilleur remplissage initial dans le masqueFill Masked
Suppression d’objet ou outpaintingLaMa, MAT ou workflow outpaint adapté

Le denoise ne résout pas tout. Près de 1,0, la zone masquée est davantage redessinée ; plus bas, elle conserve plus de source, mais le comportement dépend aussi du modèle et du conditioning. Si l’extérieur bouge, vérifiez connexions et compositing avant de réduire masque, denoise ou transition.


Tableau de décision : scénario et post-traitement

ScénarioChemin recommandéPourquoiAlternative
La source est correcte et demande plus de résolutionUpscaling pixelConserve normalement la composition et améliore les pixelsRééchantillonnage latent pour régénérer des détails
Matière ou détails doivent être régénérésRééchantillonnage latentDenoise règle conservation et redessinUltimate SD Upscale pour une très grande image
Un visage éloigné est flouFaceDetailerDétecte le visage et le détaille localementInpainting manuel si la détection est fausse
Main, objet ou logo a un défaut localInpainting manuel ou Detailer adaptéMasque ou detector limite la zoneRevenir à la génération si la structure est fausse
La cible dépasse la VRAM disponibleUltimate SD UpscaleTiled img2img réduit la charge par tuileRéduire la cible et utiliser l’upscaling pixel
La modification a une couture visibleÉtendre et adoucir le masqueAjoute une transition au redessin localRéduire la force et le denoise

Forces et limites

CheminForcesLimitesBesoin VRAM
Upscaling pixelRapide, conserve normalement la composition, nombreux modèlesNe corrige pas la structure et peut créer une texture artificielleFaible à moyen
Rééchantillonnage latentRégénère matière et détails, réglage soupleDenoise à calibrer et dérive possibleMoyen à élevé
FaceDetailerDétecte automatiquement les visages sans masque manuelNe préserve pas l’identité et peut surcorrigerMoyen à élevé
Inpainting manuelZone définie et contrôle clairDemande masque, raccord et conditioning correctMoyen
Ultimate SD UpscaleTraite de très grandes images par tuilesPlus lent et risque de raccordsSelon tuile et modèle

N’activez pas tous les nœuds à la fois. Utilisez le chemin le moins destructeur qui résout le problème, enregistrez le résultat intermédiaire, puis décidez si un autre sampling ou une réparation locale se justifie.


Ordre conseillé : agrandir, réparer le visage, puis inpaint

L’ordre modifie le résultat. Pour un personnage, commencez par un agrandissement prudent, réparez les zones détectées, puis effectuez une modification locale manuelle. C’est un bon point de départ, pas une recette fixe.

Pourquoi cet ordre fonctionne

Enregistrez d’abord source et workflow. Si le seul problème est la taille, utilisez l’upscaling pixel, qui ne resample normalement pas le prompt.

Inspectez ensuite visage, mains et petites zones. FaceDetailer convient au visage ; une main ou un objet demande Detector et Detailer adaptés ou un masque manuel. Une source plus grande facilite l’évaluation d’une réparation excessive.

Terminez par l’inpainting manuel sur logo, bord, défaut de fond ou autre zone exacte, afin qu’une opération globale antérieure n’annule pas la correction.

Risques d’un second passage

Avec ControlNet, IPAdapter ou regional prompting, le rééchantillonnage latent et le sampling local d’un Detailer peuvent affaiblir les conditions amont. Pose, lignes, couleur des cheveux, vêtements et identité de référence peuvent dériver.

Si un second passage est nécessaire, gardez les conditions d’origine, fixez seed et paramètres, puis commencez avec un denoise faible. Si le résultat amont compte plus que les nouveaux détails, testez d’abord l’upscaling pixel.

Lectures associées


Échecs fréquents : flou, dérive du visage, raccords et débordement

SymptômeCause fréquenteSolution
Upscaling flou ou artificiellement durModèle inadapté ou répétitions excessivesComparer modèles généraux, photo et anime, puis réduire les passages
Le visage ne ressemble plus à la personneDenoise trop haut ou zone Detailer trop grandeBaisser denoise et réduire la zone ; utiliser une méthode d’identité dédiée si nécessaire
Des textures arbitraires apparaissentTiled upscale ou denoise élevé redessine tropBaisser denoise, retirer les nouvelles informations du prompt et tester plus petit
Le bord du masque forme une coutureMasque trop serré, transition absente ou luminosité locale modifiéeRégler grow_mask_by, adoucir et réduire la force
L’extérieur du masque changeMasque, noise mask, conditioning ou compositing incorrectVérifier les connexions, réduire le masque et le denoise
FaceDetailer ne trouve pas le visageVisage trop petit, angle inhabituel ou detector inadaptéAgrandir prudemment ou changer de detector, sans forcer avec un denoise élevé
Le modèle d’upscaling manqueChemin ou extension incorrect, liste non actualiséeLe placer dans upscale_models ou ajouter un chemin, puis actualiser ou redémarrer
Ultimate SD Upscale est rougeCustom node absent ou versions incompatiblesContrôler installation et mises à jour dans Manager ; isoler les conflits complexes
Le workflow manque de VRAMRésolution, tuile, batch ou zone Detailer trop grandeRéduire taille et batch, limiter max_size, réduire la tuile ou utiliser l’upscaling pixel

Continuer la réparation ou revenir à la génération ?

Continuez le post-traitement si composition, identité, pose et forme du produit sont correctes et qu’il ne reste que résolution, petit visage, main ou défaut local. La modification idéale tient dans une petite boîte de détection ou un masque.

Revenez à la génération si identité, pose, vêtements, nombre de sujets ou structure du produit sont faux. Ajouter denoise et inpainting augmente alors l’incertitude sans corriger la contrainte. Modifiez prompt, ControlNet, image de référence ou modèle.

Un personnage ou produit stable sur plusieurs sorties exige aussi plus que des inpaintings répétés. Le post-traitement finalise une image déjà presque correcte ; il ne remplace ni assets d’identité, ni contrôle structurel, ni entraînement.


Conclusion

Le post-traitement ComfyUI a quatre chemins : upscaling pixel, rééchantillonnage latent, réparation faciale avec FaceDetailer et inpainting manuel. Si la source est correcte, commencez par les pixels. Utilisez un second passage latent à faible denoise uniquement pour régénérer des détails. FaceDetailer corrige un petit visage flou sans garantir l’identité ; pour un défaut précis, utilisez un masque et un chemin de conditioning inpaint.

Pour un personnage, un ordre pratique est agrandissement prudent, réparation des zones détectées, puis modification manuelle. Si le second passage complet dépasse la VRAM, Ultimate SD Upscale peut travailler par tuiles, mais chaque raccord et transition locale doit être contrôlé. Comparer chaque étape à la source aide à repérer dérive du visage, texture artificielle et changements hors masque.

Choisir et exécuter un chemin de post-traitement ComfyUI

Classez le problème entre taille, détail à régénérer, petit défaut détecté et modification locale précise, puis commencez par le chemin le moins destructeur.

  1. 1

    Step 1: Conserver la sortie d’origine

    Enregistrez l’image, le workflow, le seed, le checkpoint, le sampler, les steps et le CFG afin de ne changer qu’une variable par test.
  2. 2

    Step 2: Déterminer si l’image doit seulement être plus grande

    Si composition, identité et texture sont correctes, commencez par UpscaleModelLoader et Upscale Image (Using Model).
  3. 3

    Step 3: Décider d’un rééchantillonnage

    N’utilisez LatentUpscale et KSampler que pour régénérer matière ou détails, en commençant avec un denoise faible.
  4. 4

    Step 4: Réparer un petit visage ou une zone détectée

    Utilisez FaceDetailer ou un autre couple Detector-Detailer, en limitant guide_size, max_size et denoise pour ne pas redessiner le fond.
  5. 5

    Step 5: Dessiner un masque pour une modification précise

    Couvrez uniquement la cible dans Mask Editor, gardez une petite transition et reliez VAE Encode (for Inpainting) ou InpaintModelConditioning.
  6. 6

    Step 6: Contrôler les raccords et le débordement

    En cas de bord dur, décalage de couleur ou effet de patch, ajustez grow_mask_by, le feathering et le denoise, puis contrôlez mask et noise mask.
  7. 7

    Step 7: Réduire la pression VRAM des grandes images

    Réduisez la taille cible ou utilisez Ultimate SD Upscale par tuiles, puis inspectez chaque bord de tuile et transition de texture.
  8. 8

    Step 8: Garder la modification minimale qui fonctionne

    Comparez source, upscaling pixel, rééchantillonnage et réparation locale, puis gardez la version qui atteint l’objectif avec le moins de dérive structurelle.

FAQ

Comment construire un Hires Fix dans ComfyUI ?
ComfyUI décompose généralement Hires Fix en génération basse résolution, agrandissement du latent ou de l’image, puis second passage KSampler à denoise faible ou moyen. Le réglage essentiel est la force du rééchantillonnage, pas le nom d’un nœud.
Quelle différence entre Latent Upscale et Upscale Image (Using Model) ?
Latent Upscale agrandit le latent et nécessite un nouvel échantillonnage, ce qui peut changer détails et structure. Upscale Image (Using Model) traite les pixels et convient lorsque le contenu est correct et que seule la taille doit augmenter.
Où placer les modèles d’upscaling ComfyUI ?
Le tutoriel officiel et la documentation du nœud utilisent ComfyUI/models/upscale_models. UpscaleModelLoader peut aussi lire les chemins définis dans extra_model_paths.yaml. Actualisez l’interface ou redémarrez après l’ajout.
FaceDetailer est-il un outil de face swap ?
Non. FaceDetailer détecte une zone de visage et y applique un traitement detail ou inpaint. La cohérence d’identité demande FaceID, InstantID, ReActor ou LoRA, uniquement avec des contenus possédés ou autorisés.
Pourquoi l’inpainting modifie-t-il l’extérieur du masque ?
Un denoise trop élevé, un masque ou noise mask mal connecté, une transition trop large, ou un sampling et compositing sur tout le latent peuvent l’expliquer. Réduisez le masque et le denoise, puis vérifiez le conditioning.
Que régler si FaceDetailer dégrade le visage ?
Vérifiez d’abord que le detector cible la bonne zone. Réduisez ensuite la boîte ou guide_size et baissez le denoise. Si le visage source contient trop peu de pixels, agrandissez prudemment l’image entière avant une réparation plus forte.
Quand utiliser Ultimate SD Upscale ?
Utilisez-le lorsque la cible est trop grande pour un second passage complet ou que l’upscaling pixel manque de détails. Il ajoute des paramètres et peut créer des raccords de tuiles ou des styles locaux incohérents.

15 min de lecture · Publié le: 22 juil. 2026 · Mis à jour le: 21 juil. 2026

Commentaires

Connectez-vous avec GitHub pour laisser un commentaire

Easton BlogEaston Blog