DE ▾
API-Schlüssel erhalten

ChatGPT SDXL-Promptgenerator vs. dein eigenes API-Skript

Aktualisiert

Ein ChatGPT SDXL-Promptgenerator-Workflow bedeutet, ein Chat-Fenster zu öffnen, eine Idee einzugeben, die Antwort in dein Bildwerkzeug zu kopieren und das zu wiederholen. Das ist für zehn Prompts in Ordnung, für tausend aber mühsam. Dieser Artikel vergleicht diese Routine mit einem kurzen Skript, das eine API aufruft, und setzt Zahlen auf beide Seiten.

Isometrische geteilte Szene: langsamer manueller Papierpfad versus Förderband automatisierter leuchtender Kacheln
Diorama einer kleinen Bühne mit leuchtenden Sprechblasen, die ein Text-Rollenspiel-Szenario darstellen

Wichtige Punkte

  • Manueller Chat ist am besten zum Erkunden eines Stils; ein Skript ist am besten, sobald du Volumen oder Wiederholbarkeit brauchst.
  • Bei 30 Sekunden pro manuellem Prompt benötigen 1.000 Prompts etwa 8,3 Stunden; ein Skript kann in Minuten fertig sein.
  • Auf dieser API kosten 1.000 Prompts mit etwa 300 Input-Token und 200 Output-Token etwa 0,145 $.
  • Ein Skript gibt dir auch feste Formate, gespeicherte Inputs und Wiederholversuche, was ein Chat-Fenster nicht bietet.

Zwei Wege, SDXL-Prompts von einem Sprachmodell zu erhalten

Der erste Weg ist ein Chat-Assistent. Du fügst einmal eine Systemanweisung ein, sendest dann kurze Ideen nacheinander und kopierst jede Antwort in dein Bildwerkzeug. Es braucht keinen Code, du siehst die Antwort sofort und kannst „dunkler, filmischer“ sagen, um eine Überarbeitung zu erhalten. Zum Entdecken ist das kaum zu übertreffen.

Der zweite Weg ist ein Skript. Du schreibst die Anweisung einmal in Code, lädst eine Liste von Ideen aus einer Datei, rufst einen Chat-Completions-Endpunkt für jede auf und schreibst die Ergebnisse in eine Datei oder sendest sie direkt an deinen Bildgenerator. Dieser Dienst ist eine OpenAI-kompatible, textbasierte API, die ein Open-Weight-Modell eines unabhängigen Anbieters bereitstellt. Es ist kein ChatGPT und kein OpenAI-Produkt, aber jedes OpenAI SDK kann damit sprechen, sobald du die Basis-URL und den Schlüssel änderst.

Weder dieser Ansatz noch der andere zeichnet Bilder. In beiden Fällen generiert das Modell Text und ein separates Tool wie SDXL rendert ihn.

Nebeneinander

FaktorChat-FensterAPI-Skript
EinrichtungKeineSchlüssel, 30 Zeilen Python
Beste Batch-Größe1 bis 20 PromptsHunderte bis Tausende
AusgabeformatWas auch immer der Chat zurückgibt; du bereinigst es manuellJSON-Modus gibt Felder zurück, die du parsen kannst
ReproduzierbarkeitDriftet ab, je länger das Gespräch wirdJeder Aufruf dieselbe Anweisung, optionaler Seed
IterationNatürlich: Antworte mit FeedbackDu bearbeitest das Skript und startest es neu
KostenmodellHängt von deinem Plan ab; prüfe die aktuellen BedingungenBezahlung pro Token, Prepaid
AblehnungenHängt von der Inhaltsrichtlinie des Assistenten abDieses Modell antwortet ohne Inhaltsablehnungen für die rechtmäßige Nutzung durch Erwachsene

Die ehrliche Zusammenfassung: Wenn du wöchentlich ein paar Bilder erstellst und gerne darüber diskutierst, bleib beim Chat. Ein Skript lohnt sich ab dem Punkt, an dem Kopieren und Einfügen zum langsamsten Schritt in deiner Pipeline wird.

