> ## Documentation Index
> Fetch the complete documentation index at: https://docs.venice.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Prompt-Enhancement

> Prompts für Bildgenerierung und -bearbeitung automatisch mit Venices enhance_prompt-Parameter umschreiben, um klärende visuelle Details hinzuzufügen und die Output-Qualität zu verbessern.

Prompt-Enhancement schreibt deinen Prompt vor der Bildgenerierung oder -bearbeitung um und ergänzt klärende visuelle Details. Aus kurzen oder spärlichen Beschreibungen werden so reichhaltigere Prompts, denen Image-Modelle zuverlässiger folgen. Aktiviere es, indem du `enhance_prompt: true` an `POST /image/generate`, `POST /image/edit` oder `POST /image/multi-edit` sendest.

Für die Bildgenerierung ist das dasselbe Enhancement, das auch den „Zauberstab" in der Venice-Web-App antreibt. Für Bildbearbeitungen nutzt ein Vision-fähiger Enhancer das Eingabebild oder die Eingabebilder, um deine Edit-Anweisung zu präzisieren.

## Wann einsetzen

Prompt-Enhancement ist besonders nützlich, wenn:

* Dein Prompt kurz ist (wenige Wörter oder ein einzelner Satz) und du möchtest, dass das Modell Komposition, Beleuchtung und Stimmung ergänzt.
* Du ein Produkt baust, bei dem Endnutzer beiläufige Prompts eingeben, die von einer Erweiterung profitieren.
* Du ein Bild bearbeitest und möchtest, dass die Anweisung mit Bewusstsein für den sichtbaren Inhalt umgeschrieben wird.
* Du konsistentere, detailliertere Ergebnisse willst, ohne lange Prompts von Hand zu schreiben.

Wenn du bereits lange, sorgfältig ausgearbeitete Prompts sendest, hast du in der Regel bessere Kontrolle, wenn du Enhancement ausgeschaltet lässt.

## Schritt 1: Request mit aktiviertem Enhancement senden

Ergänze `enhance_prompt: true` in einer beliebigen Standard-Bildgenerierungsanfrage.

```bash theme={"system"}
curl https://api.venice.ai/api/v1/image/generate \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "venice-sd35",
    "prompt": "a cabin in the woods",
    "enhance_prompt": true,
    "format": "webp"
  }'
```

Venice schreibt `"a cabin in the woods"` in einen detaillierteren Prompt um und verwendet dann den umgeschriebenen Text für die Generierung. Der Rest des Requests verhält sich exakt wie ein normaler Generierungsaufruf.

<Note>
  Enhancement fügt bis zu \~30 Sekunden vor Beginn der Generierung hinzu, weil das Umschreiben von einem separaten Modellaufruf erzeugt wird. Berücksichtige das in Client-Timeouts.
</Note>

## Schritt 2: Enhanced Prompt aus dem Response-Header lesen

Wenn ein Rewrite angewendet wurde, gibt Venice den finalen Prompt URL-kodiert im Response-Header `x-venice-enhanced-prompt` zurück. Dekodiere ihn, um zu sehen, zu loggen oder anzuzeigen, was tatsächlich an das Image-Modell geschickt wurde.

<CodeGroup>
  ```python Python theme={"system"}
  import base64
  import os
  from urllib.parse import unquote

  import requests

  response = requests.post(
      "https://api.venice.ai/api/v1/image/generate",
      headers={
          "Authorization": f"Bearer {os.environ['VENICE_API_KEY']}",
          "Content-Type": "application/json",
      },
      json={
          "model": "venice-sd35",
          "prompt": "a cabin in the woods",
          "enhance_prompt": True,
          "format": "webp",
      },
  )

  data = response.json()

  enhanced = response.headers.get("x-venice-enhanced-prompt")
  if enhanced:
      print("Enhanced prompt:", unquote(enhanced))
  else:
      print("No enhancement was applied; original prompt was used.")

  image_bytes = base64.b64decode(data["images"][0])
  with open("output.webp", "wb") as f:
      f.write(image_bytes)
  ```

  ```javascript Node.js theme={"system"}
  import fs from "fs";

  const response = await fetch("https://api.venice.ai/api/v1/image/generate", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.VENICE_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model: "venice-sd35",
      prompt: "a cabin in the woods",
      enhance_prompt: true,
      format: "webp",
    }),
  });

  const data = await response.json();

  const enhanced = response.headers.get("x-venice-enhanced-prompt");
  if (enhanced) {
    console.log("Enhanced prompt:", decodeURIComponent(enhanced));
  } else {
    console.log("No enhancement was applied; original prompt was used.");
  }

  const imageBuffer = Buffer.from(data.images[0], "base64");
  fs.writeFileSync("output.webp", imageBuffer);
  ```
