Zum Hauptinhalt springen

NSFW-Bildbearbeitung mit n8n: Neue Looks aus einer Figurenreferenz erstellen

Erstellen Sie Bildbearbeitungsserien mit n8n: Referenzen zuordnen, Job-IDs erhalten, Figuren prüfen und freigegebene Dateien speichern.

Autor
Lydia
Erschienen
Lesedauer
32 Min. Lesezeit
Aktualisiert
Mara, eine fiktive erwachsene Figur, im bordeauxroten Satinkleid auf einem grünen Samtsofa.

Für eine NSFW-Bildserie mit derselben Figur in n8n behandeln Sie jedes gewünschte Bild als eigenen Job, halten dessen Referenzbilder zusammen und verwenden für jede Variante dieselbe freigegebene Figurenreferenz. Laden Sie die Ergebnisse in einen Prüfungsordner herunter und verschieben Sie nur freigegebene Bilder in den Auslieferungsordner. So entsteht ein wiederholbarer Produktionsprozess, ohne eine abgeschlossene API-Anfrage als Beweis für ein erhaltenes Gesicht zu betrachten.

Meist besteht die Schwierigkeit nicht darin, sechs Prompts zu schreiben. Sie müssen sicherstellen, dass sechs einzelne Elemente die richtige Figuren-, Kleidungs- und Raumreferenz erhalten, jedes Ergebnis mit seinen Anweisungen verbunden bleibt und Sie die ausgewählte Version wiederfinden, nachdem der temporäre Ergebnislink abgelaufen ist. Ein technisch fehlerfreier Workflow kann die falsche Figur liefern, wenn diese Entscheidungen fehlen.

Dieser Leitfaden entwickelt ein vollständiges Beispiel: eine Abendserie mit sechs Bildern von Mara, einer fiktiven 34-jährigen Figur. Kleidung, Licht und Bildausschnitt wechseln, ihre etablierte Identität bleibt. Das öffentliche Beispiel verwendet blickdichte Kleidung und nicht explizite Anweisungen. Dieselbe Mechanik eignet sich für zulässige Inhalte für Erwachsene; weder n8n noch dieser Leitfaden versprechen jedoch, dass jede NSFW-Anfrage angenommen oder wie gewünscht umgesetzt wird.

Der folgende Workflow ist ein vorgeschlagener Aufbau auf Grundlage des veröffentlichten SpicyAPI-Community-Nodes und des aktuellen Bearbeitungsschemas. Er beschreibt keine neu ausgeführte Serie mit sechs Bildern. Die Anleitung trennt die automatischen Funktionen des Nodes von den kreativen Entscheidungen, die Sie selbst treffen.

Bauen Sie die Serie auf einem freigegebenen Figurenbild auf

Beginnen Sie mit dem Bild, das Sie jemandem zeigen würden, der fragt, wer Mara ist. Wählen Sie eine klare, relativ nahe Ansicht mit gut erkennbarem Gesicht, der gewünschten Frisur und Licht, das nicht die Hälfte ihrer Merkmale verdeckt. In unserem Beispiel hat sie dunkle schulterlange Locken, ein leicht asymmetrisches Lächeln und ein dunkelblaues blickdichtes Trägertop unter einer anthrazitfarbenen Jacke. Sie sitzt neben einem grünen Sofa. Diese Details machen die Bearbeitungsanweisungen konkret, ohne eine lange erfundene Biografie zu benötigen.

Speichern Sie die Datei als Figurenmaster. Sie sollte in Ihrem eigenen Speicher verfügbar bleiben, auch wenn Sie sie später zu SpicyAPI hochladen. Eine temporäre Eingabe-URI ist praktisch, um während der Produktion auf eine Datei zu verweisen; sie ist kein dauerhaftes Figurenarchiv. Geben Sie dem Master eine Version wie mara-master-v1, damit eine spätere Frisuränderung nicht unbemerkt die Quellen einer älteren Serie verändert.

Bereiten Sie für diese Serie zwei weitere Bilder vor. Die Kleidungsreferenz zeigt ein bordeauxrotes blickdichtes Satinkleid an einem Bügel oder einer Schaufensterpuppe, ohne konkurrierendes Gesicht. Die Raumreferenz zeigt eine leere Lounge mit Messinglampe und grünen Samtmöbeln. Das Modell erhält drei klar getrennte Aufgaben: die Person aus dem ersten Bild, das Kleidungsstück aus dem zweiten und die Umgebung aus dem dritten übernehmen.

Eine Raumaufnahme mit einer weiteren auffälligen Person verwischt diese Trennung. Eine Kleidungsaufnahme mit dem Gesicht eines anderen Models verursacht dasselbe Problem. Wenn Ihnen nur solche Referenzen vorliegen, schneiden Sie sie vor dem Upload auf den benötigten Bereich zu. Sie sammeln nicht möglichst viele Referenzen, sondern beseitigen Unklarheit darüber, welchen Beitrag jedes Bild leisten soll.

Halten Sie die erste Kameraanweisung nahe an der Quelle. Ein sitzendes Dreiviertelporträt unterstützt ein weiteres sitzendes Porträt unmittelbarer als eine extreme Aufsicht mit abgewandtem Kopf. Das ist eine praktische Empfehlung, keine gemessene Erfolgsquote. Bei einem neuen Winkel, der zuvor unsichtbare Merkmale verlangt, muss das Modell mehr Informationen erfinden.

Bauen Sie die Serie nicht als Master → Kleiderwechsel → neuer Raum → neue Pose → Nahaufnahme auf. Jedes Ergebnis dieser Kette interpretiert das Gesicht erneut. Eine Abweichung im zweiten Schritt kann zur Grundlage des dritten werden. Unsere sechs Zeilen verweisen jeweils auf mara-master-v1, nicht auf das vorherige Ergebnis. Für eine kleine Korrektur können Sie bewusst eine Bearbeitungskette verwenden; sie sollte eine eigene Entscheidung sein und kein zufälliger Effekt der Node-Verbindungen.

Drei Referenzen liefern die erwachsene Figur, ein bordeauxrotes Kleid und eine leere Lounge.

Verwenden Sie das erste Bild für die Identität, das zweite für das Kleidungsstück und das dritte für den Raum. Illustration.

Wählen Sie den Bearbeitungsendpunkt vor dem Aufbau der Automatisierung

Verwenden Sie ein Bildbearbeitungsmodell, kein Text-to-Image-Modell, in dessen Prompt Sie lediglich die Figurenbeschreibung einfügen. Der integrierte Edit-Image-Node von n8n kann Dateien zuschneiden, skalieren und zusammensetzen; er ist nicht der generative Editor, der Kleidung oder Raum einer Figur verändert. Im Beispiel lautet die Modell-ID alibaba/qwen-image-2.1/edit. Die Bearbeitungsseite von Qwen Image 2.1 beschreibt die Aufgabe und verfügbaren Einstellungen.

