Zum Hauptinhalt springen

n8n-Workflow für NSFW-KI-Bilder: Eine Figurenserie erstellen und speichern

NSFW-Bildworkflow in n8n aufbauen: sechs Figurenszenen vorbereiten, Kosten begrenzen, Dateien speichern und bestehende Aufgaben ohne Doppelzahlung abrufen.

Autor
Lydia
Erschienen
Lesedauer
25 Min. Lesezeit
Aktualisiert
Eine fiktive erwachsene Frau in grünem Satinabendkleid, umrahmt von warmem bordeauxrotem Wohnungslicht und kühlem nächtlichem Kantenlicht.

Verbinden Sie für einen n8n-Workflow zur NSFW-KI-Bildgenerierung eine Szenenliste mit einem Text-to-Image-Modell für Erwachsene und speichern Sie jedes fertige Bild vor dem nächsten. In selbst gehostetem n8n übernimmt der SpicyAPI-Community-Node Preisangebot, Einreichung, Warten und Download. Verwenden Sie in n8n Cloud stattdessen die Vorlage mit integrierten HTTP-Request-Nodes: Das Paket ist derzeit nicht für direkte Cloudinstallation verifiziert.

Verwenden Sie für eine erste fiktive erwachsene Figurenserie Z-Image Spicy bei 1024 × 1536 mit deaktivierter Prompterweiterung. Der Grundpreis ist $0.01235 pro Bild, sechs erfolgreiche Anfragen kosten daher $0.07410 an Bildgenerierungsgebühren. Setzen Sie eine Kostengrenze je Element, starten Sie zunächst manuell und speichern Sie echte Bilddateien in einem Projektordner. n8n-Hosting und Dateispeicherung kosten separat.

Der folgende Workflow erstellt eine abendliche Porträtserie mit einer fiktiven erwachsenen Figur. Sie liefern Figurenbeschreibung und sechs Szenen; n8n wiederholt Vorbereitung und Lieferung. Ihr geschriebenes Figurenbriefing bleibt konsistent, Text-to-Image allein garantiert aber kein identisches Gesicht. n8n verändert außerdem keine Inhaltsrichtlinie: Ein Automationsnode macht eine eingeschränkte Bild-API nicht unzensiert.

Das ist ein Konfigurationstutorial aus aktuellem Pluginquellcode, Modellkatalog und n8n-Dokumentation. Das Beispiel ist ein vorgeschlagener Workflow, kein Bericht über einen neu generierten Sechs-Bilder-Test. Öffentliche Illustrationen erklären das Setup; sie beweisen keine Modellleistung.

Was Sie aufbauen

Die Reihenfolge lautet:

Manual Trigger → Build scene list → Split Out → Build prompts → Loop Over Items → SpicyAPI Generate → Google Drive Upload → zurück zur Schleife.

Die Schleife bearbeitet jeweils eine Szene. Der Generierungsnode beendet sie und lädt das Bild herunter, der Drive-Node speichert es, erst danach startet die nächste Szene. Der Done-Ausgang beendet die fertige Serie.

Diese Reihenfolge ist für ein Set wichtig. Scheitert Szene vier, sollen eins bis drei schon im Ordner liegen. Sie können vier wiederherstellen und mit den übrigen fortfahren, statt alles neu zu starten. Außerdem erhält jedes Bild einen erkennbaren Namen, solange seine Szeneninformationen verfügbar sind.

Der SpicyAPI-Node kann bereits mehrere Eingabeelemente verarbeiten. Die Schleife dient hier ausdrücklich zum Speichern vor dem nächsten Ergebnis; sie ist nicht nötig, um mehrere Prompts zu senden. Ein größerer Mehrfachgenerierungsnode kann später helfen, doch ein Bild nach dem anderen erleichtert das Verständnis von Ausführung, Aufgabe und heruntergeladener Datei.

Sie benötigen für diese erste Version keinen AI Agent, kein Frontend, Telegram oder promptschreibendes Sprachmodell. Ergänzen Sie diese, wenn sie ein echtes Problem lösen. Vorerst bleibt ein klarer Ort für Figurenänderungen, einer für Szenen und ein Ergebnisordner.

Wählen Sie das Bildmodell vor der Vorlage

Bei erwachsenen Figuren kommt Modellwahl vor Automation. Eine Vorlage kann ein hilfreiches Formular oder gute Demo besitzen und dennoch einen Endpunkt nutzen, der das Material ablehnt. Einige allgemeine n8n-Bildbeispiele ergänzen absichtlich eigene NSFW-Sperrlisten. Unveränderter Import erhält dieses Verhalten.

Für diesen Leitfaden sind folgende SpicyAPI-Text-to-Image-Optionen relevant:

ModellPreis ohne ErweiterungGrößensteuerungEignung für diesen Workflow
Z-Image Spicy$0.01235 pro BildBreite und Höhe je 256–1536 Pixel; Standard 1024 × 1536Porträtserie mit erwachsenem Endpunkt und moderaten Anfragekosten beginnen
Z-Image Spicy Pro$0.019 pro BildBreite und Höhe je 256–2560 Pixel; Standard 1024 × 1024Das finale Bild braucht eine Seite über 1536 Pixel
Z-Image Turbo$0.010 pro BildUnterstütztes Seitenverhältnis; Standard 1:1Günstiger Workflowtest oder Konzeptdurchlauf mit eigenen Parametern

