Ce flux de travail offre un pipeline modulaire de contournement d'image pour ComfyUI qui combine normalisation non sémantique, contrôles FFT et simulation de pipeline de caméra. Il est conçu pour les créateurs et chercheurs qui ont besoin d'une méthode fiable pour traiter des images à travers une étape de contournement d'image tout en gardant un contrôle total sur le routage des entrées, le comportement de prétraitement et la cohérence des sorties.
Au cœur, le graphe génère ou ingère une image, puis la dirige à travers une suite de contournement d'image qui peut appliquer des artefacts similaires à ceux des capteurs, un façonnage de fréquence, une correspondance de texture et un optimiseur perceptuel. Le résultat est un chemin propre et configurable qui convient au travail par lots, à l'automatisation et à l'itération rapide sur des GPU de consommation. La logique de contournement d'image est alimentée par l'utilitaire open source de ce dépôt : PurinNyova/Image-Detection-Bypass-Utility.
À un niveau élevé, le flux de travail offre deux façons de produire l'image qui entre dans la suite de contournement d'image : une branche Texte-à-Image (T2I) et une branche Image-à-Image (I2I). Les deux convergent sur un nœud de traitement unique qui applique la logique de contournement d'image et écrit le résultat final sur disque. Le graphe enregistre également la ligne de base pré-contournement pour que vous puissiez comparer les sorties.
Utilisez ce chemin lorsque vous souhaitez synthétiser une nouvelle image à partir de prompts. Votre encodeur de prompt est chargé par CLIPLoader (#164) et lu par CLIP Text Encode (Positive Prompt) (#168) et CLIP Text Encode (Negative Prompt) (#163). L'UNet est chargé avec UNETLoader (#165), éventuellement patché par ModelSamplingAuraFlow (#166) pour ajuster le comportement d'échantillonnage du modèle, puis échantillonné avec KSampler (#167) à partir de EmptySD3LatentImage (#162). L'image décodée sort de VAEDecode (#158) et est enregistrée comme ligne de base via SaveImage (#159) avant d'entrer dans la suite de contournement d'image. Pour cette branche, vos entrées principales sont les prompts positifs/négatifs et, si désiré, la stratégie de graine dans KSampler (#167).
Choisissez ce chemin lorsque vous avez déjà une image à traiter. Chargez-la via LoadImage (#157) et dirigez la sortie IMAGE vers l'entrée de la suite de contournement d'image sur NovaNodes (#146). Cela contourne entièrement le conditionnement textuel et l'échantillonnage. C'est idéal pour le post-traitement par lots, les expériences sur des ensembles de données existants, ou la standardisation des sorties d'autres flux de travail. Vous pouvez librement basculer entre T2I et I2I selon que vous souhaitez générer ou transformer strictement.
C'est le cœur du graphe. Le processeur central NovaNodes (#146) reçoit l'image entrante et deux blocs d'options : CameraOptionsNode (#145) et NSOptionsNode (#144). Le nœud peut fonctionner en mode automatique simplifié ou en mode manuel qui expose des contrôles pour le façonnage de fréquence (lissage/mise en correspondance FFT), les perturbations de pixels et de phase, la gestion du contraste local et des tons, les LUTs 3D optionnelles, et l'ajustement des statistiques de texture. Deux entrées optionnelles vous permettent de brancher une référence de balance des blancs automatique et une image de référence FFT/texture pour guider la normalisation. Le résultat final du contournement d'image est écrit par SaveImage (#147), vous donnant à la fois la ligne de base et la sortie traitée pour une évaluation côte à côte.
NovaNodes (#146)Le processeur central de contournement d'image. Il orchestre le façonnage dans le domaine de la fréquence, les perturbations spatiales, le contrôle des tons locaux, l'application de LUT, et la normalisation de texture optionnelle. Si vous fournissez une awb_ref_image ou fft_ref_image, il utilisera ces références tôt dans le pipeline pour guider la correspondance des couleurs et spectrale. Commencez en mode automatique pour obtenir une ligne de base raisonnable, puis passez en manuel pour affiner la force des effets et le mélange pour votre contenu et les tâches en aval. Pour des comparaisons cohérentes, définissez et réutilisez une graine ; pour l'exploration, randomisez pour diversifier les micro-variations.
NSOptionsNode (#144)Contrôle l'optimiseur non sémantique qui pousse les pixels tout en préservant la similarité perceptuelle. Il expose le nombre d'itérations, le taux d'apprentissage, et les poids de perception/régularisation (LPIPS et L2) ainsi que le clipping des gradients. Utilisez-le lorsque vous avez besoin de changements subtils de distribution avec un minimum d'artefacts visibles ; gardez les changements conservateurs pour maintenir des textures et bords naturels. Désactivez-le entièrement pour mesurer combien le pipeline de contournement d'image aide sans optimiseur.
CameraOptionsNode (#145)Simule les caractéristiques du capteur et de l'objectif telles que la démarque et les cycles JPEG, le vignettage, l'aberration chromatique, le flou de mouvement, le banding et le bruit de lecture. Traitez-le comme une couche de réalisme qui peut ajouter des artefacts d'acquisition plausibles à vos images. Activez uniquement les composants qui correspondent à vos conditions de capture cibles ; empiler trop peut sur-contraindre l'apparence. Pour des sorties reproductibles, gardez les mêmes options de caméra tout en variant d'autres paramètres.
ModelSamplingAuraFlow (#166)Corrige le comportement d'échantillonnage du modèle chargé avant qu'il n'atteigne KSampler (#167). Cela est utile lorsque votre backbone choisi bénéficie d'une trajectoire de pas alternative. Ajustez-le lorsque vous remarquez un décalage entre l'intention du prompt et la structure de l'échantillon, et traitez-le en tandem avec vos choix d'échantillonneur et de planificateur.
KSampler (#167)Exécute l'échantillonnage de diffusion donné le modèle, le conditionnement positif et négatif, et le latent de départ. Les leviers clés sont la stratégie de graine, les étapes, le type d'échantillonneur, et la force de débruitage globale. Des étapes plus basses aident à la vitesse, tandis que des étapes plus élevées peuvent stabiliser la structure si votre modèle de base l'exige. Gardez le comportement de ce nœud stable tout en itérant sur les réglages de contournement d'image afin que vous puissiez attribuer les changements au post-traitement plutôt qu'au générateur.
z_image_turbo_bf16 et toujours acheminer les résultats à travers la même pile de traitement.awb_ref_image et fft_ref_image qui partagent des caractéristiques d'éclairage et de contenu avec votre domaine cible ; des références mal assorties peuvent réduire le réalisme.SaveImage (#159) comme ligne de base et SaveImage (#147) comme sortie de contournement d'image afin que vous puissiez tester A/B les réglages et suivre les améliorations.EmptySD3LatentImage (#162) uniquement si la VRAM le permet, et préférez les graines fixes lors de la mesure des petits changements de paramètres.Ce flux de travail implémente et s'appuie sur les travaux et ressources suivants. Nous remercions chaleureusement PurinNyova pour Image-Detection-Bypass-Utility pour leurs contributions et leur maintenance. Pour des détails autorisés, veuillez vous référer à la documentation originale et aux dépôts liés ci-dessous.
Note : L'utilisation des modèles, ensembles de données et codes référencés est soumise aux licences et conditions respectives fournies par leurs auteurs et mainteneurs.
RunComfy est la première ComfyUI plateforme, offrant des ComfyUI en ligne environnement et services, ainsi que des workflows ComfyUI proposant des visuels époustouflants. RunComfy propose également AI Playground, permettant aux artistes d'utiliser les derniers outils d'IA pour créer des œuvres d'art incroyables.