Der aktuelle Endpunkt akzeptiert image_urls als Liste mit einem bis zehn Bildern, einen erforderlichen prompt mit bis zu 5000 Zeichen, ein Ausgabeformat für das Seitenverhältnis, eine Auflösungsstufe und ein Dateiformat. Pro Anfrage liefert er ein Bild. Sechs gewünschte Bilder bedeuten somit sechs Generierungsaufträge. Drei Referenzen in einer Anfrage ergeben weiterhin ein Ausgabebild, keine drei separaten Varianten.

Wählen Sie für unsere normale Serie mit mehreren Referenzen resolution: 2k, aspect_ratio: 4:5, output_format: png und background: opaque. Setzen Sie enable_prompt_expansion auf false, wenn Sie zunächst mit unveränderten schriftlichen Anweisungen arbeiten möchten. Die Erweiterung lässt sich bei 1k und 2k ausschalten; das ist eine nützliche Vergleichseinstellung, kein Schalter zur Identitätssperre. Lassen Sie den Seed anfangs leer. Ein wiederholter Seed garantiert weder dasselbe Gesicht noch dieselbe Datei.

Das aktuelle Schema dieses Endpunkts bietet keine Regler für Stärke, CFG, Sampling-Schritte oder einen separaten negativen Prompt. Ergänzen Sie nicht bekannte Stable-Diffusion-Felder, nur weil ein anderer Leitfaden sie verwendet. Schreiben Sie Erhaltungsanweisungen und Ausschlüsse in den Hauptprompt. Wenn Sie lokale Sampling-Einstellungen benötigen, wählen Sie einen Workflow, der sie tatsächlich bereitstellt.

Der Endpunkt bietet außerdem mask_url für eine andere Aufgabe: eine lokale Korrektur mit genau einem Referenzbild. Diesen Modus verwenden wir für unsere Serie mit drei Referenzen nicht. Eine kleine Korrektur am Kleidungsrand kann nach der Bildauswahl als eigener maskierter Auftrag erfolgen. Figuren-, Kleidungs- und Raumreferenz zusammen mit einer Maske würden die Eingabeanforderung des lokalen Modus verletzen.

Der Katalog beschreibt den Endpunkt als unrestricted. Das ist für NSFW-Creator bei der Editorwahl relevant, garantiert aber nicht die Bilder Ihrer nächsten Serie. Der vorhandene Artikel zur Qwen-Bearbeitung behandelt andere beobachtete Bearbeitungsergebnisse. Dieser Leitfaden ergänzt den Produktionsablauf für Referenzserien; er macht aus früheren Beobachtungen keinen neuen Konsistenzbenchmark.

Installieren Sie den tatsächlichen Node und benennen Sie die Workflow-Nodes

Für Paket, API-Key-Einrichtung und HTTP-Vorlagen für n8n Cloud öffnen Sie den offiziellen Leitfaden zum SpicyAPI-n8n-Node. Anschließend folgen Sie dem Szenen- und Referenzaufbau für diesen konkreten Workflow.

Das Paket heißt @spicyapi/n8n-nodes-spicyapi, Version 0.1.1. Öffnen Sie in selbst gehostetem n8n Settings → Community Nodes → Install, geben Sie den Paketnamen ein und installieren Sie es. Erstellen Sie die Zugangsdaten SpicyAPI (spicyapi.ai) API mit Ihrem Schlüssel aus der API-Key-Konsole. Behalten Sie die voreingestellte API-Basis-URL bei, sofern kein konkreter Grund für eine Änderung vorliegt.

n8n Cloud erlaubt verifizierte Community-Nodes; eine Veröffentlichung auf npm bedeutet allein noch keine Verifizierung. Dieser Leitfaden verwendet den Community-Node in selbst gehostetem n8n. Cloud-Nutzer können dieselben API-Aufrufe mit integrierten HTTP-Request-Nodes umsetzen, sollten dort aber nicht die Dropdowns und automatischen Uploads dieses Pakets erwarten. Die aktuelle n8n-Installationsdokumentation erklärt den Unterschied.

Es gibt keine separate SpicyAPI-Operation namens „Edit Character“ oder „Batch NSFW“. Wählen Sie Resource: Image → Operation: Generate und anschließend das Bearbeitungsmodell. Generate ist die Node-Operation für Bildmodelle, einschließlich Bearbeitung; das ausgewählte Modell bestimmt die Aufgabe. Das Modell-Dropdown zeigt Einstiegspreise, keinen vollständigen Preis für Ihr konkretes Referenzpaket.

Wir bauen zwei kleine Workflows. Der erste erzeugt Kandidaten und speichert sie in einem Prüfungsordner. Der zweite liest die freigegebenen Zeilen und legt die ausgewählten Dateien in einem Auslieferungsordner ab. Diese Trennung erlaubt eine gemeinsame Prüfung von sechs Bildern, ohne eine Ausführung bis zu Ihrer Rückkehr warten zu lassen. Außerdem können Sie die Auslieferung erneut ausführen, ohne dieselben Bilder kostenpflichtig neu zu generieren.

Benennen Sie die wichtigen Nodes beim Aufbau: Read Jobs, Ready Jobs, Loop Jobs, Prepare Edit, Edit Character, Attach Job, Save Candidate und Record Candidate. Spätere Ausdrücke beziehen sich auf diese Namen. Wenn Sie andere Namen wählen, passen Sie die Ausdrücke an. Dies ist eine Anleitung zum manuellen Aufbau, keine Behauptung, dass eine offizielle importierbare Vorlage für genau diese Serie existiert.

Beginnen Sie mit einem Manual Trigger. Einen Zeitplan können Sie ergänzen, sobald der Workflow wie gewünscht funktioniert; der erste Durchlauf sollte einen bewusst ausgewählten Job enthalten. Ein Ordner mit neuen Uploads ist noch kein Produktionsbriefing. Die Jobtabelle legt fest, welche Uploads zusammengehören und welches Ergebnis angefordert wird.

Erstellen Sie sechs Jobzeilen statt eines Ordners lose zusammengehöriger Dateien

Verwenden Sie im Beispiel ein Google Sheet mit einem Tab Jobs. Jede Zeile entspricht einem gewünschten Ergebnis. Vergeben Sie eine eindeutige job_id, einen Seriennamen, einen Prompt, drei Quellenangaben, eine Auflösung, ein Seitenverhältnis, eine Versuchsnummer und einen Status. So lässt sich ein bestimmter Auftrag wiederholen, ohne alle übrigen Bilder erneut zu generieren.

Die sechs Bildaufträge unterscheiden sich ausreichend für eine abwechslungsreiche Serie:

JobGewünschtes BildHauptänderungVertraute Merkmale
M01Sitzendes Lounge-PorträtBordeauxrotes Kleid, gleiche SitzposeGesicht, Locken, Lächeln, grünes Sofa
M02Porträt bis zur Taille an der LampeWärmeres Seitenlicht, engerer AusschnittGesicht, Frisur, Schnitt des Kleids
M03Stehendes Porträt neben dem SofaAndere Haltung, mehr Raum sichtbarIdentität, Kleiderfarbe, Lounge-Farben
M04Dreiviertelporträt am FensterKühleres Fensterlicht, Lampe dahinterIdentität, Haarlänge, bordeauxrotes Kleid
M05Nahes Porträt mit JackeUrsprüngliche anthrazitfarbene Jacke ergänzenGesichtsproportionen, Locken, zurückhaltender Ausdruck
M06Weiter gefasste sitzende KompositionMehr Platz für Titel oder ZuschnittIdentität, Kleid, Möbelanordnung