Die beiden Spicy-Familien sind als erwachsene, uneingeschränkte Endpunkte gelistet. Das ist der angegebene Produktumfang, keine neu gemessene Akzeptanzquote aller Prompts. Wählen Sie einen Endpunkt für die geplante Aufgabe und testen Sie Ihr tatsächliches Briefing im Kleinen, bevor Sie erweitern.

Pro ist eine praktische Wahl für eine größere Ausgabe; sein Name belegt keine genauere Gesichtserhaltung. Braucht das Porträt nur 1024 × 1536, akzeptiert Standard-Spicy diese Größe bereits. Bezahlung für Pro sollte einer konkreten Anforderung folgen statt der Annahme, ein teurerer Name löse Figurendrift.

Kopieren Sie Einstellungen nicht zwischen den Zeilen wie bei identischen APIs. Spicy und Spicy Pro verwenden width und height. Turbo verwendet aspect_ratio und begrenzt den Prompt auf 1000 Zeichen. Spicy-Prompts haben keine erzwungene Zeichenobergrenze. Diese Endpunkte nehmen Text statt Referenzbilder; ein zusätzliches Workflowbild schafft keine nicht angebotene Referenzfähigkeit.

Lassen Sie Erweiterung für die erste Serie aus. Sie schreiben eine bewusste Figurenbeschreibung und konkrete Szene. Eine Erweiterung fügt eine Transformation zwischen Anweisungen und Bildanfrage ein und erschwert die Zuordnung des wirksamen Wortlauts. Sie ändert außerdem Standard-Spicy- und Turbo-Preise: Mit Erweiterung kosten sie $0.0133 beziehungsweise $0.016 pro Bild. Pro hat einen gelisteten Bildpreis.

Wählen Sie zunächst Standard-Spicy, ausdrücklich 1024 × 1536 und seine standardmäßig deaktivierte Erweiterung. Das gibt dem Beispiel ein gleiches Bildformat und einfache Kostenrechnung. Nach Öffnung gespeicherter Bilder entscheiden Sie über breitere Komposition, größere Fläche oder Bearbeitungsmodell für stärkere Identitätssteuerung.

Installieren Sie den Node und verbinden Sie Ihr Konto

Öffnen Sie für Paket, API-Key und n8n-Cloud-HTTP-Vorlagen den offiziellen SpicyAPI-n8n-Node-Leitfaden. Folgen Sie danach dem Szenen- oder Referenzsetup dieses Workflows.

Der direkte Community-Node-Weg benötigt selbst gehostetes n8n mit erlaubten Communitypaketen. Öffnen Sie Settings, suchen Sie Community Nodes und installieren Sie @spicyapi/n8n-nodes-spicyapi. Die veröffentlichte Paketversion ist 0.1.1. Hat die Administration Installation deaktiviert, bitten Sie um Aktivierung oder Installation; wiederholte Nodesuche fügt das Paket nicht hinzu.

Veröffentlicht bedeutet nicht n8n-verifiziert. n8n Cloud erlaubt verifizierte Community-Nodes; dieses Paket gehört derzeit nicht dazu. Cloudnutzer sollten zum HTTP-Vorlagenabschnitt springen. Das folgt der n8n-Dokumentation zur Community-Node-Installation, nicht einer Einschränkung der Bild-API.

Fügen Sie nach Installation einen SpicyAPI-Node hinzu und erstellen Sie seine Zugangsdaten. Holen Sie den API-Key aus der SpicyAPI-Key-Konsole, fügen Sie ihn in API Key ein und behalten Sie die Standard-Base-URL https://api.spicyapi.ai. Speichern und testen Sie die Verbindung. Der Key gehört in Zugangsdaten, nicht in Prompt, Edit-Fields-Node oder geteilten Workflowexport.

Ein erfolgreicher Test belegt erreichbares Konto. Er bedeutet weder bereits generiertes Bild noch Modellverfügbarkeit für jede Eingabe oder ausreichendes Batchguthaben. Prüfen Sie den Kontostand vor dem Test und lassen Sie geplante Auslöser bis zum funktionierenden manuellen Weg inaktiv.

Erscheint der Node, aber die Modellauswahl lädt nicht, beginnen Sie mit Zugangsdaten und Verbindung statt Promptumschreiben. Eine fehlgeschlagene Modellliste ist Einrichtung. Sie können das Model-Feld in den ID-Modus setzen und den exakten öffentlichen Identifier eingeben, doch eine ID repariert keinen falschen Key und umgeht keine Parameterregeln.

Hier lautet der Identifier alibaba/z-image-spicy/text-to-image. Familienseitenname und API-Identifier haben verschiedene Zwecke: Die Seite erklärt das Produkt, der vollständige Identifier wählt die genaue Aufgabe. Verwenden Sie ihn im Node statt des kürzeren Websiteslugs.

Generieren und speichern Sie zuerst ein Bild

Verbinden Sie vor der Sechs-Szenen-Liste einen Manual Trigger mit einem SpicyAPI-Node. Wählen Sie Resource Image, Operation Generate. Wählen Sie Z-Image Spicy oder ID-Modus mit dem Identifier oben. Media Inputs bleibt leer, weil dies Text-to-Image ist.

Verwenden Sie diesen vollständigen Startprompt:

Editorial-Fotografie von Mara, einer fiktiven 34-jährigen Frau mit schulterlangen dunklen Locken, braunen Augen, weich kantigem Gesicht und kleinem Goldanhänger. Sie trägt ein blickdichtes tiefgrünes Satinabendkleid mit schmalen Trägern. Sie steht bei Dämmerung neben einem hohen Wohnungsfenster, eine Hand ruht leicht am Vorhang, und blickt ruhig selbstbewusst zur Kamera. Porträt bis zur Taille, warmes Innenlicht mit kühlem blauem Abendlicht, natürliche Hauttextur, realistische Stofffalten, zurückhaltende romantische Atmosphäre, keine weiteren Personen.

