Skip to main content
Die Bildgenerierung auf Venice ist synchron. Sende einen Prompt an /image/generate und erhalte dein Bild in derselben Antwort – entweder als Base64 in JSON oder als rohes Binary, wenn return_binary auf true steht.

Endpoints

Schritt 1: Generierungsanfrage senden

Die Größenangabe ist modellspezifisch. Manche Modelle akzeptieren explizite width und height; manche stellen aspect_ratio bereit; und Resolution-Tier-Modelle bieten aspect_ratio plus resolution-Werte wie 1K, 2K oder 4K. Beispiel für Pixel-basierte Größe:
Beispiel für Aspect-Ratio-Größe:
Beispiel für Resolution-Tier-Größe:
Dasselbe Muster gilt für andere Resolution-Tier-Modelle:
Nutze Image-Modelle oder die Models-API, um zu prüfen, welche Größenfelder ein Modell akzeptiert. Antwort (200):
Das images-Array enthält Base64-kodierte Bilddaten. Dekodiere den ersten Eintrag, um das Bild zu speichern oder anzuzeigen. timing.total ist die vollständige Request-Dauer in Millisekunden.

Schritt 2: Bild dekodieren und speichern

Schritt 3: Binary statt JSON zurückgeben (optional)

Wenn der Response-Body die Bilddatei selbst sein soll, setze return_binary: true. Das ist nützlich, wenn du das Bild direkt streamen oder speichern willst, ohne Base64 zu dekodieren.
Wenn return_binary auf true steht, ist der Response-Body rohe image/jpeg-, image/png- oder image/webp-Daten – je nach angefordertem format.
variants wird nur unterstützt, wenn return_binary auf false steht.

Schritt 4: Verfügbare Image-Styles auflisten (optional)

Wenn du style_preset nutzen willst, frage zuerst die verfügbaren Styles über /image/styles ab:
Antwort (200):
Übergib dann einen dieser Werte in deiner Generierungsanfrage:
Nutze den Styles-Endpoint, wenn du exakte Preset-Namen brauchst, statt sie zu raten.

Request-Parameter

Die Validierung ist modellspezifisch. Prüfe Image-Modelle und die Models-API, bevor du dich quer über mehrere Modelle auf einen Parameter verlässt.

Modellspezifische Optionen

Hochauflösende Generierung

Manche Image-Modelle unterstützen aspect_ratio ohne wählbare resolution-Stufe. Beispiel: qwen-image-2 akzeptiert eine Aspect-Ratio und mappt sie auf modellspezifische Ausgabedimensionen:
Andere Image-Modelle unterstützen aspect_ratio plus eine resolution-Stufe. Beispiel: gpt-image-2, nano-banana-2 und nano-banana-pro unterstützen 1K, 2K und 4K:
Nutze Image-Modelle, um zu sehen, welche Modelle höhere Auflösungen unterstützen und wie sie bepreist werden.

LoRA-Support

Manche Image-Modelle bringen zusätzliche, fest eingebaute LoRAs mit. Der Parameter lora_strength (integer, 0 bis 100) steuert, wie stark diese eingebauten LoRAs angewendet werden. Er wirkt nur bei Modellen, die zusätzliche LoRAs verwenden. Andere Modelle ignorieren ihn. Die API unterstützt kein Hochladen oder Laden eigener LoRA-Dateien. Es gibt auch keinen Endpoint, der die mit einem Modell gebündelten LoRAs auflistet. Die LoRA-Nutzung beschränkt sich darauf, lora_strength bei Modellen anzupassen, die LoRAs enthalten.

Adult-Inhalte und Safe Mode

safe_mode steuert, ob Adult-Inhalte in der Generierungsausgabe unscharf gemacht werden. Der Default ist true. Setz ihn auf false, wenn dein Use-Case Adult-Inhalte zulässt und du die unverfälschte Ausgabe willst:
Manche Image-Modelle sind speziell für Adult-/unzensierte Generierung ausgelegt und passen gut zu safe_mode: false. Beispiele auf der Pricing-Seite sind lustify-sdxl, lustify-v7 und lustify-v8. Die aktuelle Liste und die Kosten pro Modell findest du unter Image-Modelle und Pricing. Beim Bearbeiten bestehender Bilder blockiert das Default-Edit-Modell qwen-edit explizit sexuelle Inhalte. Wenn du unzensiertes Editing brauchst, nutze qwen-edit-uncensored über Image Editing. Wenn safe_mode aktiv ist und das Modell eine unscharfe oder moderierte Ausgabe zurückgibt, kannst du die Response-Header x-venice-is-blurred und x-venice-is-content-violation prüfen, falls du das programmatisch erkennen musst.

Style-Presets

Wenn das gewählte Modell es unterstützt, kannst du mit style_preset die Ausgabe steuern, ohne deinen gesamten Prompt umzuschreiben. Gültige Preset-Namen findest du unter Image Styles:
Die aktuelle Style-Liste findest du unter Image Styles.

OpenAI-kompatibler Endpoint

Wenn du bereits OpenAI-Image-SDKs oder bestehende DALL-E-Integrationen verwendest, unterstützt Venice auch POST /images/generations. Das Request-Format ist einfacher, bietet aber weniger Features als der native Venice-Endpoint. Request:
Nutze die OpenAI-kompatible Route für schnellere Migrationen. Verwende /image/generate, wenn du Venice-spezifische Optionen wie cfg_scale, style_preset, variants oder Binary-Responses brauchst.

Adult-Content-Unschärfe auf /images/generations steuern

Der OpenAI-kompatible Endpoint akzeptiert safe_mode nicht. Wird er gesendet, gibt es einen 400 mit Unrecognized key(s) in object: 'safe_mode'. Nutze stattdessen den OpenAI-typischen Parameter moderation:
safe_mode funktioniert nur auf dem nativen Endpoint POST /image/generate. moderation funktioniert nur auf dem OpenAI-kompatiblen Endpoint POST /images/generations.

Prompting-Tipps

  1. Mit dem Motiv beginnen, dann Medium, Beleuchtung, Komposition und Stimmung ergänzen.
  2. Zu vermeidende Details ins negative_prompt stecken, statt den Hauptprompt zu überladen.
  3. seed beim Iterieren wiederverwenden, um Prompt-Änderungen zu vergleichen, ohne die Komposition komplett zu wechseln.
  4. Größenangabe modellbewusst halten. Manche Modelle nutzen width/height, manche aspect_ratio, Resolution-Tier-Modelle aspect_ratio plus resolution.
  5. variants beim Explorieren nutzen, dann auf eine einzelne Ausgabe zurückwechseln, sobald die Richtung steht.

Fehler

Wenn Safe Venice aktiviert ist, prüfe Response-Header wie x-venice-is-blurred und x-venice-is-content-violation, wenn du Moderationsergebnisse programmatisch erkennen musst.

Verfügbare Modelle

Aktuelle Modellliste, Preise und Feature-Support unter Image-Modelle.