Verwenden Sie für alle sechs batch_id: mara-evening-01 und attempt: 1. Markieren Sie anfangs nur M01 als ready; die anderen fünf bleiben draft. Sobald ein Kandidat mit korrekten Zeileninformationen vollständig im Speicher angekommen ist, setzen Sie die übrigen auf ready. Dieser kleine Start prüft den tatsächlichen Bearbeitungspfad, nicht nur isoliert die Zugangsdaten.

Führen Sie character_uri, wardrobe_uri und room_uri in getrennten Spalten. Darin können neu erzeugte Upload-URIs oder öffentlich erreichbare Bild-URLs stehen, die die API abrufen kann. Drei Felder sind im Sheet verständlicher als ein String mit einem vollständigen JSON-Array. Prepare Edit setzt sie in fester Reihenfolge zum erforderlichen image_urls-Array zusammen.

Ergänzen Sie Ergebnisspalten, statt das kreative Briefing zu überschreiben: task_id, candidate_file_id, candidate_name, review_status, review_note, delivery_file_id und actual_cost. Bei mehreren Kandidaten pro Job führen Sie diese in einem separaten Candidates-Tab mit candidate_id als Schlüssel; der Jobs-Tab behält die angeforderte Aufnahme. Unser erster Durchlauf erzeugt einen Kandidaten pro Zeile, doch die Trennung hilft, sobald M03 zwei Versuche benötigt.

Eine Kandidaten-ID kann mara-evening-01-M03-a2 lauten. Sie zeigt auf einen Blick Serie, gewünschten Bildauftrag und Versuch. Die Task-ID der API bleibt zur Wiederherstellung wichtig, verrät aber nicht, welchen Kleidungswechsel Sie angefordert haben. Behalten Sie beide Kennungen.

Verwenden Sie einfache Produktionsstatus: draft, ready, pending_review, approved, identity_fix, creative_fix, task_error und delivered. Das sind Werte Ihrer eigenen Tabelle, keine SpicyAPI-Taskzustände. SpicyAPI kann succeeded melden, während Ihre Tabelle identity_fix zeigt: Das Bild existiert, aber das Gesicht passt nicht zur Serie.

Aquarellartige Modezeichnung der fiktiven erwachsenen Mara im bordeauxroten Kleid mit anthrazitfarbener Jacke neben einem Kleiderschrank.

Planen Sie Kleidung, Pose und Ausschnitt für jeden Job mit derselben Figurenreferenz. Illustration.

Bringen Sie Referenzdateien in n8n, ohne Bytes und URLs zu verwechseln

n8n kann normale JSON-Felder und binäre Dateidaten im selben Element führen. Ein URL-String gehört in JSON. Ein heruntergeladenes Foto gehört in eine Binäreigenschaft wie data oder character. Weder deren Name noch deren Speicherkennung ist eine öffentliche Bild-URL.

Für einen schnellen Einzelauftrag laden Sie die Figur mit der passenden n8n-Speicherintegration in das Binärfeld character. Laden Sie die Kleidung nach wardrobe und den Raum nach room, und stellen Sie sicher, dass diese Dateien mit dem Prompt im selben eingehenden Element ankommen. Verwenden Sie zwischen Download und Generierung einen Edit-Fields-Node, lassen Sie Include Binary Data aktiviert. Andernfalls kann das JSON erhalten bleiben, während die Fotos verschwinden.

Öffnen Sie im SpicyAPI-Node Media Inputs und ergänzen Sie drei Einträge. Wählen Sie jeweils das Feld image_urls, Source: Binary File und als Input Binary Field character, wardrobe oder room. Dasselbe Listenfeld mehrfach zu verwenden, ist beabsichtigt. Der Node lädt diese Binärdateien hoch und fügt sie in der eingetragenen Reihenfolge zu einem Referenzarray zusammen.

Legen Sie nicht drei Einträge für ein Feld an, das nur eine Datei akzeptiert, etwa mask_url. Das Plugin prüft diese Unterscheidung und meldet einen Fehler, wenn mehrere Eingaben auf ein Einzelfeld zielen. Das Dropdown der Medienfelder entsteht aus dem Schema des gewählten Modells. Zeigt es ein unbekanntes Feld, prüfen Sie zuerst die Modellwahl, bevor Sie einen Feldnamen aus einem anderen Workflow übernehmen.

Wenn Sie dieselben drei Quellen wiederholt nutzen, lässt sich ein ausdrücklicher Upload leichter verwalten. Laden Sie jedes Original in n8n herunter und verwenden Sie SpicyAPI → File → Upload mit dem passenden Binärfeldnamen. Das Upload-Ergebnis enthält uri, fileId, fileName, mimeType und bytes. Tragen Sie die zurückgegebene uri in die jeweilige Quellenspalte dieser Produktionsserie ein.

Die Upload-Operation gibt ein neues JSON-Objekt zurück. Sie übernimmt ein Feld wie reference_role aus dem vorherigen Element nicht automatisch. Bei einer Liste mit drei Upload-Elementen erhalten Sie die Rolle über Ausdrücke für verknüpfte Elemente oder führen sie ausdrücklich wieder zusammen. Für einen ersten Aufbau sind drei separat benannte Upload-Nodes leichter zu prüfen: einer für die Figur, einer für die Kleidung und einer für den Raum. Jede URI im Sheet abzulegen, macht die Rollen vor einer kostenpflichtigen Bearbeitung sichtbar.

Hochgeladene Eingaben sind temporär; laut Implementierung des Pakets bleiben die Dateien einen Tag gespeichert. Laden Sie für eine spätere Serie die gespeicherten Originale erneut hoch. Erwarten Sie nicht, dass ein letzten Monat ins Sheet eingefügter spicy://-Wert noch funktioniert. Bewahren Sie neben den temporären URIs die ursprünglichen Drive-Datei-IDs oder Ihre Speicherschlüssel auf, damit Sie die Eingaben wiederherstellen können.

Ein häufiger Fehler ist eine Drive-Freigabeseite als URL. Die API benötigt Bildbytes, keine HTML-Seite, die nach Anmeldung eine Vorschau zeigt. Statt Ihre Figurenmaster öffentlich freizugeben, lassen Sie den Google-Drive-Node die Binärdatei mit Ihren Zugangsdaten herunterladen und den SpicyAPI-Node anschließend hochladen. Der private Quellenordner des Creators kann privat bleiben.

Für unsere sechs Zeilen verwenden Sie überall frisch hochgeladene Quellen-URIs. Setzen Sie drei Media Inputs auf Source: URL und verwenden Sie {{ $json.character_uri }}, {{ $json.wardrobe_uri }} und {{ $json.room_uri }}. In dieser Oberfläche akzeptiert URL auch eine Spicy URI. So müssen Sie nicht drei vollständige Bilddateien durch jede Tabellenoperation transportieren.