Der Prompt beschreibt eine konkrete erwachsene Figur und einen sichtbaren Moment. Er gibt der Kamera einen Standort, nennt wichtige Kleidung und trennt warmes Innenlicht vom kühleren Fenster. Er verlangt keine Rekonstruktion einer komplexen Geschichte in einem Standbild.

Setzen Sie Model Parameters auf Breite 1024, Höhe 1536 und Prompterweiterung false. Lassen Sie den Seed zunächst ungesetzt. Behalten Sie unter Additional Parameters das leere Objekt {}. Dieses Feld kann sichtbaren Prompt und Modelleinstellungen überschreiben; vergessene Werte können deshalb andere Eingaben senden als das Formular zeigt.

Setzen Sie Max Cost per Item (USD) auf 0.015. Das liegt über den aktuellen $0.01235, aber weit unter dem Nodestandard von $2 je Element. Lassen Sie Wait for Completion und Download Output an. Verwenden Sie data als Namen der Binäreigenschaft. Behalten Sie zuerst die Standard-Max-Wait-Time; der Node verwendet die Aufgabenfrist statt unbegrenzt zu warten.

Führen Sie einmal aus. Der Node holt vor Erstellung ein Preisangebot und prüft es gegen Ihre Grenze. Sobald die Aufgabe erfolgreich und die Ausgabe bereit ist, lädt er das Bild als Binärdaten herunter. Öffnen Sie Binary in der Ausgabe und zeigen oder laden Sie data herunter.

Drei Dinge sollen übereinstimmen: Aufgabe erfolgreich, Binärbild öffnet und Bild folgt dem Briefing angemessen. Ein erfolgreiches Bild im falschen Outfit ist kreativ. Falsche Zugangsdaten sind Einrichtung. Erfolg ohne gespeicherte Datei ist Lieferung. Die Trennung verhindert eine bezahlte Neugenerierung, obwohl das Original nur sein Ziel noch nicht erreicht hat.

Prüfen Sie das Bild in Nutzungsgröße. Auf einer Companion-Profilkarte muss das Gesicht im kleinen Ausschnitt lesbar sein; in einer Kapitelillustration zählen Pose und Raum stärker. Lenkt der Anhänger ab, vereinfachen Sie ihn vor der Serie. Ist der Ausdruck zu neutral, ändern Sie Blick oder Pose statt vieler allgemeiner Qualitätsadjektive.

Fügen Sie nun nach Generate einen Google-Drive-Node hinzu. Wählen Sie Resource File, Operation Upload, Input Data Field Name data. Wählen Sie Drive-Zugangsdaten und Projektordner und führen Sie den Upload mit der erfolgreichen Ausgabe aus. Öffnen Sie die Drive-Datei. Dieser erste Upload muss vor dem Batch funktionieren; sonst debuggen Sie denselben fehlenden Dateipfad sechsmal nach sechs erfolgreichen Generierungen.

Bereiten Sie ein Figurenbriefing und sechs unterschiedliche Szenen vor

Halten Sie für ein kohärentes Set Aussehen und Fotostil in zwei wiederverwendbaren Feldern. Ändern Sie die Szene separat. Das ist kontrollierbarer als ein Sprachmodell für jedes Bild einen neuen Porträtprompt erfinden zu lassen, weil feste und variable Teile sichtbar bleiben.

Fügen Sie nach Manual Trigger einen Edit-Fields-Node namens Build scene list hinzu. Erstellen Sie in Manual Mapping diese Felder:

FeldTypBeispielwert
seriesIdStringmara-evening-v1
characterBaseStringAlter, Gesicht, Haare, Anhänger und blickdichtes grünes Satinkleid der fiktiven erwachsenen Figur
styleBaseStringEditorial-Fotografie, natürliche Textur, realistischer Stoff, zurückhaltende romantische Atmosphäre
scenesArrayDie sechs folgenden Szenenobjekte

Verwenden Sie für characterBase einen vollständigen Satz: „Mara ist eine fiktive 34-jährige Frau mit schulterlangen dunklen Locken, braunen Augen, weich kantigem Gesicht und kleinem Goldanhänger, die ein blickdichtes tiefgrünes Satinabendkleid mit schmalen Trägern trägt.“ Verwenden Sie für styleBase: „Editorial-Fotografie, natürliche Hauttextur, realistische Stofffalten, zurückhaltende romantische Atmosphäre, nur eine erwachsene Figur.“

Packen Sie nicht jede Vorliebe ins Figurenfeld. „Lächelnd“, „sitzend“, „am Fenster“ und „blaues Licht“ sind Szenenentscheidungen. Fest in der Basis können sie einem späteren Stehporträt bei warmem Licht widersprechen. Die Figurenbasis beschreibt, wer im Bild ist; die Szene, was der Betrachter dort sieht.

Fügen Sie Folgendes als Wert des Arrayfelds scenes ein:

json
[
  {"sceneId":"01","scene":"Waist-up beside an apartment window at dusk, hand on the curtain, cool evening light and warm interior light, looking toward the camera."},
  {"sceneId":"02","scene":"Seated sideways on a velvet armchair in the same apartment, relaxed shoulders, hands resting separately, warm floor-lamp light, medium portrait."},
  {"sceneId":"03","scene":"Standing in the apartment doorway, one hand on the doorframe, softly playful expression, three-quarter portrait, warm light behind her."},
  {"sceneId":"04","scene":"Close portrait beside the window, curls tucked behind one ear, pendant visible, steady direct gaze, soft side light."},
  {"sceneId":"05","scene":"Standing on a quiet balcony at blue hour, dress moving slightly in the breeze, looking back toward the apartment, medium portrait."},
  {"sceneId":"06","scene":"Seated on the armchair near the window, looking down with a small smile, hands resting in her lap, gentle mixed evening light, waist-up portrait."}
]