Die Zeitkosten von Kopieren und Einfügen

Mach eine bescheidene Annahme: 30 Sekunden pro Prompt, um die Idee einzugeben, zu warten, das Ergebnis zu kopieren und dort einzufügen, wo es hingehört. Bei 1.000 Prompts sind das 1.000 × 30 s = 30.000 s, oder etwa 8,3 Stunden Aufmerksamkeit.

Ein Skript hat eine andere Form. Nimm an, jeder API-Aufruf dauert etwa 5 Sekunden (das ist eine Annahme, also miss deine eigenen). Bei 8 gleichzeitigen Anfragen, was das Limit für einen vollständigen Schlüssel ist, benötigen 1.000 Aufrufe etwa 1.000 / 8 × 5 s = 625 s, also etwas mehr als 10 Minuten. Die Begrenzung von 300 Anfragen pro Minute bedeutet, dass das absolute Minimum etwas über 3 Minuten beträgt. Du startest es, machst Kaffee und liest die Datei anschließend durch.

Die gesparte Zeit ist das Hauptargument. Das Geld ist sekundär, wie der nächste Abschnitt zeigt.

Kosten pro 1.000 Prompts

Diese API berechnet $0,15 pro 1 Mio. Input-Token und $0,50 pro 1 Mio. Output-Token. Nehmen wir an, jeder Aufruf sendet eine 250-Token-Anweisung und eine 50-Token-Idee (300 Input) und gibt einen 200-Token-Prompt zurück.

  • Input: 1.000 × 300 = 300.000 Token × $0,15 / 1 Mio. = $0,045.
  • Output: 1.000 × 200 = 200.000 Token × $0,50 / 1M = $0,10.
  • Gesamt: $0,145 für 1.000 Prompts.

Zum Vergleich mit einem Chat-Abo oder einer anderen API, teile den Preis dieses Plans durch die Anzahl der Prompts, die du tatsächlich in einem Monat erstellst, und prüfe die aktuellen Preise, statt einer Zahl aus einem Artikel zu vertrauen. Das $0,50 Testguthaben, das du mit einem Klick auf der API-Schlüssel-Seite nach der Anmeldung beanspruchen kannst, deckt etwas mehr als 3.400 Prompts dieser Größe ab. Sieh dir die Preisseite für Aufladungen von $20 bis $500 per Krypto an.

Ein Batch-Skript mit Wiederholversuchen

Das Skript liest Ideen aus ideas.txt, eine pro Zeile, und schreibt sie in prompts.jsonl. Es startet 6 parallele Worker und wiederholt den Versuch bei 429.

import json, time
from concurrent.futures import ThreadPoolExecutor
from openai import OpenAI, RateLimitError

client = OpenAI(base_url="https://api.sdxlapi.com/v1", api_key="YOUR_KEY", max_retries=0)

SYSTEM = (
    "Expand the idea into one SDXL prompt of 40 to 60 words: subject, setting, "
    "lighting, style, mood, comma-separated. Return JSON with key 'prompt'."
)

def make(idea):
    for attempt in range(5):
        try:
            r = client.chat.completions.create(
                model="uncensored",
                messages=[{"role": "system", "content": SYSTEM},
                          {"role": "user", "content": idea}],
                response_format={"type": "json_object"},
                temperature=0.8,
            )
            return {"idea": idea, **json.loads(r.choices[0].message.content)}
        except RateLimitError:
            time.sleep(5 * (attempt + 1))
    return {"idea": idea, "prompt": None}

ideas = [l.strip() for l in open("ideas.txt") if l.strip()]
with ThreadPoolExecutor(max_workers=6) as pool, open("prompts.jsonl", "w") as out:
    for row in pool.map(make, ideas):
        out.write(json.dumps(row, ensure_ascii=False) + "\n")