Halten Sie mehrere Referenzen innerhalb eines Elements zusammen

Hier gibt es zwei verschiedene Arten von „mehreren Bildern“. Sechs Jobs sind sechs n8n-Elemente. Jeder Job enthält drei Referenzen als Array mit drei Einträgen innerhalb dieses Jobs. Das Array in drei Elemente zu zerlegen, würde die Bedeutung ändern: Der Editor könnte drei unabhängige Anfragen mit jeweils einer Referenz erhalten.

Diese Unterscheidung taucht in echten Community-Fragen auf. In einer Reddit-Diskussion zu Telegram-Alben lösten mehrere Bilder jeweils eigene Ausführungen aus; ein Wait-Node verzögerte diese, führte das Album aber nicht zusammen. Diskutiert werden ein Puffer anhand der gemeinsamen Albumkennung oder getrennte Sammlung und Verarbeitung. Das ist keine universelle Lösung, zeigt aber, weshalb „etwas warten“ nicht „ein Referenzpaket zusammenstellen“ bedeutet.

Unsere Tabelle vermeidet dieses Sammlungsproblem. Sie benennt die drei Referenzen vor der Bearbeitung. Ergänzen Sie später ein Upload-Formular für mehrere Dateien, sollte die Sammlungsphase ein Element mit allen ausgewählten Dateien und deren Rollen erzeugen. Lassen Sie nicht jede eingehende Datei unabhängig Edit Character auslösen. Ein Kleidungsupload soll nicht zu einem eigenen Auftrag werden, nur das Kleidungsstück umzugestalten.

Sie können die beschriebenen wiederholten Media-Inputs-Einträge verwenden oder die Liste unter Additional Parameters (JSON) aufbauen. Das JSON-Feld erwartet ein Objekt und wird zuletzt zusammengeführt. Seine Schlüssel überschreiben Prompt-Feld, Model Parameters und Media Inputs. Das hilft bei dynamischen Arrays, kann aber auch die Werte verdecken, die Sie vermeintlich im Formular ausgewählt haben.

Dieser Ausdruck erzeugt beispielsweise das vollständige Eingabeobjekt aus der vorbereiteten Zeile:

javascript
{{ {
  prompt: $json.edit_prompt,
  image_urls: [$json.character_uri, $json.wardrobe_uri, $json.room_uri],
  resolution: $json.resolution,
  aspect_ratio: $json.aspect_ratio,
  output_format: "png",
  background: "opaque",
  enable_prompt_expansion: false
} }}

Wählen Sie eine Methode für das Referenzarray. Bei diesem JSON-Ausdruck lassen Sie Media Inputs leer, damit keine Dateien hochgeladen werden, die die abschließende Überschreibung wieder ersetzt. Bevorzugen Sie die visuelle Media-Inputs-Liste, lassen Sie image_urls aus Additional Parameters weg. Die zusammengestellte API-Eingabe soll ein Array mit drei Einträgen enthalten, kein verschachteltes Array und keinen durch Kommas getrennten String.

Eine Array-Spalte aus einem Sheet kann einfacher Text sein, obwohl sie wie JSON aussieht. Unsere getrennten URI-Spalten vermeiden diese Unsicherheit. Verwenden Sie stattdessen references_json, parsen Sie den Inhalt vor der Generierung als Array und stoppen Sie die Zeile bei einem Parsingfehler. Ein String wie "[first,second,third]" ist keine Liste von Bild-URLs.

Dasselbe gilt für Auflösung und boolesche Werte. Verwenden Sie im JSON-Ausdruck den booleschen Wert false, nicht den Text "false". Geben Sie 2k als gültigen Enum-String an, keine geschätzte Pixelgröße. Das aus dem Schema erzeugte Formular ist gerade deshalb praktisch, weil es die für diesen Endpunkt akzeptierten Werte zeigt.

Formulieren Sie die erste Bearbeitung so, dass das Modell jede Referenz richtig zuordnet

Erstellen Sie in Prepare Edit den edit_prompt aus einer festen Einführung zu den Referenzrollen und dem individuellen Bildauftrag. Ein Edit-Fields-Node kann die Strings verbinden; für sechs einfache Zeilen benötigen Sie keinen Code-Node. Die Identitätsanweisungen bleiben gleich, die Zeile liefert die Änderung.

Eine geeignete Anweisung für M01 lautet:

Bild 1 zeigt Mara, eine fiktive erwachsene Figur im Alter von 34 Jahren. Erhalten Sie ihre Gesichtsproportionen, dunklen schulterlangen Locken, ihr leicht asymmetrisches Lächeln und die sitzende Pose. Bild 2 liefert ausschließlich das bordeauxrote blickdichte Satinkleid: Übernehmen Sie Farbe, Ausschnitt und Nahtpositionen, nicht die Identität einer anderen Person. Bild 3 liefert ausschließlich Lounge, grünes Samtsofa und Messinglampe. Platzieren Sie Mara im Kleid in dieser Lounge. Das Porträt soll natürlich wirken, mit gut erkennbaren Augen und weichem warmem Licht. Gestalten Sie ein sitzendes Dreiviertelporträt im Format 4:5. Ergänzen Sie keine weitere Person, keinen Text und keine zusätzlichen Accessoires.

Dies ist ein vorgeschlagener Prompt, keiner, den wir ausgeführt und bewertet haben. Er gibt jedem Bild eine Rolle, beschreibt die Änderung und nennt einige wiedererkennbare Merkmale. Außerdem entscheidet er bei widersprüchlichen Referenzen: Das Gesicht kommt aus Bild 1, das Kleidungsstück aus Bild 2.

Ändern Sie für M02 den Aufnahmesatz zu einem Porträt bis zur Taille, bei dem die Messinglampe eine Gesichtsseite beleuchtet. Wiederholen Sie nicht M01 mit zehn widersprüchlichen Kamerabegriffen. Für M03 ersetzen Sie den Satz zum Erhalt der Sitzpose durch eine ausdrückliche stehende Pose neben dem Sofa mit entspannten, sichtbaren Händen. Gleichzeitig die Sitzpose zu erhalten und die Figur aufstehen zu lassen, schafft einen vermeidbaren Widerspruch.

M04 verlangt Licht am Fenster. Behalten Sie Locken und Kleidbeschreibung bei, benennen Sie aber kühles Fensterlicht und die Lampe im Hintergrund. Geändert werden Lichtbeziehung und Position im Raum, nicht die Figurenbeschreibung. M05 verwendet die ursprüngliche anthrazitfarbene Jacke über dem bordeauxroten Kleid. Sagen Sie das ausdrücklich, da das Modell sonst nachvollziehbar allein der Kleidungsreferenz folgen kann.