Die sechs Prompts bilden ein kleines Shooting statt sechs unzusammenhängender Anfragen. Raum, Kleidung und Figur bleiben stabil, Abstand, Pose und Aufmerksamkeit ändern sich. Das bietet Variation für Geschichte oder Profil, ohne alles gleichzeitig ändern zu lassen.

Das öffentliche Beispiel bleibt vollständig bekleidet. Für ein erwachsenes Projekt können Sie zulässige Kleidung und Atmosphäre an Ihr eigenes fiktives Erwachsenenbriefing anpassen. Bleiben Sie visuell und konkret. Ein Kategorienlabel allein sagt nicht, ob intime Nahaufnahme, dramatische Abendmode oder entspannte Raumszene gemeint ist.

Beginnen Sie nicht mit sechs schwierigen Ganzkörperposen. Weite Kompositionen enthalten mehr Anordnungsaufgaben und erschweren Gesichtsvergleich. Die Nahaufnahme in Szene vier hilft gerade beim Vergleich definierender Merkmale ohne dominierenden Raum.

Nahe Illustration am Spiegel zeigt Maras dunkle Locken, braune Augen, Goldanhänger und grünes Satinkleid.

Illustration: Die Nahaufnahme betont die Aussehensdetails der wiederverwendbaren Figurenbeschreibung.

Teilen Sie Szenen auf und bauen Sie die finalen Prompts

Fügen Sie nach Build scene list Split Out hinzu. Field to Split Out wird scenes, Include All Other Fields, Destination Field Name scene. Es sollen sechs Elemente entstehen, jedes mit seriesId, characterBase, styleBase und seinem eigenen scene-Objekt. Diese Einstellungen folgen der Split-Out-Dokumentation.

Prüfen Sie die Ausgabe vor der Fortsetzung. Element eins soll scene.sceneId gleich 01, Element zwei gleich 02 enthalten. Gibt es nur ein Element mit allen sechs Szenen, ist das Splitfeld falsch. Fehlt die Figur, ist Include falsch. Beide Korrekturen kosten hier keine Generierung.

Fügen Sie einen weiteren Edit-Fields-Node namens Build prompts hinzu. Erhalten Sie Eingabefelder. Ergänzen Sie sceneId als String in Expression mit {{ $json.scene.sceneId }} und prompt als String mit {{ $json.characterBase + '. ' + $json.styleBase + '. ' + $json.scene.scene }}. Die Edit-Fields-Dokumentation beschreibt Felder und Ausdrücke.

Der kleine Ausdruck verbindet drei normale Textteile. Er lässt kein Sprachmodell Figur paraphrasieren oder Szene uminterpretieren. Prüfen Sie alle sechs Prompts: Figurenbasis identisch, Stilbasis identisch, nur Szenenende anders.

Stellen Sie sicher, dass der Ausdruck ausgewertet statt als Text gespeichert wird. Die Vorschau soll die vollständige Fotobeschreibung statt Klammern und $json zeigen. Enthält der Prompt undefined, weicht ein Feldname ab. Die genaue Schreibweise von characterBase, styleBase und scene zählt.

Behalten Sie später bei einer Tabelle dieselbe Anordnung. Eine Zeile kann seriesId, sceneId und variable Szene enthalten; feste Figur und Stil werden vor Build prompts ergänzt. Für die ersten sechs Bilder brauchen Sie keine Tabelle, stabile Szenen-IDs erleichtern aber den späteren Wechsel.

Ergänzen Sie keinen AI Agent nur für einen anspruchsvolleren Eindruck. Er kann Textmodellkosten, Latenz und Ablehnungen in einer anderen Phase hinzufügen. Ein Bildendpunkt kann das erwachsene Briefing unterstützen, während der optionale Promptschreiber es ablehnt. Dann liegt die Ablehnung vor der Bildgenerierung. Senden Sie Ihren eigenen vorbereiteten Prompt direkt an die ausgewählte Bildaufgabe.

Speichern Sie jedes Bild vor Beginn der nächsten Szene

Fügen Sie nach Build prompts Loop Over Items mit Batch Size 1 hinzu. Verbinden Sie Loop mit SpicyAPI Generate, Generate mit Google Drive Upload und Upload zurück zu Loop Over Items. Done ist das Ende der fertigen Serie. Reset bleibt aus; es ist eine endliche Sechselementliste, keine unbegrenzt neu erzeugte Eingabe. Siehe n8n Loop Over Items.

Ersetzen Sie den festen Testprompt von Generate durch {{ $json.prompt }}. Behalten Sie Modell, Maße, Kostengrenze und Downloadeinstellungen des erfolgreichen Tests. Die Schleife liefert ein Element, der Node soll pro Durchlauf einen vollständigen Szenenprompt zeigen.

Entscheidend ist die Rückverbindung von Upload zur Schleife. Direkt von Generate zurückzukehren startet die nächste Szene vor fertiger Speicherung. Done statt Loop überspringt den gewünschten Szenenpfad. Verfolgen Sie den Graph: Eine Szene tritt in Generate ein, ihre Datei in Upload und der fertige Upload fordert die nächste an.

