IC-Light leuchtet ein Foto anhand eines Text-Prompts oder einer Lichtmaske neu aus. Es verschiebt nicht nur das Licht: Es leistet auch eine wirklich schöne Retusche, nahe am professionellen Niveau, und du kannst ihm jedes grobe Foto von dir, deiner Familie oder einer Landschaft geben. Es läuft in ComfyUI auf fast jedem Gaming-Laptop, zu Hause, kostenlos, ohne deine Fotos irgendwohin hochzuladen.
IC-Light stammt von lllyasviel, dem Autor von ControlNet (IC-Light auf GitHub). Es gibt auch ein IC-Light v2, das bessere Ergebnisse liefert, aber als ich das gemacht habe, gab es es nur als kostenpflichtigen, nicht kommerziellen Dienst auf der eigenen Website, nicht in ComfyUI. Hier nutze ich v1.
Kurz gefasst
- Nodes: ComfyUI-IC-Light (Kijai), KJNodes, Essentials, rgthree. Modell: iclight_sd15_fc.
- Graph: Checkpoint → Load And Apply IC-Light → KSampler; Prompts und VAE → IC-Light Conditioning → KSampler; dein Foto, skaliert und per VAE kodiert, als Vordergrund.
- Beschreibe das Licht im Prompt: „daylight“, „foggy morning“, „neon light“, „spotlight“.
- Das Gesicht behalten: Detail Transfer aus dem Originalbild.
- Lichtmasken ersetzen das leere Latent; weiche sie auf, sonst brennt das Bild aus.
Neu bei ComfyUI? Beginne mit den ComfyUI-Grundlagen. Der Workflow und meine Lichtmasken sind kostenlos auf meinem Patreon.
Installation
- Manager → Custom Nodes Manager, suche nach IC-Light. Es gibt zwei Pakete, das von Kijai und IC-Light Native von huchenlei. Beide sind nützlich; ich installiere beide und nutze hier das von Kijai.
- Installiere auch KJNodes (Kijais Hilfs-Nodes). Starte neu und lade die Seite neu.
- Manager → Model Manager, suche nach IC-Light. Es gibt drei Modelle; du brauchst nur eines:
- FC (foreground conditioned): das, das ich nutze.
- FBC (Vordergrund und Hintergrund).
- FCON: laut Dokumentation etwas schlechter als FC.
- Nach dem Download aktualisiere einfach die Seite (Strg+R); ein Neustart ist nicht nötig.
Den Workflow bauen
Beginne mit dem Standard-Workflow und wechsle den Checkpoint zu epiCPhotoGasm. Benenne die Prompts „Positive“ und „Negative“ um und färbe sie grün und rot.
- Load And Apply IC-Light: Das Modell des Checkpoints läuft durch ihn in den KSampler. Er übernimmt das FC-Modell automatisch.
- IC-Light Conditioning: Verbinde den positiven Prompt, den negativen Prompt und das VAE; seine Ausgänge positive und negative gehen an den KSampler.
- Der Vordergrund: Load Image mit deinem Foto → Image Resize (Essentials) → VAE Encode → der Eingang foreground des Conditioning.
Der Conditioning-Node hat auch einen Eingang opt_background. Ich habe Hintergrundbilder ausprobiert, und sie sahen nie gut aus, also habe ich aufgehört; beschreibe den Hintergrund stattdessen im Prompt. Er hat auch einen Ausgang empty_latent, dasselbe wie ein Node Empty Latent Image. Ich behalte ein separates Empty Latent Image, weil dieser Eingang später der Ort ist, an den Lichtmasken gehören.
Tippe eine Beleuchtung in den positiven Prompt, etwa daylight oder foggy morning, und drücke Strg+Enter. Jeder Durchlauf ist etwas anders; erhöhe die Batch-Anzahl, um viele Variationen zu sehen. Manche werden schrecklich sein, manche gut zum Weiterarbeiten. Such dir die besten aus.
Vergleichen und das Gesicht mit Detail Transfer behalten
Füge rgthrees Image Comparer hinzu, mit dem Ergebnis als Bild A und dem skalierten Original als Bild B. Ziehe den Schieberegler, und du siehst, dass es das Gesicht leicht verändert. Das ist die Retusche-Seite: Es „verbessert“ dich. Danach bist du nicht mehr genau derselbe, was öfter schlecht als gut ist.
Um das Detail zurückzubringen, füge Detail Transfer hinzu: die neu ausgeleuchtete Ausgabe in target, das Originalbild in source. Es funktioniert wie ein Hochpass- bzw. Unscharf-Maskieren-Trick in Photoshop und kann zu viel sein; senke den Blend Factor, um es zu steuern.
Den Seed beim Abstimmen festsetzen
Mit dem Seed auf randomize führt jede Änderung alles erneut aus und liefert ein neues Bild. Auf fixed zu wechseln friert das aktuelle Bild auch nicht ein, weil der nächste Seed bereits gesetzt wurde. Stattdessen stelle ich den Seed auf increment, beginnend bei 1, damit jedes Bild eine bekannte Nummer hat. Gehe zurück zu der Nummer, die dir gefiel (sagen wir 3), führe sie aus und wechsle dann auf fixed. Wenn du jetzt die Einstellungen von Detail Transfer änderst, läuft nur dieser Node erneut, in ein paar Sekunden.
Lichtmasken
Statt eines leeren Latents gib dem KSampler eine Lichtmaske: ein Schwarz-Weiß-Bild, in dem Weiß Licht ist. Lade die Maske, schicke sie durch VAE Encode und verbinde sie mit dem latent_image des KSampler. Ich habe einen Satz Masken gezeichnet (rund, Streifen, diagonale Linien und weitere); sie liegen auf meinem Patreon.
Harte Masken brennen das Bild aus. Eine reine Schwarz-Weiß-Maske ergibt einen extrem hohen Kontrast, und eine runde Maske erzeugte ein sehr starkes Licht, das auch die Augen traf. Um sie aufzuweichen, füge zwischen Maske und VAE Encode einen Remap Image Range mit einer Vorschau ein: Erhöhe das Minimum und senke das Maximum. Ich bin auf etwa 20 Prozent heruntergegangen. Es ist nicht in Echtzeit wie in Photoshop; du führst den Graphen aus, um selbst die Vorschau zu sehen.
Mit Masken zählt der Prompt sehr. „Spotlight“ ergab hartes Licht; „neon light“ ergab Neon. Ich reihe meist sechs oder acht auf einmal ein. (Ein Klick auf die Zahl an einem Vorschau-Node zeigt alle Vorschauen früherer Durchläufe, eine neuere ComfyUI-Funktion; aktualisiere ComfyUI ab und zu.)
Multiplikator: Der Standardwert 0,182 von IC-Light Conditioning ist gut. Bei 0,155 wurde es dunkler; bei 0,25 brannte es das Bild fast bis zu einem stilisierten Look aus.
Schwarz-Weiß-Ergebnisse
Manchmal liefert es Schwarz-Weiß-Bilder, und ich weiß nicht, warum. „black and white“ in den negativen Prompt zu setzen, ließ die Sättigung verrückt spielen. Auch das Ausprobieren des Modells Photon erzeugte anfangs viele Schwarz-Weiß-Bilder. Mein Laptop mit 4 GB machte sie viel öfter als mein PC mit 24 GB, der meist Farbe liefert. Ein Prompt wie „50% saturated“ kann helfen. Am Ende habe ich meist ausgewählt, statt viel zu prompten; ich halte Prompts minimal.
Höhere Auflösung
SD 1.5 und IC-Light sind auf 512 × 512 trainiert. Du kannst trotzdem ein Bild mit 1024 × 1024 einspeisen, solange die Maske dieselbe Größe hat (nutze einen Skalierungs-Node). Das Ergebnis war etwas ausgebrannt und stilisierter, aber von höherer Qualität. Das kann sich lohnen, denn Upscaler machen Haut manchmal auf plastische Weise weich.
Das Licht von Hand malen
Du kannst eine Lichtmaske auch direkt malen:
- Rechtsklick auf Load Image → Open in Mask Editor und male, wo das Licht fallen soll (ich habe einen Noir-Look der 1950er an einem Gesicht ausprobiert).
- Convert Mask to Image, dann in VAE Encode.
- Wenn das Ergebnis unscharf ist, prüfe die Größen: Wenn die Maske nicht genau zum Bild mit 512 × 512 passt, geht alles kaputt.
- Weiche sie auf: Mask Blur (Essentials) vor dem Umwandeln in ein Bild (ich habe 66 genutzt), dann Remap Image Range bei etwa 30 Prozent mit gesenkten Weißwerten.
Gruppen und Landschaften
IC-Light funktioniert auch bei mehreren Personen. Bei einem erzeugten Familienfoto lieferte „daylight“ interessante Ergebnisse. Eine Lichtstrahl-Maske auf dem Kind oder „beam of light“ im Prompt erzeugte einige verrückte Lichtstrahlen; vielleicht muss der Multiplikator angepasst werden.
Bei einem Landschaftsfoto aus Australien lieferte „daylight“ interessante Ergebnisse, „sunset“ machte es viel zu rot und gruselig, und „afternoon“ ersetzte manchmal das Meer durch eine Landschaft, die nicht da war, leistete aber manchmal gute Arbeit. Man muss mit den Prompts spielen.
Das Ergebnis hochskalieren
Ein neu ausgeleuchtetes Bild mit 512 px kann mit meinem kostenlosen Upscaling-Workflow auf 8K gehen. Das Ergebnis war nicht immer erstaunlich; oft fand ich das neu ausgeleuchtete 512er-Bild besser. Aber wenn du die Auflösung brauchst, liefert es trotzdem ein ordentliches Ergebnis.
Die Videoversion ansehen (19:19)
Alles oben steht auch im Video, falls du lieber am Bildschirm mitmachst. Das Video ist auf Englisch.
Häufige Fragen
Kann ich IC-Light v2 in ComfyUI nutzen?
Nicht, als ich das gemacht habe. IC-Light v2 gab es nur als kostenpflichtigen, nicht kommerziellen Dienst auf der eigenen Website. Dieser Leitfaden nutzt IC-Light v1, das lokal läuft.
Welches IC-Light-Modell sollte ich herunterladen?
Das FC-Modell (foreground-conditioned) ist alles, was ich nutze. Das FBC-Modell nimmt auch einen Hintergrund; ich habe Hintergrundbilder ausprobiert, und sie sahen nie gut aus, daher beschreibe ich den Hintergrund stattdessen im Prompt.
Warum sind meine neu ausgeleuchteten Bilder ausgebrannt oder schwarz-weiß?
Harte Schwarz-Weiß-Lichtmasken brennen das Bild aus: Weiche sie mit Remap Image Range und einer Maskenunschärfe auf. Schwarz-Weiß-Ergebnisse traten auf meinem Laptop mit 4 GB oft auf und auf meinem PC mit 24 GB selten; ein Prompt im Stil von „50% saturated“ kann helfen.
Welchen Multiplikator sollte ich in IC-Light Conditioning nutzen?
Der Standardwert 0,182 funktioniert gut. 0,155 wurde dunkler; 0,25 brannte das Bild fast bis zu einem stilisierten Look aus.