M06 verlangt eine weiter gefasste sitzende Komposition mit freiem Platz auf einer Seite. Das unterscheidet sich davon, das Gesicht nachträglich durch einen zufälligen Zuschnitt zu verkleinern. Geben Sie dem Editor die gewünschte Komposition vor und prüfen Sie das Gesicht anschließend in voller Größe. Eine weite Aufnahme kann sich als Header eignen und zugleich weniger Gesichtsdetails für die Identitätsprüfung bieten.

Beschreiben Sie die gewünschte NSFW-Gestaltung im kreativen Briefing, soweit sie zum Endpunkt und Ihrer Zielgruppe passt. Ein allgemeines „make it NSFW“-Tag beschreibt weder Kleidung noch Ausdruck, Ausschnitt oder Stimmung. Diese Entscheidungen muss der Creator weiterhin treffen. Im öffentlichen Beispiel vermitteln eine erwachsene Abendatmosphäre, blickdichte Satinkleidung und direkter Blickkontakt den gewünschten Ton ohne explizite Anweisungen.

Benötigt Ihr konkretes Briefing eine genaue Pose, die der Master nicht zeigt, erstellen Sie diese zunächst als eigene freigegebene Referenz, bevor Sie eine große Serie planen. Ein Workflow ersetzt fehlende Bildinformationen nicht durch wiederholte vage Anfragen. Der hilfreiche Ertrag eines ersten Durchlaufs kann ein besseres Quellenpaket sein, nicht unbedingt sechs sofort verwendbare Bilder.

Verbinden Sie die Generierungsschleife mit einem separaten Fehlerpfad

Ergänzen Sie in Read Jobs Google Sheets Get Row(s), wählen Sie den Jobs-Tab und laden Sie die Zeilen der Serie. Ein Filter-Node namens Ready Jobs behält Zeilen mit status gleich ready. Filtern Sie direkt im Sheets-Node, stellen Sie sicher, dass mehrere passende Zeilen vollständig zurückkommen und nicht nur der erste Treffer. Eine Tabelle mit sechs Zeilen und einem ausgegebenen Element ist keine Serie mit sechs Bildern.

Verbinden Sie die gefilterten Elemente mit Loop Jobs, einem Loop Over Items-Node mit Batch Size 1 und deaktiviertem Reset. Dessen loop-Ausgang führt zu Prepare Edit und dann zu Edit Character. SpicyAPI verarbeitet bereits mehrere eingehende Elemente; allein für mehrere Bearbeitungen ist keine Schleife erforderlich. Wir verwenden sie, damit Speichern und Statusänderung jeder Zeile vor dem nächsten Auftrag abgeschlossen werden.

Konfigurieren Sie Edit Character als Image → Generate, wählen Sie genau das Bearbeitungsmodell und ordnen Sie Prompt der vorbereiteten Anweisung zu. Ergänzen Sie wie zuvor gewählt die drei Referenzeinträge oder das einzelne JSON-Objekt. Aktivieren Sie Wait for Completion und Download Output. Setzen Sie Max Cost per Item (USD) bewusst; für dieses kleine Beispiel ist $0.10 ein sinnvoller anfänglicher Höchstwert, sofern der Preis Ihrer vollständigen Eingabe darunter liegt.

Diese Grenze gilt pro Element, nicht für das gesamte Sheet. Hundert Zeilen können jeweils eine Zehn-Cent-Grenze passieren. Begrenzen Sie die Serie auf sechs ready-Zeilen und setzen Sie bei Bedarf zusätzlich ein Ausgabenlimit für den API-Key. Weder Zeilenzahl noch Ausgabenlimit verbessern das Bild; sie verhindern lediglich, dass ein versehentlicher Zeitplan eine viel größere Produktionsliste verarbeitet.

Vor der Task-Erstellung ermittelt der Node selbst den Preis. Übersteigt die vollständige Anfrage den Höchstwert, meldet er vor der Generierung einen Fehler. Ergänzen Sie keinen zweiten Preis-Node im Produktionspfad, sofern Sie nicht eine separate Schätzung in der Tabelle anzeigen möchten. Für die Planung kann Model → Get Quote exakt dieselben Referenzen und Einstellungen bepreisen, ohne ein Bild zu erzeugen.

Konfigurieren Sie für den Fehlerzweig dieses Leitfadens in den Node-Einstellungen On Error so, dass die Verarbeitung am normalen Ausgang weiterläuft. Das Fehlerergebnis des Plugins enthält error, description und, sofern verfügbar, eine Task-ID. Ein If-Node nach Edit Character prüft, ob error vorhanden ist. Der Fehlerpfad speichert task_error und die Meldung und kehrt zu Loop Jobs zurück; der Erfolgspfad speichert den Kandidaten mit pending_review und kehrt zum selben Schleifeneingang zurück.

Verwenden Sie den done-Ausgang der Schleife nicht für eine weitere Generierung. Done dient der Zusammenfassung, nachdem alle verarbeiteten Zeilen zurückgekehrt sind. Dort können Sie die aktualisierte Kandidatentabelle lesen oder Anzahlen anzeigen. Halten Sie die Zweige getrennt: Ein API-Fehler wird nicht als leere Datei im Prüfungsordner gespeichert, eine fertige Datei nicht direkt ausgeliefert.

Lassen Sie für sechs Bildbearbeitungen das integrierte Warten des Nodes aktiv. Eine separate Callback-Lösung ist hier meist unnötig. Endet das Warten, während ein Task noch läuft, übernehmen Sie dessen ursprüngliche ID in Task → Get und aktivieren Sie in den Optionen Wait for Completion und Download Output. Task → Get wartet standardmäßig nicht; ohne diese Option kann nur ein laufender Datensatz ohne Datei zurückkommen. Für eine separate Wiederherstellungsausführung lesen Sie zunächst die zugehörige Jobs-Zeile, führen sie durch Prepare Edit und verbinden Task → Get → Attach Job → Kandidatenspeicherung. So bleibt der verknüpfte Jobkontext für die folgenden Ausdrücke erhalten; ein frischer Manual Trigger direkt vor Task → Get ließe Prepare Edit unausgeführt. Nach erfolgreichem Download speichern Sie den wiederhergestellten Kandidaten, ohne erneut Generate aufzurufen. Bei einem Timeout kann die Task-ID in description stehen, obwohl taskId leer ist; prüfen Sie deshalb die Beschreibung vor einem Ersatzauftrag. Eine neue Generierung nur wegen einer langsam wirkenden Seite kann einen weiteren kostenpflichtigen Task erzeugen, obwohl der ursprüngliche später erfolgreich endet.

Stellen Sie die Jobzuordnung vor dem Speichern wieder her

Bei Erfolg gibt der Node den Taskdatensatz und die heruntergeladenen Binärdateien aus. Das JSON ist nicht Ihre ursprüngliche Tabellenzeile mit einigen ergänzten Feldern. Es enthält Taskinformationen wie taskId, state, cost, settled und output. Deshalb kann ein späteres {{ $json.job_id }} leer sein, obwohl der Prompt die richtige Zeile verwendet hat.

