# Bilder aus Text-Prompts erzeugen

🤖/image/generate erzeugt mithilfe von KI Bilder aus Text-Prompts.

![](/assets/images/robots/240x240/image-generate.png?dpl=dpl_Bk7Dvjorxrcz1T7HCPsW3ciNR85C)

## Anwendungsbeispiel

Durch Hochladen eines Originalbilds und eines Maskenbilds ein Bild per Inpainting erzeugen und anschließend beide Dateien in /image/generate verwenden:

![](/_next/static/immutable/media/copy.07djkl_f6nspb.svg)

```
{
  "steps": {
    ":original": {
      "robot": "/upload/handle"
    },
    "inpainted": {
      "robot": "/image/generate",
      "use": [
        {
          "name": ":original",
          "as": "image"
        },
        {
          "name": ":original",
          "as": "mask"
        }
      ],
      "model": "google/nano-banana-pro",
      "prompt": "Replace the masked area with a breaching whale. Keep the rest of the image unchanged.",
      "format": "png"
    }
  }
}
```

## Parameter

* ### `interpolate`

`boolean | Record<string, boolean>`\
Steuert, ob Assembly Variables in einzelnen Anweisungsfeldern interpoliert werden.\
Standardmäßig interpolieren die meisten Anweisungsfelder eines Robots Assembly Variables. Legen Sie hierfür `false` fest, um jedes Anweisungsfeld als Literaltext zu behandeln. Alternativ können Sie für den Pfad eines einzelnen Feldes `false` festlegen, damit nur dieses Feld als Literaltext behandelt wird. Bei Robot-spezifischen Feldern, die standardmäßig literal sind, legen Sie hierfür `true` oder für den entsprechenden Feldpfad `true` fest, um die Interpolation wieder zu aktivieren.\
Verwenden Sie Feldnamen wie `path` oder für verschachtelte Objekte Punktpfade wie `ffmpeg.vf`.

* ### `output_meta`