Behalten Sie in Drive Upload Input Data Field Name data. File Name wird {{ $('Build prompts').item.json.seriesId + '-' + $('Build prompts').item.json.sceneId + '-' + $binary.data.fileName }}. Das ergänzt echten Dateinamen um Serie und Szene und erhält die echte Endung. Wählen Sie den Testprojektordner. Die Drive-Uploadoperation dokumentiert die Felder.

Warum zurück auf Build prompts verweisen? Der Generierungsnode gibt Aufgabenrecord und Binärdownload aus, kopiert aber eigene Szenenfelder nicht automatisch ins JSON. n8n-Item-Linking holt die entsprechenden früheren seriesId und sceneId. Aktuelles $json.sceneId nach Generate kann leer sein, weil das aktuelle JSON nun die Aufgabe beschreibt.

Bei diesem Rezept mit einem Bild ist data das einzige nötige Binärfeld. Liefert eine andere Aufgabe mehrere Assets, heißen weitere Felder data_1, data_2 usw. Ein Drive-Upload für data lädt nicht automatisch alle hoch. Beachten Sie das beim Aufgabenwechsel; die erste gespeicherte Datei ist nicht zwingend die vollständige Antwort.

Führen Sie noch einmal nur Szene 01 im Array aus. Prüfen Sie Serie und Szene im Dateinamen und das Öffnen aus dem Zielordner. Stellen Sie dann sechs Objekte wieder her und starten Sie die Serie. Der zusätzliche Einzeltest prüft neue Schleife und Namensausdrücke vor sechs bezahlten Anfragen.

Der finale Ordner soll eine erkennbare Folge statt anonymer Downloads enthalten. Eine gespeicherte Datei ist das nützliche Ende. API-Ausgabe-URL und n8n-Ausführungsvorschau helfen während Generierung, sind aber kein dauerhafter Projektordner.

Workflowdiagramm führt eine Szene durch Bildgenerierung und Speicherung vor dem Wechsel zur nächsten.

Illustration: Speichern Sie das aktuelle Bild, bevor die Schleife die nächste Szene beginnt.

Setzen Sie ein echtes Serienbudget

Die Bildgebühr ist die Anzahl erfolgreicher abrechenbarer Anfragen mal Bildpreis. Eine nur gelistete Szene kostet nicht. Eine bewusst angeforderte erfolgreiche Ersatzgenerierung für ein ungeliebtes Bild kostet dagegen.

Für sechs Szenen ohne Erweiterung:

PlanStandard-Spicy bei $0.01235Spicy Pro bei $0.019Turbo bei $0.010
Ein vollständiger Sechs-Szenen-Durchlauf$0.07410$0.11400$0.06000
Erster Durchlauf plus sechs Ersatzanfragen$0.14820$0.22800$0.12000
Drei Kandidaten für jede der sechs Szenen$0.22230$0.34200$0.18000

Das sind Generierungsgebühren, keine Zusage brauchbarer Ergebnisse. Bei achtzehn Kandidaten und sechs behaltenen Bildern zahlen Sie achtzehn Erfolge. Zuverlässiger Download vermeidet verschwendete fertige Aufgaben; verworfene kreative Kandidaten werden dadurch nicht kostenlos.

Max Cost hat einen anderen Zweck. Das Plugin prüft vor Erstellung das Angebot jedes Elements. Es ist kein Budget für den gesamten Sechs-Szenen-Workflow. Der Standard $2 je Element liegt weit über dem Beispiel. Null deaktiviert die Grenze; null bedeutet nicht gratis.

Bei sechs Elementen mit je $0.015 Obergrenze beträgt deren Summe $0.09. Das ist eine nützliche Grenze für sechs Einreichungen, sofern der Workflow keine weiteren Elemente, Schleifen, Aufgaben oder Ausführungen ergänzt. Beim aktuellen Standard-Spicy-Grundpreis ist die erwartete Gebühr niedriger: $0.07410.

Für Pro würde $0.015 die Erstellung stoppen, weil $0.019 darüber liegt. Erhöhen Sie die Grenze bewusst, etwa auf $0.025 für das aktuelle Angebot. Sechs Grenzen ergeben dann $0.15. Sie ändern Modell und erlaubte Ausgabe, statt still andere Kosten zuzulassen.

Das Plugin behandelt auch Preiskonflikte mit neuem Angebot und erneuter Grenzprüfung. Dafür brauchen Sie beim Communityweg keinen separaten Preisnode. Der HTTP-Fallback unten ist eine eigene Implementierung; übernehmen Sie nicht automatisch alle Verhaltensannahmen.

Multiplizieren Sie vor Terminplanung Batchkosten mit geplanten Ausführungen. Eine tägliche Sechs-Szenen-Standard-Spicy-Serie kostet bei genanntem Grundpreis in dreißig Tagen $2.223 Generierung. Drei Kandidaten je Szene täglich kosten $6.669. Doppelte Auslöserhäufigkeit verdoppelt das. n8n-Abo oder Server, Speicherung und optionales Textmodell kommen hinzu.

Bleiben Sie manuell, bis die nötige Kandidatenzahl feststeht. Ein Tagesplan, der die fertige Sechs-Szenen-Serie wiederholt, ist ein wiederkehrender Generierungsauftrag. Geben Sie geplanten Läufen neues Projekt oder Szenenliste beziehungsweise nur unfertige Szenen. Eine günstige Anfrage wird teuer, wenn sie grundlos ständig ausgelöst wird.

Ein Timeout ist keine Erlaubnis zur Neugenerierung