Ergänzen Sie nach dem Erfolgspfad Attach Job, einen Edit-Fields-Node. Behalten Sie das Task-JSON, aktivieren Sie Include Binary Data und ergänzen Sie Produktionsfelder über Ausdrücke für verknüpfte Elemente. Da der Community-Node Elementzuordnungen bereitstellt, können Sie auf das passende Prepare Edit-Element verweisen, statt die erste Serienzeile zu nehmen.

Verwenden Sie {{ $('Prepare Edit').item.json.job_id }} für job_id und dasselbe Muster für batch_id, attempt, edit_prompt und die Quellenversion. Übernehmen Sie task_id aus dem aktuellen Taskdatensatz mit {{ $json.taskId }}. Bilden Sie candidate_id aus Serie, Job und Versuch und verwenden Sie sie als Dateinamenstamm.

Verwenden Sie nicht $('Read Jobs').first(), um die Identität jeder Zeile wiederherzustellen. Das greift auf das erste Ergebnis zu und kann alle sechs Ausgaben als M01 beschriften. Vermeiden Sie auch eine Zuordnung nach Position, wenn ein Zweig sortiert oder gefiltert wurde. Elementzuordnung funktioniert bei eindeutiger Beziehung; wenn Sie später bewusst Elemente aufteilen oder zusammenfassen, führen Sie eine ausdrückliche job_id mit.

Die erste heruntergeladene Datei steht standardmäßig im Binärfeld data. Weitere Dateien heißen data_1, data_2 usw. Der Editor des Beispiels gibt ein Bild aus, deshalb geht data an den Speicher. Wechseln Sie zu einem Modell mit mehreren Dateien, bedeutet das Speichern von data nicht automatisch, dass das ganze Ergebnis gespeichert wurde. Legen Sie fest, welche Datei zum Kandidaten gehört, oder erstellen Sie separat benannte Kandidateneinträge für die Ausgabedateien.

Der JSON-Pfad output.assets[].url enthält Ergebnislinks, keine heruntergeladenen Dateiinhalte. Laut Paketdokumentation laufen diese Links nach ungefähr zwanzig Minuten ab. Ein Sheet mit nur dieser URL kann bei sofortiger Prüfung brauchbar wirken und bei Ihrer späteren Rückkehr scheitern. Download Output liefert dem Speicher-Node die tatsächlichen Bytes.

Auch Binärkopien benötigen einen dauerhaften Speicherort. Sie übernehmen nicht die kurze Lebensdauer des signierten Links, aber n8n-Ausführungsdaten können bereinigt werden. Ein erfolgreicher Workflow-Durchlauf ist kein Archiv. Erst das Speichern während der Ausführung erlaubt Ihnen, morgen ohne erneute Generierung zum Bild zurückzukehren.

Speichern Sie Kandidaten und entscheiden Sie visuell über weitere Bearbeitungen

Erstellen Sie einen privaten Ordner mara-evening-01/review in Ihrem Speicher. Ergänzen Sie im Beispiel Google Drive File → Upload in Save Candidate, setzen Sie Input Data Field Name auf data, den Dateinamen auf Kandidaten-ID plus .png und wählen Sie den Prüfungsordner. Die Drive-Node-Dokumentation beschreibt die Felder für Binäruploads.

Der Dateiname muss zum tatsächlichen Ausgabeformat passen. .png an eine JPEG-Datei zu schreiben, konvertiert sie nicht; unser Modellauftrag hat PNG gewählt. Bewahren Sie die von der Speicherintegration zurückgegebene Datei-ID auf, nicht nur den lesbaren Namen. Zwei Dateien können im selben Ordner gleich heißen; die spätere Auslieferung benötigt eine eindeutige Quelle.

Der Drive-Upload gibt Dateimetadaten aus, nicht den vollständigen Kandidatendatensatz. Verwenden Sie in Record Candidate die hochgeladene Datei-ID aus dem aktuellen Element und verknüpfte Werte aus Attach Job für Kandidaten-ID, Job-ID, Task-ID und Kosten. Ordnen Sie die Felder manuell mit Append or Update Row dem Candidates-Tab zu und gleichen Sie über candidate_id ab. So überschreibt ein weiterer Versuch nicht den ersten Kandidaten.

Aktualisieren Sie zusätzlich den Jobs-Tab, setzen Sie die passende job_id-Zeile auf pending_review. Führen Sie den Ausgang der letzten Tabellenänderung zu Loop Jobs zurück. Im Fehlerzweig speichern Sie ursprüngliche Job-ID aus Prepare Edit, Fehlerbeschreibung und verfügbare Task-ID, bevor Sie zurückkehren. Beide Zweige müssen die Schleife erreichen; andernfalls kann die Serie nach dem ersten fehlgeschlagenen oder erfolgreichen Element stoppen.

Prüfen Sie die sechs gespeicherten Bilder gemeinsam in zwei Größen. Als Vorschaubilder beurteilen Sie, ob sie die gewünschte Serie bilden: dieselbe Figur, zusammenpassende Kleidung und Umgebung sowie genügend Abwechslung. In voller Größe vergleichen Sie Quelle und Kandidat anhand von Augen, Nase, Mundform, Kieferkontur, Haaransatz und auffälliger Asymmetrie. Das sind praktische Betrachtungspunkte, kein automatisches biometrisches Bewertungssystem.

Trennen Sie Identitäts- und Gestaltungsfehler in der Prüftabelle. Eine erkennbare Mara mit falsch platzierter Lampe verlangt eine andere nächste Anweisung als ein schönes Porträt einer anderen Person. Passt das Gesicht, aber die Komposition nicht, markieren Sie creative_fix und notieren die fehlende Änderung. Hat sich die Figur verändert, markieren Sie identity_fix und beschreiben etwa einen schmaleren Kiefer oder anderen Haaransatz.

Geben Sie ein Bild nicht allein deshalb frei, weil sein state succeeded lautet oder eine automatische Bildbeschreibung die richtige Kleidung nennt. Ein Beschreibungsmodell kann ein bordeauxrotes Kleid erkennen, ohne zu beurteilen, ob das Gesicht in Ihre etablierte Serie gehört. Ein Assistent darf Prüfnotizen vorschlagen; halten Sie die tatsächliche Freigabe dennoch getrennt und sichtbar.

Geben Sie jedem Fehler einen konkreten nächsten Bearbeitungsschritt

Angenommen, M01 passt beinahe, hat aber die Haarform der Schaufensterpuppe aus der Kleidungsreferenz übernommen. Prüfen Sie zuerst, ob Bild 2 tatsächlich keinen konkurrierenden Kopf zeigt; andernfalls schneiden Sie es auf das Kleidungsstück zu. Stellen Sie danach klar, dass Bild 2 nur das Kleid liefert und Locken und Haaransatz ausschließlich aus Bild 1 kommen. Reichen Sie dies als Versuch 2 mit dem ursprünglichen Figurenmaster ein, nicht mit dem abweichenden Kandidaten.