`Record<string, boolean> | boolean | Array<string>`\
Hier können Sie Metadaten angeben, deren Berechnung mehr CPU-Leistung erfordert. Daher ist diese Funktion standardmäßig deaktiviert, damit Ihre Assemblies schnell verarbeitet werden.\
Für Bilder können Sie diesem Objekt `"has_transparency": true` hinzufügen, um zu ermitteln, ob das Bild transparente Bereiche enthält. Mit `"dominant_colors": true` können Sie außerdem ein Array hexadezimaler Farbcodes aus dem Bild extrahieren.\
Für Bilder können Sie außerdem `"blurhash": true` hinzufügen, um einen [BlurHash](https://blurha.sh) zu extrahieren. Dieser kompakte String repräsentiert einen Platzhalter für das Bild und eignet sich dazu, eine unscharfe Vorschau anzuzeigen, während das vollständige Bild geladen wird.\
Für Videos können Sie den Parameter `"colorspace: true"` hinzufügen, um den Farbraum des Ausgabevideos zu extrahieren.\
Für Videos können Sie außerdem `"interlaced": true` hinzufügen, um zu erkennen, ob das Video im Zeilensprungverfahren vorliegt. Dazu wird das ressourcenschonende ffprobe-Flag `field_order` mit einem auf die ersten Frames der Quelle begrenzten Sampling-Durchlauf über `idet` kombiniert. Unter `file.meta` werden dadurch `interlaced` und `field_order` sowie das Diagnoseobjekt `interlace_detection` bereitgestellt. Dies ist rechenintensiv und wird entsprechend abgerechnet.\
Für Audiodateien können Sie `"mean_volume": true` hinzufügen, um einen einzelnen Wert für die mittlere durchschnittliche Lautstärke der Audiodatei zu erhalten.\
Sie können hierfür auch `false` festlegen, um die Metadatenextraktion zu überspringen und das Transcoding zu beschleunigen.

* ### `queue`

`batch`\
Wenn Sie die Queue auf „batch“ setzen, wird die Priorität der Jobs für diesen Step manuell herabgestuft. So vermeiden Sie, Prioritätskapazitäten für Jobs zu belegen, die keine Wartezeit von null in der Queue benötigen.

* ### `force_accept`

`boolean`(Standard: `false`)\
Erzwingt, dass ein Robot einen Dateityp akzeptiert, den er sonst ignorieren würde.\
Standardmäßig ignorieren Robots Dateien, deren Typ sie nicht kennen.[🤖/video/encode](/de/docs/robots/video-encode.md) ignoriert beispielsweise problemlos Eingabebilder.\
Wenn Sie den Parameter `force_accept` auf `true` setzen, können Sie erzwingen, dass Robots alle übergebenen Dateien akzeptieren. Dies führt in der Regel zu Fehlern und sollte nur zur Fehlersuche oder zur Behandlung von Grenzfällen verwendet werden.

* ### `ignore_errors`

`boolean | Array<meta | execute>`(Standard: `[]`)\
Ignoriert Fehler während bestimmter Verarbeitungsphasen.\
Wenn Sie diesen Wert auf `["meta"]` setzen, ignoriert der Robot Fehler bei der Metadatenextraktion.\
Wenn Sie diesen Wert auf `["execute"]` setzen, ignoriert der Robot Fehler während der Hauptausführungsphase.\
Das Setzen auf `true` entspricht `["meta", "execute"]` und bewirkt, dass Fehler in beiden Phasen ignoriert werden.

* ### `use`

`string | Array<string> | Array<object> | object`\
Gibt an, welche Steps als Eingabe verwendet werden sollen.\
Stellen Sie für Inpainting sowohl das Quellbild als auch die Maske über `use` bereit, in der Regel so:\
![](/_next/static/immutable/media/copy.07djkl_f6nspb.svg)

```json
{  
  "use": [  
    { "name": ":original", "as": "image" },  
    { "name": ":original", "as": "mask" }  
  ]  
}  
```

Bewährte Verfahren:

* Kennzeichnen Sie die Eingaben für Quellbild und Maske explizit mit `as` (oder aussagekräftigen Upload-Feldnamen)
* Konzentrieren Sie den Prompt darauf, was sich im maskierten bzw. transparenten Bereich ändern soll
* Verwenden Sie die Voreinstellungen des Robots für die Modell- und Anbieterauswahl, sofern Sie keinen konkreten Bedarf haben
* ### `model`

`string`\
Das zu verwendende KI-Modell. Standardmäßig wird `google/nano-banana` verwendet. Zu den unterstützten Modellen gehören `flux-1.1-pro-ultra`, `flux-schnell`, `recraft-v3`, `google/nano-banana`, `google/nano-banana-2`, `google/nano-banana-pro`, `openai/gpt-image-2` und `stability-ai/stable-diffusion-inpainting`. Aus Gründen der Abwärtskompatibilität wird auch der veraltete Alias `gpt-image-2` akzeptiert.

* ### `prompt` — **erforderlich**

`string`\
Prompt, der das gewünschte Bild beschreibt. Beschreiben Sie beim Inpainting, was im maskierten bzw. transparenten Bereich erscheinen soll und dass der Rest unverändert bleiben soll.

* ### `format`

`jpeg | jpg | png | gif | webp | svg`\
Ausgabeformat. Die Standardeinstellung hängt vom Modell ab: png für Google-Modelle und openai/gpt-image-2, svg für recraft-v3 und jpeg für andere Modelle. Google-Modelle geben derzeit ausschließlich PNG zurück.

* ### `seed`

`string | number`\
Seed für den Zufallszahlengenerator.

* ### `aspect_ratio`

`string`\
Gewünschtes Seitenverhältnis der Ausgabe. Bei Google-Modellen können auch Breite und Höhe verwendet werden; die Ausrichtung wird automatisch abgeleitet, wenn aspect\_ratio nicht angegeben ist.

* ### `height`

`string | number`\
Gewünschte Ausgabehöhe in Pixeln (wird hauptsächlich von Google-Bildmodellen und openai/gpt-image-2 verwendet).

* ### `width`

`string | number`\
Gewünschte Ausgabebreite in Pixeln (wird hauptsächlich von Google-Bildmodellen und openai/gpt-image-2 verwendet).

* ### `style`

`string`\
Stil des erzeugten Bilds.

* ### `num_outputs`

`string | number`\
Anzahl der zu erzeugenden Ausgabevarianten (1-10).

* ### `provider`

`string`(Standard: `"auto"`)\
Wählt anhand Ihrer Anfrage den besten Anbieter aus

## Demos

* [AI image generation service with custom dimensions EN (English)](/demos/artificial-intelligence/generate-ai-images-in-custom-dimensions/)
* [AI image generation service EN (English)](/demos/artificial-intelligence/generate-images-using-AI/)
* [AI image generation service with multiple variants EN (English)](/demos/artificial-intelligence/generate-multiple-ai-image-variants/)

## Verwandte Blogbeiträge

* [Generate stunning images from text using AI EN (English)](/blog/2025/04/ai-image-generation/) 1. April 2025