Warten und Generierung sind verschieden. Max Wait Time begrenzt das Warten des Nodes, storniert aber keine Bildaufgabe. Sie kann danach erfolgreich enden und abgerechnet werden.

Zeigt Szene 04 in n8n ein Timeout, klicken Sie nicht sofort wieder Execute Workflow für alle sechs. Öffnen Sie die fehlgeschlagene Ausführung, suchen Sie die erstellte Aufgaben-ID in Ausgabe oder Fehler und rufen Sie zuerst diese ab. Nicht jeder Fehler besitzt ein eigenes JSON-Feld taskId; lesen Sie auch die Nachricht.

Bauen Sie beim Communityweg einen kleinen Wiederherstellungsworkflow: Manual Trigger → SpicyAPI mit Resource Task, Operation Get → Speicher-Node. Geben Sie die vorhandene ID ein. Ist die Aufgabe wartend oder laufend, aktivieren Sie Wait for Completion. Task Get wartet standardmäßig nicht. Lassen Sie Download Output und Binärname data an, um das Bild gleich hochzuladen.

Verwenden Sie dort im Drive-Upload den bekannten Serien- und Szenennamen, für vier {{ 'mara-evening-v1-04-' + $binary.data.fileName }}. Kopieren Sie nicht den früheren Verweis auf Build prompts; dieser Node existiert in der Wiederherstellung nicht. Input Data Field Name bleibt data, Projektordner derselbe.

Prüfen Sie den echten Aufgabenstatus. Laufend braucht Zeit. Erfolgreich braucht Speicherung. Fehlgeschlagen oder abgelaufen braucht Fehlerbehebung vor neuer Anfrage. Modellablehnung ist kein Netzwerktimeout; länger warten oder eng wiederholen hilft nicht.

Fehlgeschlagene oder abgelaufene Aufgaben geben normalerweise ihre Reservierung frei. Inhaltsabgelehnte Anfragen werden normalerweise nicht berechnet, sofern die Modellseite nichts anderes sagt. Prüfen Sie für die tatsächliche Anfrage Abrechnung und Kosten statt bloß roten n8n-Node. Ein beendeter Wartenode und fehlgeschlagene Generierung haben nicht denselben Abrechnungsausgang.

Entfernen Sie nach gespeichertem 04 Szenen 01 bis 04 und führen Sie 05, 06 aus. Ist 04 wirklich gescheitert und nach Eingabekorrektur neu gewünscht, behalten Sie 04 in der Restliste. Die IDs bleiben trotz kürzerem Array stabil, Dateinamen zeigen weiterhin den Platz.

Deshalb hilft die Einzelschleife. Frühe Szenen liegen vor einer späteren Unterbrechung bereits gespeichert. Sie lässt externe Aufgaben beim n8n-Stopp nicht verschwinden, verringert aber Wiederaufbauarbeit.

Verstehen Sie die Grenzen der Retry-Deduplizierung

Das Plugin fügt der Erstellung einen internen Idempotenzschlüssel hinzu. Innerhalb derselben Ausführung, desselben Nodelaufs und Elements kann gleiche Eingabe dieselbe Erstellung abrufen statt blind doppelt bestellen. Das hilft bei verlorener Netzwerkantwort nach API-Annahme.

Das ist keine dauerhafte Prüfung „dieser Prompt wurde schon generiert“. Eine neue Workflowausführung hat anderen Geltungsbereich, ein späterer Schleifendurchlauf anderen Laufindex. Andere Prompts oder Parameter ändern die Anfrage. Das kann eine neue bezahlte Aufgabe erzeugen, auch wenn die sichtbare Szene vertraut wirkt.

Reagieren Sie deshalb auf drei Probleme unterschiedlich. Bei unklarer Einreichung rufen Sie die bestehende Aufgabe ab. Bei Uploadfehler eines fertigen Bilds wiederholen Sie Speicherung oder holen bestehende Ausgabe. Bei gespeichertem Bild mit falscher Pose ändern Sie bewusst die Szene und bestellen Ersatz.

Halten Sie automatische Retries moderat. Sie helfen vorübergehenden Transportfehlern, sind kein kreativer Auswahlmotor. Ungültige Maße, falsches Binärfeld und inkompatible Eingabe bleiben beim Retry falsch. Korrigieren Sie zuerst. Ein Noderetry innerhalb bestehender Ausführung unterscheidet sich auch von manuell frischem Workflow.

Nutzen Sie für geplante Serien eine kleine Szenenstatustabelle, wenn manuelle Wiederherstellung unpraktisch wird. Nützliche Felder sind seriesId, sceneId, Status, Aufgaben-ID und Dateilink. Generieren Sie nur als bereit markierte Zeilen und markieren Sie nach Upload gespeichert. Dann kann ein Retry eine vorhandene ID statt Vermutungen über API-Ankunft nutzen.

Bauen Sie diese Buchführung nicht unnötig in den ersten Test. Sechs manuell geprüfte Szenen lassen sich per Array verwalten. Eine Tabelle lohnt unbeaufsichtigte wiederkehrende Auslöser oder gemeinsame Projekte. Sie verhindert, dass fertige Szenen als neue Bestellungen gelten, statt bloß Papierarbeit zu schaffen.

Signierte API-Ausgabelinks gelten ungefähr zwanzig Minuten. Das ist ein Zugriffsfenster für den Link, keine Zusage, dass Aufgabe und Asset gleichzeitig verschwinden. Rufen Sie die bestehende Aufgabe für aktuellen Zugriff ab, solange das Asset gespeichert bleibt, und laden Sie das Bild dauerhaft herunter.