Sieht M02 wie Mara aus, verändert aber den Kleidausschnitt, verbessern Sie die Kleidungsreferenz. Ein dunkles Foto, das den Ausschnitt verbirgt, liefert wenig zu erhaltende Information. Schneiden Sie eine klarere Ansicht der Nähte zu und verlangen Sie diese konkreten Schnittdetails bei unverändertem Porträt bis zur Taille. Weitere Bilder nur ungefähr ähnlicher Kleider können die Mehrdeutigkeit erhöhen.

Bei M03 kann die stehende Pose auf zwei Arten scheitern. Ist die Pose plausibel, aber das Gesicht verändert, reduzieren Sie den Kamerawechsel und versuchen ein stehendes Dreiviertelporträt mit Gesicht zur Kamera. Bleibt das Gesicht erhalten, wirkt aber die Körperhaltung ungeschickt, verlangen Sie eine einfachere Haltung neben dem Sofa mit entspannten sichtbaren Händen. Ein Versuch mit schwieriger Drehung, verschränkten Armen und extremem Licht erschwert die Ursachenbestimmung.

M04 kann das Gesicht erhalten, das Licht aber so kühl und dunkel gestalten, dass der Quellenvergleich schwerfällt. Prüfen Sie vor der Einstufung als Identitätsabweichung eine neutrale Ansicht und unterscheiden Sie Lichtwirkung von veränderten Gesichtsproportionen. Der nächste Prompt kann die Position am Fenster behalten, aber gut sichtbare Gesichtszüge und weichere Schatten verlangen. Ergänzen Sie nicht automatisch eine andere Identitätsreferenz, weil eine Farbgestaltung dieselbe Figur ungewohnt aussehen lässt.

Bei M05 kann das bordeauxrote Kleid unter einer Jacke verschwinden, die zu einem anderen Outfit geworden ist. Schreiben Sie, dass die ursprüngliche anthrazitfarbene Jacke offen über dem Kleid getragen wird und dessen Schnitt sichtbar bleibt. Ist bei einer ansonsten hervorragenden Aufnahme nur ein Jackenrand missgebildet, erwägen Sie eine lokale maskierte Korrektur statt einer erneuten Bearbeitung der ganzen Szene. Das ist ein neuer Job mit dem ausgewählten Kandidaten als einziger Quelle, nicht die ursprüngliche Anfrage mit drei Referenzen.

M06 kann den gewünschten Freiraum liefern, Maras Kopf aber zu klein für das geplante Cover machen. Präzisieren Sie die Komposition: sitzendes mittleres Porträt, Raum links sichtbar, Gesicht weiterhin gut erkennbar. Eine Änderung des Ausgabeformats allein erklärt dem Modell nicht, wo Platz für Ihren Titel liegen soll. Beschreiben Sie in der Gestaltungsnotiz das Layout, statt nur 4:5 oder 16:9 aufzuzählen.

Eine Inhaltsablehnung gehört zum Taskfehlerpfad, nicht zur Identitätskorrektur. Lesen Sie den Grund und wählen Sie eine geeignete zulässige Anfrage oder ein passendes Modell; senden Sie unveränderte abgelehnte Eingaben nicht wiederholt. Ein erzeugtes, aber ungeeignetes Bild ist anders: Es kann berechnet werden, weil die Generierung erfolgreich war. Bewahren Sie diese Unterscheidung in der Prüftabelle, damit Kosten unbrauchbarer kreativer Versuche sichtbar bleiben.

Beenden Sie einen Korrekturzweig nach einer bewusst gesetzten Versuchsgrenze, etwa zwei Versuchen für den ersten Durchlauf. Das ist eine Produktionsentscheidung, keine Vorhersage, dass zwei Versuche ausreichen. Eine hartnäckige Aufnahme kann zurück zur Quellenvorbereitung oder manuellen Bearbeitung gehen. Automatisierung hilft am meisten, wenn sie das Problem sichtbar und reproduzierbar macht, statt während Ihrer Abwesenheit zwanzig lose zusammengehörige Varianten zu erzeugen.

Nahes Porträt der fiktiven erwachsenen Figur mit klaren Locken und weich verschwommener Lampe im Hintergrund.

Vergleichen Sie Gesichtsproportionen und Locken getrennt von Bildausschnitt und Lampenposition. Illustration.

Liefern Sie freigegebene Dateien aus, ohne sie erneut zu generieren

Setzen Sie nach der Prüfung die gewählten Kandidatenzeilen auf approved. Andere Versuche bleiben mit ihren Notizen im Prüfungsbestand. Für M03 können Sie Versuch 2 freigeben und Versuch 1 als identity_fix behalten. Der Auslieferungsworkflow liest Candidates und leitet den Gewinner nicht aus der neuesten Datei im Ordner ab.

Bauen Sie den zweiten Workflow mit Manual Trigger, Google Sheets Get Row(s) und einem Filter für review_status gleich approved sowie leerer delivery_file_id. Ergänzen Sie Loop Over Items mit Batch Size 1. Laden Sie jeden Kandidaten anhand seiner gespeicherten Drive-Datei-ID ins Binärfeld data herunter und anschließend unter dem gewünschten Auslieferungsnamen in den approved-Ordner der Serie hoch.

Verwenden Sie dafür Ihren gespeicherten Kandidaten, nicht die temporäre SpicyAPI-Ergebnis-URL. Das ist exakt das geprüfte Bild. Rufen Sie nicht Image → Generate auf, um es mit gleichem Seed oder höherer Auflösung nachzubauen und weiterhin als freigegeben zu behandeln. Jede neue Generierung benötigt eine eigene Prüfung, weil Gesicht, Kleidung und Ausschnitt wechseln können.

Aktualisieren Sie nach dem Upload in den Freigabeordner die Kandidatenzeile mit delivery_file_id und review_status: delivered und optional die Jobs-Zeile mit der ausgewählten Kandidaten-ID. Führen Sie diese Änderung zur Schleife zurück. Die Datei-ID liefert einen stabilen Abrufweg und verhindert, dass ein normaler zweiter Durchlauf jede freigegebene Zeile wieder als offen behandelt.

Hier wird Herunterladen und erneutes Hochladen genutzt, weil die Binärübergabe eindeutig ist. Bietet Ihr Speicher eine native Kopieroperation, die die Originalbytes erhält, können Sie diese verwenden. Das kreative Prinzip bleibt gleich: Die Auslieferung kopiert das freigegebene Bild, sie führt den Editor nicht erneut aus.

Verwenden Sie einen separaten Ordner für skalierte, zugeschnittene oder komprimierte Exporte. Eine quadratische Vorschau und ein freigegebenes Porträt in voller Größe sind verschiedene Dateien, selbst bei gleicher Quelle. Behalten Sie das freigegebene Original für weitere Exporte ohne neue Generierungsgebühr. Schneidet ein Export die Frisur ab oder verändert die Darstellung der Figur, prüfen Sie ihn für den jeweiligen Zielort.

Dieser Workflow enthält keinen Social-Posting-Node. Die Auslieferung endet mit Dateien und einer Tabelle ausgewählter Kandidaten. Damit können Sie die Serie an einen Seitendesigner übergeben, eine private Galerie vorbereiten oder Zielorte manuell wählen. Zielbezogene Veröffentlichung lässt sich später ergänzen, sollte aber nicht untrennbar mit Generierung und Prüfung verbunden sein.