Halte die Worker-Anzahl bei einem vollen Schlüssel bei oder unter 8, bei einem Test-Schlüssel bei 2. Wenn du den Code concurrency mit 429 siehst, senke ihn; rate_limited bedeutet, dass du das Limit pro Minute überschritten hast. Fehlgeschlagene Anfragen werden nicht berechnet, Wiederholversuche sind also kostenlos. Mehr zu Parametern findest du in den Dokumenten.

Bessere Ergebnisse vom Skript erhalten

Der erste Durchlauf eines Batches ist selten der beste. Drei günstige Änderungen verbessern die Ergebnisse stärker als ein Werkzeugwechsel.

  • Füge zwei oder drei Beispiele in den System-Prompt ein. Füge Prompts ein, die dir Bilder geliefert haben, die dir gefallen haben, jeweils mit der kurzen Idee, die sie erzeugt hat. Das Modell kopiert die Struktur und den Detaillierungsgrad.
  • Gib ein Style-Feld an. Halte ein kleines Wörterbuch wie „Filmstill“, „Aquarell“, „isometrische Darstellung“ bereit und hänge den gewählten Style an jede Idee. Eine Liste von Ideen kann dann mehrere Looks erzeugen.
  • Filtere die Ausgabe. Verwerfe Zeilen, deren Prompt weniger als 25 oder mehr als 80 Wörter hat, und führe nur diese erneut aus. Eine kurze Code-Prüfung ist weniger Aufwand als das Lesen von tausend Zeilen.

Speichere die Idee neben jedem Ergebnis. Wenn ein Bild gut herauskommt, willst du genau sehen, was es erzeugt hat, und ein Chat-Verlauf scrollt weg. Das Thema bleibt deine Entscheidung: Das Modell ist für die legale Erwachsenenverwendung optimiert, und die einzige harte Grenze ist, dass nichts Sexuelles mit Minderjährigen erzeugt wird.

Wann du beim Chat bleiben solltest

Ein Skript ist nicht immer die bessere Wahl. Bleib bei einem Chat-Assistenten, wenn du noch nicht weißt, was du willst, wenn jedes Bild ein Gespräch über die Komposition braucht, oder wenn dein Volumen klein genug ist, dass die Einrichtezeit die gesparte Zeit übersteigt. Ein häufiges Muster ist, den Chat zu nutzen, um eine gute Anweisung zu finden, dann diese Anweisung in das Skript als System-Prompt einzufügen und die Massenarbeit dort auszuführen.

Denke auch an Daten. Prompts, die an diese API gesendet werden, werden nicht zum Training verwendet. Lies bei anderen Diensten vor dem Senden unveröffentlichter kreativer Werke deren Datenschutzrichtlinie.

Fragen und Antworten

Ist diese API dasselbe wie ChatGPT?

Nein. Es ist ein OpenAI-kompatibler Endpunkt, der ein Open-Weight-Modell eines unabhängigen Anbieters bereitstellt. Es ist kein OpenAI-Produkt.

Kann die API auch SDXL-Bilder erzeugen?

Nein. Es erzeugt nur Text. Dein Prompt geht an SDXL, ComfyUI, Automatic1111 oder ein anderes Bild-Tool.

Wie viel kostet die Generierung von 1.000 Prompts?

Kosten von ca. $0,145 für Prompts mit ca. 300 Eingabe-Token und 200 Ausgabe-Token, bei $0,15 pro 1 Mio. Eingabe-Token und $0,50 pro 1 Mio. Ausgabe-Token.

Wie schnell kann ein Batch ausgeführt werden?

Ein vollständiger Schlüssel erlaubt 8 parallele Anfragen und 300 pro Minute, sodass 1.000 kurze Prompts in Minuten abgeschlossen werden können. Test-Schlüssel erlauben 2 parallele Anfragen und 60 pro Minute.

Dein Schlüssel ist nur ein Formular entfernt

Erstelle ein Konto, kopiere den Schlüssel, ändere die Basis-URL. Das ist die gesamte Einrichtung.

API-Schlüssel erhalten