Eine heute in die Tabelle kopierte URL kann morgen wie verlorene Generierung wirken. Bezahlen Sie nicht für Wiederholung nur wegen abgelaufenem Link. Holen Sie zuerst die Aufgabe neu. Speichern Sie in wiederkehrenden Workflows den dauerhaften Drive-Link statt temporärem API-Link.

Mit Download Output liefert das Plugin Binärdaten für den nächsten Node. Ohne erhalten Sie Aufgabe und Links, aber kein data für Drive. URL-Text ist nicht Bilddatei. Meldet Upload fehlende Binärdaten, prüfen Sie Download Output und übereinstimmenden Binärnamen.

Das gilt auch beim Frontend. In Leon van Zyls No-Code-Bildgeneratortutorial zeigt das Transkript eine erfolgreiche n8n-Ausführung mit anschließendem Frontendfehler, weil die Antwortverarbeitung anderes erwartete als die Bildbinärdaten. Prüfen Sie den Bildverbraucher vor Schuldzuweisung an die Generierung.

Drive erwartet ein Binärfeld, eine Webseite womöglich eine dauerhafte Speicher-URL. Ein lokaler Ordner liegt auf dem n8n-Rechner, vielleicht Server statt Laptop. Wählen Sie das Ziel bewusst und öffnen Sie dort ein gespeichertes Ergebnis vor weiteren Szenen.

Scheitert Upload nach Erfolg, speichern Sie die ID und wiederholen Speicherung. Prüfen Sie Drive-Zugang, Ordnerrechte und data. Liegt die Datei bereits im Ordner, vermeiden Sie eine zweite Kopie nur wegen unklarer Bestätigung. Aufgabenidempotenz schützt Erstellung in ihrem Bereich, nicht automatisch alle Folgeuploads.

Verwenden Sie in n8n Cloud die HTTP-Vorlage

Cloudnutzer verwenden integrierte Nodes statt unverifiziertem Paket. Laden Sie das Beispiel aus dem offiziellen SpicyAPI-n8n-Repository herunter und importieren Sie die Datei in n8n. Beginnen Sie mit einem Bild statt sofortigem Nachbau aller Pluginfunktionen.

Die Vorlage enthält Settings, Preisabfrage, Budgetprüfung, Erstellung, Statusabfragen mit Wait-Schleife und finalen Download. Settings beginnt mit Z-Image Turbo und Seitenverhältnis. Ändern Sie den Prompt für Ihre fiktive erwachsene Figur und erhalten Sie unterstützte Modellfelder.

Erstellen Sie die von API-Nodes verlangten HTTP-Bearer-Auth-Zugangsdaten und wählen Sie sie bei GetQuote, CreateTask, GetTask. Der Key bleibt dort. DownloadImage holt eine signierte Asset-URL und braucht keine SpicyAPI-Zugangsdaten an der Speicheranfrage.

Rohe HTTP-Antworten haben einen data-Wrapper, deshalb verweisen Ausdrücke auf data.taskId oder data.output. Der Community-Node liefert einen entpackten Record. Dessen Ausdruck ohne Wrapperanpassung in HTTP zu kopieren kann eine gültige Antwort leer wirken lassen.

Der Download muss die Antwort als Datei behandeln. Die HTTP-Request-Dokumentation von n8n beschreibt Response Format File und Ausgabefeld. Prüfen Sie das tatsächliche Binärfeld und verwenden Sie es in Drive Upload. Die Vorlage lädt das erste Asset, nicht automatisch mehrere.

Ändern Sie beim Wechsel von Turbo auf Standard-Spicy Eingabe und Identifier. Verwenden Sie Breite und Höhe statt aspect_ratio. Aktualisieren Sie Preis- und Erstellanfrage auf dasselbe Bild. Nur Settings.model mit altem Anfragekörper zu ändern ist keine korrekte Schemamigration.

Behalten Sie beim ersten Cloudlauf ein Bild je Ausführung. Der Erstellungsschlüssel basiert auf Ausführung und Elementindex, nicht dem umfassenderen Plugin-Schlüssel aus Eingabe und Schleifenlauf. Wickeln Sie die unveränderte Vorlage nicht in eine Schleife in der Annahme identischer Retrylogik. Ein korrekter Cloudbatch braucht unterschiedliche Szenenidentitäten und passende Preis-/Erstelleingaben.

Auch Polling braucht für unbeaufsichtigten Betrieb einen bewussten Endpunkt. Das Beispiel wiederholt Warten und Status bis zum Endstatus; es liefert nicht die Max-Wait-Time-Steuerung des Community-Nodes. Setzen Sie vor Planung einen passenden Workflowtimeout. Dessen Stopp storniert weiterhin keine API-Aufgabe. Holen Sie sie mit GetTask vor Neugenerierung.

Ändert sich der Preis zwischen Angebot und Erstellung, behandeln Sie den Konflikt und holen ein neues Angebot. Das Plugin automatisiert das; HTTP ist nicht in jedem Detail gleich. Der integrierte Weg ist ein nutzbarer Cloudeinstieg, der selbst gehostete Communityweg aber das einfachere Rezept für die hier gelehrte Sechs-Szenen-Schleife.

Verbessern Sie die Serie, ohne für falsche Änderungen zu bezahlen

Vergleichen Sie sechs gespeicherte Dateien als Set. Erzählen sie die gewünschte visuelle Geschichte mit demselben Abend, Outfit und erwachsener Figur aus mehreren Winkeln? Entscheiden Sie dann, welche konkreten Bilder Ersatz brauchen. Generieren Sie gute Szenen nicht wegen eines schwachen Bilds erneut.