Bepreisen Sie das tatsächliche Referenzpaket statt nur des Dropdowns

Der Einstiegspreis des Nodes erleichtert die Auswahl. Vollständige Referenzen und Einstellungen bestimmen den Anfragepreis. Der Katalog nennt für Qwen Image 2.1 Edit Einstiegspreise von $0.036 bei 1k, $0.048 bei 2k und $0.072 bei 1.5k. Öffentliche Preisabfragen für drei Referenzen ergeben $0.060 bei 1k und $0.048 bei 2k mit blickdichter PNG-Ausgabe und deaktivierter Erweiterung. Bei 1k kosten die beiden zusätzlichen Referenzen $0.024; die abgefragte 2k-Anfrage hat diesen Aufschlag nicht. Gehen Sie weder davon aus, dass eine Zwischenauflösung günstiger als 2k ist, noch dass Referenzaufschläge in jeder Stufe gleich funktionieren.

Verwenden Sie Model → Get Quote mit denselben image_urls, demselben Prompt und denselben Einstellungen, bevor Sie fünf weitere Zeilen auf ready setzen. Der Node gibt neben dem Preis die zusammengestellte Eingabe aus. So sehen Sie auch, ob alle drei Referenzen die Feldzuordnung überstanden haben. Diese Planungsoperation lädt bei Bedarf Binärreferenzen hoch, erzeugt aber kein Bild.

Für unseren geplanten 2k-Aufbau mit drei Referenzen ergibt der aktuelle Preis von $0.048 ein Budget von $0.288 für sechs erste Kandidaten; zwölf Anfragen kosten $0.576. Dieselben sechs Anfragen mit drei Referenzen bei dem abgefragten 1k-Preis ergeben $0.360. Das sind auf Preisabfragen basierende Produktionsbudgets, keine Belege einer ausgeführten Serie oder Vergleiche der Bildqualität. Fragen Sie den Preis Ihres eigenen Quellenpakets mit Ihren Einstellungen vor der Ausführung erneut ab. Speicher und n8n-Hosting beziehungsweise Abonnement kosten separat.

Zählen Sie Versuche als Tasks. Sechs freigegebene Bilder können mehr als sechs erfolgreiche Generierungen erfordern, weil mehrere bezahlte Kandidaten nicht zum Briefing passen. Planen Sie den ersten Durchlauf und maximal zwei Versuche pro Aufnahme, ergibt das höchstens zwölf geplante Generierungsversuche. Dieses Budget ist nützlicher als „eine Serie mit sechs Bildern“ ohne Ersatzreserve.

Das Plugin sendet pro Element einen Idempotenzschlüssel. Eine Wiederholung desselben Node-Aufrufs innerhalb derselben Ausführung soll den bestehenden Task wiederherstellen, statt ein Duplikat zu berechnen. Eine neue Ausführung, geänderte Eingabe oder ein weiterer Schleifendurchlauf ist neue Arbeit. Erneut Execute Workflow zu klicken, ist nicht dasselbe wie die ursprüngliche Task-ID wiederherzustellen.

Sobald eine Zeile eine Task-ID hat, prüfen oder retten Sie diesen Task vor einem Ersatzauftrag bei technischer Unterbrechung. Ist er erfolgreich, aber Drive hat die Datei nicht gespeichert, holen Sie die Ausgabe und schließen die Speicherung ab. Ein abgelaufener Speicherschlüssel verbessert das Gesicht nicht; es gibt keinen kreativen Grund, dafür neu zu rendern.

Laut Plugin-Dokumentation wird die Reservierung bei fehlgeschlagenen und abgelaufenen Tasks normalerweise freigegeben; abgelehnte Anfragen werden nicht berechnet, sofern die Modellseite nichts anderes sagt. Ein erfolgreicher Kandidat, den Sie selbst verwerfen, ist anders als ein API-Fehler. Bewahren Sie actual_cost aus dem abgerechneten Taskdatensatz auf, um später die tatsächlichen Kosten jedes ausgelieferten Bildes zu sehen.

Führen Sie den ersten Job von der Quelle bis zur Auslieferung aus und erweitern Sie dann die Serie

Bevor Sie alle sechs Zeilen aktivieren, führen Sie M01 durch Generierung, Speicherung und Prüfung. Öffnen Sie die tatsächlich gespeicherte Datei im Prüfungsordner. Bestätigen Sie, dass die Zeile M01 nennt, der Prompt die richtigen Referenzrollen verwendet und die zurückgegebene Datei tatsächlich die angezeigte ist. Eine korrekte Vorschau im Ausführungspanel beweist nicht, dass der gespeicherte Kandidat den richtigen Namen oder die richtige Tabellenzuordnung besitzt.

Geben Sie den Kandidaten frei und führen Sie die Auslieferung einmal aus. Öffnen Sie die Datei im Freigabeordner und prüfen Sie, ob es dasselbe gewählte Bild ist. Starten Sie die Auslieferung erneut ohne Statusänderung; sie sollte die Zeile mit vorhandener Auslieferungs-ID überspringen. Löschen Sie diese ID später manuell, gilt die Zeile wieder als berechtigt. Tun Sie das nur, wenn Sie tatsächlich eine weitere Kopie benötigen.

Setzen Sie anschließend M02 bis M06 auf ready. Die Generierungsschleife sollte pro Job einen Kandidateneintrag oder einen konkreten Taskfehlereintrag erzeugen. Prüfen Sie die Übersicht, schreiben Sie kurze konkrete Notizen und erstellen Sie nur dadurch begründete Ersatzversuche. Der Figurenmaster bleibt die Quelle für gewöhnliche Ersatzaufnahmen.

Damit haben Sie einen nutzbaren n8n-NSFW-Image-to-Image-Workflow: eine definierte Figurenquelle, Referenzen mit Rollen, getrennte Bearbeitungsjobs, korrekt gehandhabte Binärdaten und URIs, verständliche kreative Anweisungen und einen Auslieferungsordner mit ausgewählten Bildern. Die Automatisierung transportiert die Materialien und speichert die Arbeit. Ihre Bildplanung und Auswahl entscheiden, ob sich die Serie zur Veröffentlichung eignet.

Auch in English · 日本語 · 한국어 · Français · Español · Português (Brasil) · Русский · Italiano · Polski

Setzen Sie diesen Leitfaden um

Workflow ansehen

Erstellen Sie ein NSFW-Charakter-Fotoset mit n8n.

Erstellen Sie mit n8n eine abgestimmte NSFW-Charaktergalerie mit 4, 8 oder 12 Outfit- und Szenenvarianten. Jede Bearbeitung mit Qwen Image 2.1 verwendet dasselbe ursprüngliche Porträt.

Selbst ausprobieren

Sie zahlen nur für das, was Sie ausführen – ohne Tarif, ohne Abo.

Erstellt mit MiniMax H3 · ByteDance Seedance 2.0 Fast