</CodeGroup>

Der Header `x-venice-enhanced-prompt` ist nur vorhanden, wenn tatsächlich ein Rewrite erzeugt und angewendet wurde. Wenn Enhancement übersprungen wird oder fehlschlägt, fehlt der Header und dein ursprünglicher Prompt wird verwendet.

## Enhancement für Bildbearbeitungen nutzen

Die Edit-Endpoints verwenden einen Vision-fähigen Enhancer, der das Eingabebild oder die Eingabebilder analysiert, bevor die Anweisung umgeschrieben wird. Das hilft, einen kurzen Wunsch wie `"make it winter"` in einen präziseren Edit zu übersetzen und dabei relevante Motive und die Komposition zu erhalten.

Für einen Single-Image-Edit füge `enhance_prompt` in einem JSON- oder Multipart-Request hinzu:

```bash theme={"system"}
curl https://api.venice.ai/api/v1/image/edit \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -o edited.png \
  -d '{
    "image": "https://example.com/cabin.jpg",
    "prompt": "make it winter",
    "enhance_prompt": true
  }'
```

Für Multi-Edit verwende denselben Parameter mit dem `images`-Array:

```bash theme={"system"}
curl https://api.venice.ai/api/v1/image/multi-edit \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -o edited.png \
  -d '{
    "images": [
      "https://example.com/cabin.jpg",
      "https://example.com/snow-reference.jpg"
    ],
    "prompt": "make the first image match this winter atmosphere",
    "enhance_prompt": true
  }'
```

Beide Edit-Endpoints geben das bearbeitete Bild als Binärdaten zurück. Wie bei der Generierung kannst du `x-venice-enhanced-prompt` auslesen und URL-dekodieren, um den angewendeten Rewrite zu sehen.

## Verhalten

| Aspekt                 | Verhalten                                                                                                                                                                                                    |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Unterstützte Endpoints | `POST /image/generate`, `POST /image/edit` und `POST /image/multi-edit`                                                                                                                                      |
| Default                | `enhance_prompt` ist standardmäßig `false`; Enhancement passiert nie, außer du aktivierst es.                                                                                                                |
| Fail-Open              | Wenn der Rewrite aus irgendeinem Grund fehlschlägt, wird die Generierung oder Bearbeitung mit deinem ursprünglichen Prompt fortgesetzt. Der Request bricht wegen des Enhancements nicht mit einem Fehler ab. |
| Bild-bewusste Edits    | Bei Edit-Requests analysiert der Enhancer das übergebene Bild oder die Bilder beim Umschreiben der Anweisung.                                                                                                |
| Zeichenlimit           | Bei der Generierung wird der Enhanced Prompt auf das `promptCharacterLimit` des gewählten Modells gekürzt (siehe [Models-API](/api-reference/endpoint/models/list)).                                         |
| Safe Mode              | Bei Generierungs-Requests wird `safe_mode` beim Enhancement berücksichtigt. Mit `safe_mode: true` bleibt der Rewrite SFW.                                                                                    |
| Response-Header        | Wenn angewendet, wird der finale Prompt URL-kodiert in `x-venice-enhanced-prompt` zurückgegeben.                                                                                                             |

## Preise

Prompt-Enhancement wird als pauschaler Aufschlag von **\$0,04 pro angewendetem Rewrite** zusätzlich zu den normalen Bildgenerierungskosten berechnet.

Abrechnungsregeln:

* Berechnet wird nur, wenn tatsächlich ein Rewrite erzeugt und angewendet wird. Wenn Enhancement übersprungen wird oder auf deinen ursprünglichen Prompt zurückfällt, fällt kein Aufschlag an.
* Der Aufschlag wird auf dem Erfolgs-Pfad des Bildes abgerechnet. Wenn die Generierung mit einem Content-Verstoß endet, wird das Enhancement nicht berechnet.
* Wenn du mit `variants` mehrere Bilder anforderst, wird der gemeinsame Rewrite **höchstens einmal** pro Request abgerechnet, nicht einmal pro Variante.

Siehe [Preise](/overview/pricing) für die Basiskosten der Bildgenerierung.

## Enhancement zusammen mit Variants nutzen

Enhancement passt gut zu `variants`, wenn du eine Idee erkundest: Ein einziger Rewrite wird erzeugt und dann über alle Varianten hinweg wiederverwendet, sodass du den Aufschlag von \$0,04 nur einmal zahlst.

```bash theme={"system"}
curl https://api.venice.ai/api/v1/image/generate \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "venice-sd35",
    "prompt": "a cabin in the woods",
    "enhance_prompt": true,
    "variants": 4
  }'
```

<Note>
  `variants` wird nur unterstützt, wenn `return_binary` auf `false` steht. Details siehe [Bildgenerierung](/guides/media/image-generation).
</Note>

## Prompting-Tipps

1. Halte deinen Eingabe-Prompt auf das Motiv und alle nicht verhandelbaren Details fokussiert. Enhancement ergänzt Stil, Beleuchtung und Komposition drumherum.
2. Logge während der Entwicklung den Header `x-venice-enhanced-prompt`, damit du lernst, was Enhancement hinzufügt, und entscheiden kannst, wann du lieber selbst Prompts schreibst.
3. Für reproduzierbare Generierungsergebnisse über einen Batch hinweg: einmal mit Enhancement generieren, den Enhanced Prompt aus dem Header übernehmen und dann exakt diesen Text mit ausgeschaltetem `enhance_prompt` wiederverwenden.
4. Für die Bildgenerierung kombiniere den übernommenen Prompt mit einem festen `seed`, um andere Parameteränderungen zu vergleichen, ohne den Rewrite erneut zu erzeugen.

## Fehler

Enhancement selbst fällt auf den ursprünglichen Prompt zurück und liefert keine eigenen Fehlercodes. Die üblichen Fehler der Bildgenerierung gelten weiterhin.

| Status | Bedeutung                                                                        | Aktion                                                                          |
| ------ | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| `400`  | Ungültige Request-Parameter                                                      | Feldnamen, Typen und modellspezifische Einschränkungen prüfen                   |
| `401`  | Authentifizierung fehlgeschlagen oder Modell erfordert eine höhere Zugriffsstufe | API-Schlüssel und Modellzugriff prüfen                                          |
| `402`  | Unzureichendes Guthaben                                                          | Credits unter [venice.ai/settings/api](https://venice.ai/settings/api) aufladen |
| `429`  | Rate-Limit überschritten oder Modell überlastet                                  | Mit Backoff erneut versuchen; `Retry-After`-Header beachten                     |
| `500`  | Inferenz-Verarbeitung fehlgeschlagen                                             | Request wiederholen                                                             |
| `503`  | Modell ausgelastet                                                               | Nach kurzer Verzögerung erneut versuchen                                        |

Details in der vollständigen Referenz [Fehlercodes](/api-reference/error-codes).

## Verwandt

* [Bildgenerierung](/guides/media/image-generation) — der vollständige Generierungs-Guide, inklusive Größen, Styles und Binär-Antworten.
* [Bildbearbeitung](/guides/media/image-editing) — Single-Image-Edits, mehrschichtige Multi-Edit-Requests und Binär-Antworten.
* [Bilder generieren (API-Referenz)](/api-reference/endpoint/image/generate) — alle Request- und Response-Felder für `POST /image/generate`.
* [Bild bearbeiten (API-Referenz)](/api-reference/endpoint/image/edit) — Request-Felder für `POST /image/edit`.
* [Multi-Edit Bild (API-Referenz)](/api-reference/endpoint/image/multi-edit) — Request-Felder für `POST /image/multi-edit`.
* [Image-Modelle](/models/image) — Modellliste, Preise und `promptCharacterLimit` pro Modell.