Bei Gesichtswandel verringern Sie Änderungen zwischen Szenen. Erhalten Sie Haare, Gesichtsstruktur und Anhänger, entfernen Sie nur in einer Szene vorkommendes Make-up oder dramatische Altershinweise. Neue Kamerawinkel können das Gesicht weiterhin anders erscheinen lassen; konsistentes Briefing kontrolliert Eingaben, ist aber keine Gesichtssperre.

Ist exakte Identität nötig, versuchen Sie nicht einen weiteren Adjektivabsatz. Diese Textendpunkte nehmen das akzeptierte Porträt nicht als Referenz. Überführen Sie es in ein Modell mit wirklicher Referenz- oder Bearbeitungsaufgabe. Der Leitfaden zur Gesichtserhaltung erklärt das. Nutzen Sie hier Text-to-Image zum Etablieren von Figur und Shooting, Bearbeitung zum Erhalt des akzeptierten Gesichts.

Graphic-Novel-Illustration der erwachsenen Mara, die in grünem Satinkleid vom Balkon zur blauen Stunde zurückblickt, warmes Wohnungslicht hinter ihr.

Illustration: Ändern Sie Pose, Kamerawinkel und Umgebung bei gleichen definierenden Merkmalen und gleicher Kleidung.

Ist die Stimmung zu schlicht, ändern Sie ein sichtbares Merkmal: Blick, Lichtrichtung, Kameraabstand oder Kleiderstoff. „Mehr NSFW“ beschreibt kein konkretes Bild. Eine fiktive erwachsene Figur, die über einen sanft beleuchteten Balkon zurückblickt, ergibt eine andere Komposition als ein Nahporträt mit direktem Blickkontakt, auch wenn beide zu einem Projekt für Erwachsene gehören.

Ist die Pose unklar, vereinfachen Sie körperliche Anweisungen. Szene zwei trennt absichtlich ruhende Hände statt komplizierter Requisiteninteraktion. Ergänzen Sie eine Interaktion nach funktionierender Grundpose. Automation sendet vorbereitete Serien konsistent; sie ersetzt keinen zeichnungsfähigen Moment.

Schneidet das Bild Wichtiges ab, ändern Sie Ausschnitt oder Maße vor höherem Detail. Standard-Spicy zeigt bequem eine Figur bis zur Taille, Ganzkörper braucht womöglich ausdrücklich weiteren Abstand. Eine größere Pro-Fläche liefert Pixel, erweitert aber nicht automatisch das Kamerasichtfeld und repariert keine Kompositionsanweisung.

Bewahren Sie für kontrollierte Wiederholung Seed, Prompt und Maße eines akzeptierten Bilds auf. Ein Seed hält Variation bei gleichen Einstellungen stabil; andere Szene oder Größe verändert die Aufgabe. Bei Spicy fordert Seed null Zufall an. Ein fester Wert ungleich null hilft Vergleichen, garantiert aber kein gleiches Gesicht in jeder Szene.

Unterscheiden Sie schließlich technischen Erfolg und Nutzen. Die Gebührentabelle zählt jeden erfolgreichen abrechenbaren Kandidaten; die fertige Serie nur behaltene Bilder. Brauchen sechs finale Bilder zwölf Kandidaten, planen Sie zwölf und verbessern Sie schwache Szenenanweisungen für weniger Ersatz beim nächsten Mal.

Fragen vor einem Zeitplan

Ist n8n selbst ein NSFW-Bildgenerator?

Nein. Es verbindet Eingaben, API-Anfragen und Dateiziele. Der Bildendpunkt bestimmt Fähigkeit und Inhaltsumfang. Ein optionaler Prompt-Agent oder importierte Vorlage kann vor der Bildaufgabe eigene Einschränkungen setzen.

Geht das ohne eigenes Skript?

Das selbst gehostete Rezept nutzt visuelle Nodes, ein kurzes Szenenarray und zwei kleine Ausdrücke. Modellwahl, Zugangsdaten und korrekte Schleife bleiben nötig. HTTP in Cloud braucht mehr Aufmerksamkeit für JSON und Antworten; es vermeidet Installation, nicht jede API-Konfiguration.

Macht eine kostenlose n8n-Vorlage die Bilder kostenlos?

Nein. Workflowimport und Bildanfrage sind getrennt. Das Beispiel verwendet kostenpflichtige Anfragen, n8n-Hosting oder ein Abonnement kommen gegebenenfalls hinzu. Entscheidend sind Bildpreis mal erfolgreich angeforderte Kandidaten.

Sollte ich Veröffentlichung nach Generierung automatisieren?

Enden Sie bei einer neuen Figurenserie mit gespeicherten Dateien und prüfen Sie zuerst. Ergänzen Sie Lieferung bei geklärtem Ziel und Anforderungen. Zuverlässige Speicherung von sechs Szenen ist bereits nützlich; automatische öffentliche Beiträge sind eine separate Handlung mit anderen Anforderungen.

Beginnen Sie mit einem manuellen Bild und erfolgreichem Upload. Erweitern Sie dann auf sechs Szenen mit Kostengrenze und Speicherung vor dem nächsten Bild. Rufen Sie bei Fehlern die bestehende Aufgabe ab, bevor Sie neu bestellen. So entsteht ein praktischer n8n-Workflow für erwachsene Figuren: verständliche Eingaben, planbare Anfragekosten und auffindbare Dateien.

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

Setzen Sie diesen Leitfaden um

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