

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Modelle von Stability AI
<a name="model-parameters-stability-diffusion"></a>

In diesem Abschnitt werden die Anforderungsparameter und Antwortfelder für Modelle von Stability AI beschrieben. Verwenden Sie diese Informationen, um im Rahmen der Operation Inferenzrufe an Stability AI-Modelle durchzuführen. [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) Dieser Abschnitt enthält auch Python-Codebeispiele, die zeigen, wie Stability-AI-Modelle aufgerufen werden. Sie benötigen die Modell-ID für das Modell, um ein Modell in einer Inferenzoperation verwenden zu können. Informationen zum Abrufen der Modell-ID finden Sie unter [Unterstützte Basismodelle in Amazon Bedrock](models-supported.md). Einige Modelle funktionieren auch mit der [Converse-API](conversation-inference.md). Informationen darüber, ob die Converse-API ein bestimmtes Stability-AI-Modell unterstützt, finden Sie unter [Unterstützte Modelle und Modellfeatures](conversation-inference-supported-models-features.md). Weitere Codebeispiele finden Sie unter [Codebeispiele für Amazon Bedrock mit AWS SDKs](service_code_examples.md).

Basismodelle in Amazon Bedrock unterstützen Eingabe- und Ausgabemodalitäten, die von Modell zu Modell variieren. Informationen zu den Modalitäten, die von Stability-AI-Modellen unterstützt werden, finden Sie unter [Unterstützte Basismodelle in Amazon Bedrock](models-supported.md). Informationen darüber, welche Amazon-Bedrock-Features die Stability-AI-Modelle unterstützen, finden Sie unter [Unterstützte Basismodelle in Amazon Bedrock](models-supported.md). Informationen darüber, AWS in welchen Regionen Stability AI-Modelle verfügbar sind, finden Sie unter[Unterstützte Basismodelle in Amazon Bedrock](models-supported.md).

Wenn Sie Inferenzaufrufe mit Stability-AI-Modellen tätigen, schließen Sie einen Prompt für das Modell ein. Allgemeine Informationen zum Erstellen von Prompts für die Modelle, die von Amazon Bedrock unterstützt werden, finden Sie unter [Prompt-Engineering-Konzepte](prompt-engineering-guidelines.md). Für Stability-AI-spezifische Informationen zu Prompts finden Sie im [Handbuch zu Prompt-Engineering von Stability AI](https://platform.stability.ai/docs/getting-started).

## Unterstützte Modelle und Bildservices
<a name="supported-stability-models"></a>

Amazon Bedrock unterstützt die folgenden Modelle und Bildservices von Stability AI.

**Anmerkung**  
Der Support für alle anderen Modelle von Stability AI wird nach und nach eingestellt.


| Modell | Anwendungsfälle | Beispiel | 
| --- | --- | --- | 
|  [Stable Image Ultra](model-parameters-diffusion-stable-ultra-text-image-request-response.md)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-stability-diffusion.html)  |  Eine Luxusmarke verwendet Stable Image Ultra, um atemberaubende Bilder ihrer neuesten Kollektion für Magazinausgaben zu erstellen und so ein erstklassiges Erscheinungsbild zu gewährleisten, das ihren hohen Standards entspricht.  | 
|  [Stable Diffusion 3.5 Large](model-parameters-diffusion-3-5-large.md)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-stability-diffusion.html)  |  Ein Spieleentwicklungsteam verwendet SD3 .5 Large, um detaillierte Umgebungstexturen und Charakterkonzepte zu erstellen und so die kreative Pipeline zu beschleunigen.  | 
|  [Stable Image Core](model-parameters-diffusion-stable-image-core-text-image-request-response.md)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-stability-diffusion.html)  |  Ein Online-Händler verwendet Stable Image Core, um schnell Produktbilder für Neuankömmlinge zu generieren, sodass er Artikel schneller anbieten und seinen Katalog verwalten kann. up-to-date  | 
|  [Stability AI Image Services](stable-image-services.md)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-stability-diffusion.html)  |  Ein Medienunternehmen verwendet Such- und Umfärbungsverfahren, die Übertragung von Stilen und das Entfernen von Hintergründen, um Variationen von Bildern für eine Werbekampagne zu erstellen.  | 

**Topics**
+ [Unterstützte Modelle und Bildservices](#supported-stability-models)
+ [Anforderung und Antwort von Stable Image Ultra](model-parameters-diffusion-stable-ultra-text-image-request-response.md)
+ [Stability.ai Stable Diffusion 3,5 Large](model-parameters-diffusion-3-5-large.md)
+ [Anforderung und Antwort von Stable Image Core](model-parameters-diffusion-stable-image-core-text-image-request-response.md)
+ [Stability AI Image Services](stable-image-services.md)

# Anforderung und Antwort von Stable Image Ultra
<a name="model-parameters-diffusion-stable-ultra-text-image-request-response"></a>

Der Anforderungstext wird im `body` Feld einer Anforderung an den [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)Vorgang übergeben. 

**Feld für den Hauptteil der Modellaufrufanforderung**

Wenn Sie mit einem Stable Image Ultra-Modell einen InvokeModel Anruf tätigen, füllen Sie das Textfeld mit einem JSON-Objekt, das wie das folgende aussieht. 
+ **prompt** – (Zeichenfolge) Was im Ausgabebild angezeigt werden soll. Ein starker, aussagekräftiger Prompt, der Elemente, Farben und Motive klar definiert, führt zu besseren Ergebnissen.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-diffusion-stable-ultra-text-image-request-response.html)

**Textfeld für Modellaufrufantworten**

Wenn Sie einen `InvokeModel`-Aufruf mit einem Stable Image Ultra-Modell tätigen, sieht die Antwort wie folgt aus. 

```
{
         'seeds': [2130420379], 
         "finish_reasons":[null], 
         "images":["..."]
     }
```

Eine Antwort mit einem abschließenden Grund, der nicht `null` ist, sieht wie folgt aus:

```
{
         "finish_reasons":["Filter reason: prompt"]
     }
```
+ **seeds** – (Zeichenfolge) Seed-Liste zum Generieren von Bildern für das Modell
+ **finish\$1reasons** – Aufzählung, die angibt, ob die Anforderung gefiltert wurde oder nicht. `null` gibt an, dass die Anforderung erfolgreich war. Aktuelle mögliche Werte: `"Filter reason: prompt", "Filter reason: output image", "Filter reason: input image", "Inference error", null`.
+ **images** – Eine Liste generierter Bilder im base64-Zeichenfolgenformat.

Weitere Informationen finden Sie unter [https://platform.us.stability. ai/docs/api-reference\$1tag/v1 Generation](https://platform.us.stability.ai/docs/api-reference#tag/v1generation).

------
#### [ Text to image ]

Das Modell Stability.ai Stable Image Ultra hat die folgenden Inferenzparameter für einen text-to-image Inferenzaufruf. 
+ **prompt** – (Zeichenfolge) Was im Ausgabebild angezeigt werden soll. Ein starker, aussagekräftiger Prompt, der Elemente, Farben und Motive klar definiert, führt zu besseren Ergebnissen.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-diffusion-stable-ultra-text-image-request-response.html)

**Optionale Felder**
+ **aspect\$1ratio** – (Zeichenfolge) steuert das Seitenverhältnis des generierten Bildes. Dieser Parameter ist nur für text-to-image Anfragen gültig. Standard: 1:1 Aufzählung: 16:9, 1:1, 21:9, 2:3, 3:2, 4:5, 5:4, 9:16, 9:21.
+ **Modus** — Eingestellt auf text-to-image. Standard: text-to-image. Aufzählung: `text-to-image`.
+ **output\$1format** – Gibt das Format des Ausgabebilds an. Unterstützte Formate: JPEG, PNG. Unterstützte Dimensionen: Höhe 640 bis 1 536 Pixel, Breite 640 bis 1 536 Pixel.
+ **seed** – (Zahl) Ein bestimmter Wert, der als Richtwert für die „Zufälligkeit“ der Generierung dient. (Lassen Sie diesen Parameter weg oder übergeben Sie „0“, um einen zufälligen Seed-Wert zu verwenden.) Der Bereich liegt zwischen 0 und 4294967295.
+ **negative\$1prompt** – Schlüsselwörter für das, was Sie im Ausgabebild nicht sehen möchten. Maximum: 10 000 Zeichen.

```
import boto3
       import json
       import base64
       import io
       from PIL import Image
       
       bedrock = boto3.client('bedrock-runtime', region_name='us-west-2')
       response = bedrock.invoke_model(
           modelId='stability.sd3-ultra-v1:1',
           body=json.dumps({
               'prompt': 'A car made out of vegetables.'
           })
       )
       output_body = json.loads(response["body"].read().decode("utf-8"))
       base64_output_image = output_body["images"][0]
       image_data = base64.b64decode(base64_output_image)
       image = Image.open(io.BytesIO(image_data))
       image.save("image.png")
```

------
#### [ Image to image ]

Das Modell Stability.ai Stable Image Ultra hat die folgenden Inferenzparameter für einen image-to-image Inferenzaufruf.
+ **prompt** – (Zeichenfolge) Was im Ausgabebild angezeigt werden soll. Ein starker, aussagekräftiger Prompt, der Elemente, Farben und Motive klar definiert, führt zu besseren Ergebnissen.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-diffusion-stable-ultra-text-image-request-response.html)

**Optionale Felder**
+ **image** – Das Base64-Bild, das als Ausgangspunkt für die Generierung verwendet werden soll. Unterstützte Formate: JPEG, PNG, WebP.
+ **strength** – (Zahl) Wie viel Einfluss der Bildparameter auf das generierte Bild hat. Bilder mit niedrigeren strength-Werten ähneln eher dem Originalbild. Wertebereich: 0,0–1,0. Standard: 0,35.
+ **aspect\$1ratio** – (Zeichenfolge) steuert das Seitenverhältnis des generierten Bildes. Dieser Parameter ist nur für text-to-image Anfragen gültig. Standard: 1:1 Aufzählung: 16:9, 1:1, 21:9, 2:3, 3:2, 4:5, 5:4, 9:16, 9:21.
+ **output\$1format** – Gibt das Format des Ausgabebilds an. Unterstützte Formate: JPEG, PNG. Unterstützte Dimensionen: Höhe 640 bis 1 536 Pixel, Breite 640 bis 1 536 Pixel.
+ **seed** – (Zahl) Ein bestimmter Wert, der als Richtwert für die „Zufälligkeit“ der Generierung dient. (Lassen Sie diesen Parameter weg oder übergeben Sie „0“, um einen zufälligen Seed-Wert zu verwenden.) Der Bereich liegt zwischen 0 und 4294967295.
+ **negative\$1prompt** – Schlüsselwörter für das, was Sie im Ausgabebild nicht sehen möchten. Maximum: 10 000 Zeichen.

```
import boto3
       import json
       import base64
       import io
       from PIL import Image
       
       bedrock = boto3.client('bedrock-runtime', region_name='us-west-2')
       response = bedrock.invoke_model(
           modelId='stability.sd3-ultra-v1:1',
           body=json.dumps({
               'prompt': 'A car made out of vegetables.'
           })
       )
       output_body = json.loads(response["body"].read().decode("utf-8"))
       base64_output_image = output_body["images"][0]
       image_data = base64.b64decode(base64_output_image)
       image = Image.open(io.BytesIO(image_data))
       image.save("image.png")
```

------

# Stability.ai Stable Diffusion 3,5 Large
<a name="model-parameters-diffusion-3-5-large"></a>

Das Modell Stable Diffusion 3.5 Large verwendet 8 Milliarden Parameter und unterstützt die Ausgabe text-to-image und image-to-image Generierung mit einer Auflösung von 1 Megapixel.

Der Text der Anfrage wird im `body` Feld einer Anfrage an [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)übergeben. 

**Feld für den Hauptteil der Modellaufrufanforderung**

Wenn Sie mit einem Stable Diffusion 3.5 Large-Modell einen InvokeModel Anruf tätigen, füllen Sie das Textfeld mit einem JSON-Objekt, das wie das folgende aussieht.
+ **prompt** – (Zeichenfolge) Textbeschreibung des gewünschten Ausgabebildes Maximal 10.000 Zeichen.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-diffusion-3-5-large.html)

**Textfeld für Modellaufrufantworten**

Wenn Sie einen `InvokeModel`-Aufruf mit einem Stable Diffusion 3.5 Large-Modell tätigen, sieht die Antwort wie folgt aus.

```
{
    'seeds': [2130420379], 
    "finish_reasons":[null], 
    "images":["..."]
}
```

Eine Antwort mit einem abschließenden Grund, der nicht `null` ist, sieht wie folgt aus:

```
{
    "finish_reasons":["Filter reason: prompt"]
}
```
+ **seeds** – (Zeichenfolge) Seed-Liste zum Generieren von Bildern für das Modell
+ **finish\$1reasons** – Aufzählung, die angibt, ob die Anforderung gefiltert wurde oder nicht. `null` gibt an, dass die Anforderung erfolgreich war. Aktuelle mögliche Werte: `"Filter reason: prompt", "Filter reason: output image", "Filter reason: input image", "Inference error", null`.
+ **images** – Eine Liste generierter Bilder im base64-Zeichenfolgenformat.

------
#### [ Text to image ]

Das Modell Stability.ai Stable Diffusion 3.5 Large hat die folgenden Inferenzparameter für einen text-to-image Inferenzaufruf.
+ **prompt** (string) — Textbeschreibung des gewünschten Ausgabebildes. Maximal 10.000 Zeichen.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-diffusion-3-5-large.html)

**Optionale Parameter**
+ **aspect\$1ratio** (string) — Steuert das Seitenverhältnis des generierten Bildes. Gilt nur für Anfragen text-to-image. Aufzählung: 16:9, 1:1, 21:9, 2:3, 3:2, 4:5, 5:4, 9:16, 9:21. Standard: 1:1
+ **mode** (string) (GenerationMode) — Standard: text-to-image. Enum: image-to-image oder text-to-image. Steuert, ob es sich um eine text-to-image image-to-image Oder-Generation handelt, was sich darauf auswirkt, welche Parameter erforderlich sind:
  + text-to-image benötigt nur den Prompt-Parameter.
  + image-to-image benötigt die Parameter prompt, image und strength.
+ **seed** (number) — Wert zur Steuerung der Zufälligkeit bei der Generierung. Der Bereich liegt zwischen 0 und 4294967294. Standard 0 (zufälliger Startwert).    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-diffusion-3-5-large.html)
+ **negative\$1prompt** (string) — Text, der Elemente beschreibt, die aus dem Ausgabebild ausgeschlossen werden sollen. Maximal 10.000 Zeichen.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-diffusion-3-5-large.html)
+ **output\$1format** (string) — Ausgabebildformat. Aufzählung: jpeg, png, webp. Standard: png

```
import boto3
import json

bedrock = boto3.client('bedrock-runtime', region_name='us-west-2')
response = bedrock.invoke_model(
    modelId='stability.sd3-5-large-v1:0',
    body=json.dumps({
        'prompt': 'A car made out of vegetables.'
    })
)
```

------
#### [ Image to image ]

Das Modell Stability.ai Stable Diffusion 3.5 Large hat die folgenden Inferenzparameter für einen image-to-image Inferenzaufruf.
+ **prompt** (string) — Textbeschreibung des gewünschten Ausgabebildes. Maximal 10.000 Zeichen.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-diffusion-3-5-large.html)
+ **image** (string) — Base64-kodiertes Eingabebild. Mindestens 64 Pixel pro Seite. Unterstützte Formate: JPEG, PNG, WebP.
+ **mode** (string) (GenerationMode) — Standard:. text-to-image Enum: image-to-image oder text-to-image. Steuert, ob es sich um eine text-to-image image-to-image Oder-Generation handelt, was sich darauf auswirkt, welche Parameter erforderlich sind:
  + text-to-image benötigt nur den Prompt-Parameter.
  + image-to-image benötigt die Parameter prompt, image und strength.
+ **Stärke** (Zahl) — Steuert den Einfluss des Eingabebilds auf die Ausgabe. Der Bereich liegt zwischen 0 und 1. Bei einem Wert von 0 wird das Eingabebild beibehalten, bei einem Wert von 1 wird das Eingabebild ignoriert.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-diffusion-3-5-large.html)
+ **seed** (number) — Wert zur Steuerung der Zufälligkeit bei der Generierung. Der Bereich liegt zwischen 0 und 4294967294. Standard 0 (zufälliger Startwert).    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-diffusion-3-5-large.html)
+ **negative\$1prompt** (string) — Text, der Elemente beschreibt, die aus dem Ausgabebild ausgeschlossen werden sollen. Maximal 10.000 Zeichen.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-diffusion-3-5-large.html)
+ **output\$1format** (string) — Ausgabebildformat. Aufzählung: jpeg, png, webp. Standard: png

```
import boto3
import base64
import json

# Load and encode image
with open('input_image.jpg', 'rb') as image_file:
    image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

bedrock = boto3.client('bedrock-runtime', region_name='us-west-2')
response = bedrock.invoke_model(
    modelId='stability.sd3-5-large-v1:0',
    body=json.dumps({
        'prompt': 'A car made out of vegetables.',
        'image': image_base64,
        'strength': 0.7
    })
)
```

------

# Anforderung und Antwort von Stable Image Core
<a name="model-parameters-diffusion-stable-image-core-text-image-request-response"></a>

Der Anfragetext wird im `body` Feld einer Anfrage an übergeben [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html). 

**Feld für den Hauptteil der Modellaufrufanforderung**

Wenn Sie mit einem Stability AI Stable Diffusion Stable Image Core-Modell einen InvokeModel Anruf tätigen, füllen Sie das Textfeld mit einem JSON-Objekt, das wie das folgende aussieht. 

```
{
        'prompt': 'Create an image of a panda'
    }
```

**Textfeld für Modellaufrufantworten**

Wenn Sie mit einem Stability AI Stable Diffusion Stable Image Core-Modell einen InvokeModel Anruf tätigen, sieht die Antwort wie folgt aus 

```
{
        'seeds': [2130420379], 
        'finish_reasons': [null], 
        'images': ['...']
    }
```
+ **seeds** – (Zeichenfolge) Seed-Liste zum Generieren von Bildern für das Modell.
+ **finish\$1reasons** – Aufzählung, die angibt, ob die Anforderung gefiltert wurde oder nicht. `null` gibt an, dass die Anforderung erfolgreich war. Aktuelle mögliche Werte: `"Filter reason: prompt", "Filter reason: output image", "Filter reason: input image", "Inference error", null`.
+ **images** – Eine Liste generierter Bilder im base64-Zeichenfolgenformat.

Weitere Informationen finden Sie unter [https://platform.us.stability. ai/docs/api-reference\$1tag/v1 Generation](https://platform.us.stability.ai/docs/api-reference#tag/v1generation).

------
#### [ Text to image ]

Das Modell Stable Image Core verfügt über die folgenden Inferenzparameter für Text-zu-Bild-Inferenzaufrufe. 

 **text\$1prompts** (erforderlich): Eine Reihe von Textaufforderungen, die für die Generierung verwendet werden sollen. Jedes Element ist ein JSON-Objekt, das eine Eingabeaufforderung und eine Gewichtung der Eingabeaufforderung enthält.
+ **prompt** – (Zeichenfolge) Was im Ausgabebild angezeigt werden soll. Ein starker, aussagekräftiger Prompt, der Elemente, Farben und Motive klar definiert, führt zu besseren Ergebnissen.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/model-parameters-diffusion-stable-image-core-text-image-request-response.html)

**Optionale Felder**
+ **aspect\$1ratio** – (Zeichenfolge) steuert das Seitenverhältnis des generierten Bildes. Dieser Parameter ist nur für text-to-image Anfragen gültig. Standard: 1:1 Aufzählung: 16:9, 1:1, 21:9, 2:3, 3:2, 4:5, 5:4, 9:16, 9:21.
+ **output\$1format** – Gibt das Format des Ausgabebilds an. Unterstützte Formate: JPEG, PNG. Unterstützte Dimensionen: Höhe 640 bis 1 536 Pixel, Breite 640 bis 1 536 Pixel.
+ **seed** – (Zahl) Ein bestimmter Wert, der als Richtwert für die „Zufälligkeit“ der Generierung dient. (Lassen Sie diesen Parameter weg oder übergeben Sie „0“, um einen zufälligen Seed-Wert zu verwenden.) Der Bereich liegt zwischen 0 und 4294967295.
+ **negative\$1prompt** – Schlüsselwörter für das, was Sie im Ausgabebild nicht sehen möchten. Maximum: 10 000 Zeichen.

```
     import boto3
     import json
     import base64
     import io
     from PIL import Image
     
     bedrock = boto3.client('bedrock-runtime', region_name='us-west-2')
     response = bedrock.invoke_model(
         modelId='stability.stable-image-core-v1:0',
         body=json.dumps({
             'prompt': 'A car made out of vegetables.'
         })
     )
     output_body = json.loads(response["body"].read().decode("utf-8"))
     base64_output_image = output_body["images"][0]
     image_data = base64.b64decode(base64_output_image)
     image = Image.open(io.BytesIO(image_data))
     image.save("image.png")
```

------

# Stability AI Image Services
<a name="stable-image-services"></a>

Sie können Stability AI Image Services mit Amazon Bedrock verwenden, um auf dreizehn spezialisierte Bildbearbeitungstools zuzugreifen, die professionelle kreative Workflows beschleunigen sollen. Mit Stability AI Image Services können Sie Bilder aus einer Skizze generieren, ein vorhandenes Bild umstrukturieren und neugestalten oder die in einem Bild enthaltenen Objekte entfernen und ersetzen.

In diesem Abschnitt wird beschrieben, wie Sie mithilfe von Inferenzaufrufen an Stability AI Image Services senden. [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) Dieser Abschnitt enthält auch Codebeispiele in Python sowie Beispiele für Bilder vor und nach der Verwendung von Stability AI Image Services.

Stability AI Image Services sind in den folgenden Kategorien verfügbar:
+ **Bearbeiten** – KI-basierte Bildbearbeitungsservices, einschließlich Inpainting mit Masken (generatives Füllen) oder mit Wörtern. Beinhaltet Tools für Produktplatzierung und Werbung sowie grundlegende Tools wie die Entfernung des Hintergrunds.
+ **Steuerung** – Kann Prompts, Karten und andere Anleitungen verwenden. Diese Dienste nutzen ControlNets und ähnliche Technologien, die auf stabilen Diffusionsmodellen basieren.

**Anmerkung**  
Wenn Sie den Stability AI Image Service abonnieren, bearbeiten oder kontrollieren, werden Sie automatisch für alle dreizehn verfügbaren Stability AI Image Services registriert.

**Topics**
+ [Anforderung und Antwort](#model-parameters-stable-image-services-request-response)
+ [Gehoben](#stable-image-services-upscale)
+ [Bearbeiten](#stable-image-services-edit)
+ [Steuerung](#stable-image-services-control)

## Anforderung und Antwort
<a name="model-parameters-stable-image-services-request-response"></a>

Der Text der Anfrage wird im `body` Feld einer Anfrage an übergeben. [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) 

**Feld für den Hauptteil der Modellaufrufanforderung**

Wenn Sie mit Stability AI Image Services einen InvokeModel Anruf tätigen, füllen Sie das Textfeld mit einem JSON-Objekt aus, das wie das folgende aussieht. 

```
{
    'prompt': 'Create an image of a panda'
}
```

**Textfeld für Modellaufrufantworten**

Wenn Sie mit Stability AI Image Services einen InvokeModel Anruf tätigen, sieht die Antwort wie folgt aus 

```
{
    'seeds': [2130420379], 
    'finish_reasons': [null], 
    'images': ['...']
}
```
+ **seeds** – (Zeichenfolge) Seed-Liste zum Generieren von Bildern für das Modell.
+ **finish\$1reasons** – Aufzählung, die angibt, ob die Anforderung gefiltert wurde oder nicht. `null` gibt an, dass die Anforderung erfolgreich war. Aktuelle mögliche Werte: `"Filter reason: prompt", "Filter reason: output image", "Filter reason: input image", "Inference error", null`.
+ **images** – Eine Liste generierter Bilder im base64-Zeichenfolgenformat.

Weitere Informationen finden Sie unter [https://platform.us.stability. ai/docs/api-reference\$1tag/v1 Generation](https://platform.us.stability.ai/docs/api-reference#tag/v1generation).

## Gehoben
<a name="stable-image-services-upscale"></a>

Im folgenden Abschnitt werden die hochwertigen Stability AI Image Services beschrieben.

### Kreatives, gehobenes Design
<a name="stable-image-services-5"></a>

Creative Upscale nimmt Bilder zwischen 64 x 64 und 1 Megapixel auf und skaliert sie auf eine 4K-Auflösung hoch. Mit diesem Service können Bilder um das 20- bis 40-fache hochskaliert werden, wobei die Qualität erhalten bleibt und häufig sogar verbessert wird. Creative Upscale funktioniert am besten bei stark verschlechterten Bildern und eignet sich nicht für Fotos mit 1 Megapixel oder mehr, da es umfangreiche Bildbearbeitungen erfordert.

Creative Upscale hat die folgenden erforderlichen Parameter:
+ **prompt** – Was im Ausgabebild angezeigt werden soll. Ein starker, aussagekräftiger Prompt, der Elemente, Farben und Motive klar definiert, führt zu besseren Ergebnissen. Um die Gewichtung eines bestimmten Wortes zu steuern, verwenden Sie das Format (word:weight), wobei „word“ das Wort darstellt, dessen Gewichtung Sie steuern möchten, und „weight“ ein Wert ist. Bei den Werten „0“ und „1,0“ wurde das Wort weniger betont und bei einem Wert zwischen „1,1“ und „2“ wurde es hervorgehoben. Zum Beispiel: Der Himmel war klar (blue:0.3) und (green:1.8) würde einen Himmel vermitteln, der blau und grün, jedoch eher grün als blau ist. Mindestens 0 und maximal 10 000 Zeichen.
+ **image** ‐ (string) Das Base64-Bild, das hochskaliert werden soll. Jede Seite des Bilds muss mindestens 64 Pixel groß sein. Die Gesamtpixelzahl muss zwischen 4.096 und 1.048.576 Pixeln liegen. Unterstützte Formate: JPEG, PNG, WebP.

Die folgenden Parameter sind optional:
+ **Kreativität** ‐ (Zahl) Gibt an, wie kreativ das Modell beim Hochskalieren eines Bilds sein sollte. Höhere Werte führen dazu, dass dem Bild beim Hochskalieren mehr Details hinzugefügt werden. Bereich zwischen 0,1 und 0,5. Die Standardeinstellung ist 0,3
+ **negative\$1prompt** – (Zeichenfolge) Ein kurzer Text, der beschreibt, was im Ausgabebild nicht angezeigt werden soll. Dies ist ein erweitertes Feature. Maximal 10000 Zeichen.
+ **seed** – (Zahl) Ein bestimmter Wert, der als Richtwert für die „Zufälligkeit“ der Generierung dient. (Lassen Sie diesen Parameter weg oder übergeben Sie „0“, um einen zufälligen Seed-Wert zu verwenden.) Der Bereich liegt zwischen 0 und 4294967294. Standard: 0
+ **output\$1format** – (Zeichenfolge) Gibt den Inhaltstyp des generierten Bilds vor. Aufzählung: jpeg, png, webp. Standard: png
+ **style\$1preset** – Richtet das Bildmodell auf einen bestimmten Stil aus. Aufzählung: 3d-model, analog-film, anime, cinematic, comic-book, digital-art, enhance, fantasy-art, isometric, line-art, low-poly, modeling-compound, neon-punk, origami, photographic, pixel-art, tile-texture.

------
#### [ API ]

```
import base64
import json
import requests
import io
import os
from PIL import Image

image = "./content/input.jpg"

region = "us-east-1"
model_id = "us.stability.stable-creative-upscale-v1:0"
url = f"https://bedrock-runtime.{region}.amazonaws.com/model/{model_id}/invoke"
api_key = os.getenv("AWS_BEARER_TOKEN_BEDROCK") # https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started-api-keys.html
headers = {
    "Content-Type":"application/json",
    "Authorization":f"Bearer {api_key}"
}

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "prompt": "This dreamlike digital art captures a vibrant, kaleidoscopic Big Ben in London",
        "creativity": 0.30
    }
    response = requests.request("POST", url, json=params, headers=headers)
    response.raise_for_status()
    model_response = json.loads(response.text)
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")
    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------
#### [ Python ]

```
import boto3
import base64
import io
import json
from PIL import Image

image = "./content/input.jpg"

region = "us-east-1"
model_id = "us.stability.stable-creative-upscale-v1:0"

bedrock = boto3.client("bedrock-runtime", region_name=region)

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "prompt": "This dreamlike digital art captures a vibrant, kaleidoscopic Big Ben in London",
        "creativity": 0.30
    }
    request = json.dumps(params)
    response = bedrock.invoke_model(modelId=model_id, body=request)
    model_response = json.loads(response["body"].read())
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")
    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------

Die folgende Tabelle zeigt die Eingabe- und Ausgabebilder eines Creative Upscale-Vorgangs mit der folgenden Eingabeaufforderung: *Diese traumhafte digitale Kunst zeigt einen lebendigen, kaleidoskopischen Vogel in einem* üppigen Regenwald.


|  Input  |  Ausgabe  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/input-creative-upscale.jpg)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/output-creative-upscale.jpg)  | 

### Konservativ, gehoben
<a name="stable-image-services-6"></a>

Conservative Upscale nimmt Bilder zwischen 64 x 64 und 1 Megapixel auf und skaliert sie auf eine 4K-Auflösung hoch. Dieser Service kann Bilder um das 20- bis 40-fache hochskalieren und dabei alle Aspekte beibehalten. Conservative Upscale minimiert Änderungen am Bild und sollte nicht verwendet werden, um ein Bild neu zu erfinden.

Conservative Upscale hat die folgenden erforderlichen Parameter:
+ **prompt** – Was im Ausgabebild angezeigt werden soll. Ein starker, aussagekräftiger Prompt, der Elemente, Farben und Motive klar definiert, führt zu besseren Ergebnissen. Um die Gewichtung eines bestimmten Wortes zu steuern, verwenden Sie das Format (word:weight), wobei „word“ das Wort darstellt, dessen Gewichtung Sie steuern möchten, und „weight“ ein Wert ist. Bei den Werten „0“ und „1,0“ wurde das Wort weniger betont und bei einem Wert zwischen „1,1“ und „2“ wurde es hervorgehoben. Zum Beispiel: Der Himmel war klar (blue:0.3) und (green:1.8) würde einen Himmel vermitteln, der blau und grün, jedoch eher grün als blau ist. Mindestens 0 und maximal 10 000 Zeichen.
+ **image** ‐ (string) Das Base64-Bild, das hochskaliert werden soll. Jede Seite des Bilds muss mindestens 64 Pixel groß sein. Die Gesamtpixelzahl darf 9 437 184 Pixel nicht überschreiten. Das Seitenverhältnis des Bilds muss zwischen 1:2,5 und 2,5:1 liegen. Unterstützte Formate: JPEG, PNG, WebP.

Die folgenden Parameter sind optional:
+ **Kreativität** ‐ (Zahl) Gibt an, wie kreativ das Modell sein sollte, wenn es ein Bild hochskaliert. Höhere Werte führen dazu, dass dem Bild beim Hochskalieren mehr Details hinzugefügt werden. Bereich zwischen 0,1 und 0,5. Die Standardeinstellung ist 0,35
+ **negative\$1prompt** – (Zeichenfolge) Ein kurzer Text, der beschreibt, was im Ausgabebild nicht angezeigt werden soll. Dies ist ein erweitertes Feature. Maximal 10000 Zeichen.
+ **seed** – (Zahl) Ein bestimmter Wert, der als Richtwert für die „Zufälligkeit“ der Generierung dient. (Lassen Sie diesen Parameter weg oder übergeben Sie „0“, um einen zufälligen Seed-Wert zu verwenden.) Der Bereich liegt zwischen 0 und 4294967294. Standard: 0
+ **output\$1format** – (Zeichenfolge) Gibt den Inhaltstyp des generierten Bilds vor. Aufzählung: jpeg, png, webp. Standard: png

------
#### [ API ]

```
import base64
import json
import requests
import io
import os
from PIL import Image

image = "./content/input.jpg"

region = "us-east-1"
model_id = "us.stability.stable-conservative-upscale-v1:0"
url = f"https://bedrock-runtime.{region}.amazonaws.com/model/{model_id}/invoke"
api_key = os.getenv("AWS_BEARER_TOKEN_BEDROCK") # https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started-api-keys.html
headers = {
    "Content-Type":"application/json",
    "Authorization":f"Bearer {api_key}"
}

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "prompt": "This dreamlike digital art captures a vibrant, kaleidoscopic Big Ben in London",
        "creativity": 0.30
    }
    response = requests.request("POST", url, json=params, headers=headers)
    response.raise_for_status()
    model_response = json.loads(response.text)
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")
    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------
#### [ Python ]

```
import boto3
import base64
import io
import json
from PIL import Image

image = "./content/input.jpg"

region = "us-east-1"
model_id = "us.stability.stable-conservative-upscale-v1:0"

bedrock = boto3.client("bedrock-runtime", region_name=region)

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "prompt": "This dreamlike digital art captures a vibrant, kaleidoscopic Big Ben in London",
        "creativity": 0.30
    }
    request = json.dumps(params)
    response = bedrock.invoke_model(modelId=model_id, body=request)
    model_response = json.loads(response["body"].read())
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")
    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------

Die folgende Tabelle zeigt die Eingabe- und Ausgabebilder einer Operation im Bereich Conservative Upscale unter Verwendung der folgenden Eingabeaufforderung: *Foto eines riesigen Huhns in einem Wald*.


|  Input  |  Ausgabe  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/input-conservative-upscale.jpg)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/output-conservative-upscale.jpg)  | 

### Schnelles Hochskalieren
<a name="stable-image-services-7"></a>

Fast Upscale verbessert die Bildauflösung mithilfe prädiktiver und generativer KI um das Vierfache. Dieser einfache und schnelle Dienst eignet sich ideal zur Verbesserung der Qualität komprimierter Bilder und eignet sich daher für Beiträge in sozialen Medien und andere Anwendungen.

Für Fast Upscale sind die folgenden Parameter erforderlich:
+ **image** ‐ (string) Das Base64-Bild, das hochskaliert werden soll. Die Breite muss zwischen 32 und 1.536 Pixeln liegen. Die Höhe muss zwischen 32 und 1.536 Pixeln liegen. Die Gesamtpixelzahl muss zwischen 1.024 und 1.048.576 Pixeln liegen. Unterstützte Formate: JPEG, PNG, WebP.
+ **output\$1format** – (Zeichenfolge) Gibt den Inhaltstyp des generierten Bilds vor. Aufzählung: jpeg, png, webp. Standard: png

------
#### [ API ]

```
import base64
import json
import requests
import io
import os
from PIL import Image

image = "./content/input.jpg"

region = "us-east-1"
model_id = "us.stability.stable-fast-upscale-v1:0"
url = f"https://bedrock-runtime.{region}.amazonaws.com/model/{model_id}/invoke"
api_key = os.getenv("AWS_BEARER_TOKEN_BEDROCK") # https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started-api-keys.html
headers = {
    "Content-Type":"application/json",
    "Authorization":f"Bearer {api_key}"
}

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64
    }
    response = requests.request("POST", url, json=params, headers=headers)
    response.raise_for_status()
    model_response = json.loads(response.text)
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")
    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------
#### [ Python ]

```
import boto3
import base64
import io
import json
from PIL import Image

image = "./content/input.jpg"

region = "us-east-1"
model_id = "us.stability.stable-fast-upscale-v1:0"

bedrock = boto3.client("bedrock-runtime", region_name=region)

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64
    }
    request = json.dumps(params)
    response = bedrock.invoke_model(modelId=model_id, body=request)
    model_response = json.loads(response["body"].read())
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")
    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------

Die folgende Tabelle zeigt die Eingabe- und Ausgabebilder eines Fast-Upscale-Vorgangs.


|  Input  |  Ausgabe  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/input-fast-upscale.jpg)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/output-fast-upscale.jpg)  | 

## Bearbeiten
<a name="stable-image-services-edit"></a>

Im folgenden Abschnitt wird die Bearbeitung von Stability AI Image Services beschrieben.

### Inpaint
<a name="stable-image-services-8"></a>

Mit Inpaint werden Bilder auf intelligente Weise geändert, indem bestimmte Bereiche ausgefüllt oder durch neuen Inhalt ersetzt werden, der auf dem Inhalt eines Maskenbilds basiert.

Inpaint verfügt über die folgenden erforderlichen Parameter:
+ **prompt** – Was im Ausgabebild angezeigt werden soll. Ein starker, aussagekräftiger Prompt, der Elemente, Farben und Motive klar definiert, führt zu besseren Ergebnissen. Um die Gewichtung eines bestimmten Wortes zu steuern, verwenden Sie das Format (word:weight), wobei „word“ das Wort darstellt, dessen Gewichtung Sie steuern möchten, und „weight“ ein Wert ist. Bei den Werten „0“ und „1,0“ wurde das Wort weniger betont und bei einem Wert zwischen „1,1“ und „2“ wurde es hervorgehoben. Zum Beispiel: Der Himmel war klar (blue:0.3) und (green:1.8) würde einen Himmel vermitteln, der blau und grün, jedoch eher grün als blau ist. Mindestens 0 und maximal 10 000 Zeichen.
+ **image** – (Zeichenfolge) Das Base64-Bild, für das Inpainting durchgeführt werden soll. Jede Seite des Bilds muss mindestens 64 Pixel groß sein. Die Gesamtpixelzahl darf 9 437 184 Pixel nicht überschreiten. Das Seitenverhältnis des Bilds muss zwischen 1:2,5 und 2,5:1 liegen. Unterstützte Formate: JPEG, PNG, WebP.

Die folgenden Parameter sind optional:
+ **style\$1preset** – (Zeichenfolge) Richtet das Bildmodell auf einen bestimmten Stil aus. Aufzählung: 3d-model, analog-film, anime, cinematic, comic-book, digital-art, enhance, fantasy-art, isometric, line-art, low-poly, modeling-compound, neon-punk, origami, photographic, pixel-art, tile-texture.
+ **negative\$1prompt** – (Zeichenfolge) Ein kurzer Text, der beschreibt, was im Ausgabebild nicht angezeigt werden soll. Dies ist ein erweitertes Feature. Maximal 10000 Zeichen.
+ **seed** – (Zahl) Ein bestimmter Wert, der als Richtwert für die „Zufälligkeit“ der Generierung dient. (Lassen Sie diesen Parameter weg oder übergeben Sie „0“, um einen zufälligen Seed-Wert zu verwenden.) Der Bereich liegt zwischen 0 und 4294967294. Standard: 0
+ **output\$1format** – (Zeichenfolge) Gibt den Inhaltstyp des generierten Bilds vor. Aufzählung: jpeg, png, webp. Standard: png
+ **mask** – (Zeichenfolge) Steuert die Stärke des Inpainting-Prozesses pro Pixel, entweder über ein zweites Bild (das an diesen Parameter übergeben wird) oder über den Alphakanal des Bildparameters.
  + **Maske übergeben** – Das an diesen Parameter übergebene Bild sollte ein Schwarzweißbild sein, das an jedem Pixel die Inpainting-Stärke darstellt, basierend darauf, wie dunkel oder hell das jeweilige Pixel ist. Vollständig schwarze Pixel stellen keine Inpainting-Stärke dar, vollständig weiße Pixel stehen hingegeben für maximale Stärke. Falls die Maske eine andere Größe als der Bildparameter aufweist, wird ihre Größe automatisch angepasst.
  + **Alphakanal-Unterstützung** – Wenn Sie keine explizite Maske angeben, wird eine aus dem Alphakanal des Bildparameters abgeleitet. Für transparente Pixel erfolgt ein Inpainting, undurchsichtige Pixel hingegeben werden beibehalten. Falls ein Bild mit einem Alphakanal zusammen mit einer Maske bereitgestellt wird, hat die Maske Vorrang.
+ **grow\$1mask** – Vergrößert die Kanten der Maske nach außen in alle Richtungen um die angegebene Anzahl von Pixeln. Der erweiterte Bereich um die Maske herum wird unscharf, was dazu beitragen kann, den Übergang zwischen Inhalt, für den ein Inpainting durchgeführt wurde, und dem Originalbild zu glätten. Der Bereich liegt zwischen 0 und 20. Standard: 5 Probieren Sie diesen Parameter aus, wenn Sie am Inhalt, für den kein Inpainting durchgeführt wurde, Übergänge oder raue Kanten bemerken. Beachten Sie, dass durch übermäßiges Wachstum feine Details in der and/or Maskenverschmelzung in der Nähe maskierter Bereiche verdeckt werden können.

------
#### [ API ]

```
import base64
import json
import requests
import io
import os
from PIL import Image

image = "./content/input.png"
mask = "./content/mask.png"

region = "us-east-1"
model_id = "us.stability.stable-image-inpaint-v1:0"
url = f"https://bedrock-runtime.{region}.amazonaws.com/model/{model_id}/invoke"
api_key = os.getenv("AWS_BEARER_TOKEN_BEDROCK") # https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started-api-keys.html
headers = {
    "Content-Type":"application/json",
    "Authorization":f"Bearer {api_key}"
}

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')
    with open(mask, "rb") as mask_file:
        mask_base64 = base64.b64encode(mask_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "mask": mask_base64,
        "prompt": "artificer of time and space"
    }
    response = requests.request("POST", url, json=params, headers=headers)
    response.raise_for_status()
    model_response = json.loads(response.text)
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")

    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------
#### [ Python ]

```
import boto3
import base64
import io
import json
from PIL import Image

image = "./content/input.png"
mask = "./content/mask.png"

region = "us-east-1"
model_id = "us.stability.stable-image-inpaint-v1:0"

bedrock = boto3.client("bedrock-runtime", region_name=region)

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')
    with open(mask, "rb") as mask_file:
        mask_base64 = base64.b64encode(mask_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "mask": mask_base64,
        "prompt": "artificer of time and space"
    }
    request = json.dumps(params)
    response = bedrock.invoke_model(modelId=model_id, body=request)
    model_response = json.loads(response["body"].read())
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")

    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------

In der folgenden Tabelle sind die Eingabe- und Ausgabebilder eines Inpaint-Vorgangs aufgeführt.


|  Input  |  Maske  |  Ausgabe  | 
| --- | --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/input-image-inpaint.jpg)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/mask-image-inpaint.png)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/output-image-inpaint.jpg)  | 

### Übermalen
<a name="stable-image-services-9"></a>

Outpaint fügt zusätzlichen Inhalt in ein Bild ein, um den Raum in beliebiger Richtung auszufüllen. Im Vergleich zu anderen automatisierten oder manuellen Versuchen, den Inhalt in einem Bild zu erweitern, minimiert der Outpaint-Dienst Hinweise darauf, dass das Originalbild bearbeitet wurde.

Outpaint hat die folgenden erforderlichen Parameter:
+ **image** ‐ (Zeichenfolge) Das Base64-Bild, das übermalt werden soll. Jede Seite des Bilds muss mindestens 64 Pixel groß sein. Die Gesamtpixelzahl darf 9 437 184 Pixel nicht überschreiten. Das Seitenverhältnis des Bilds muss zwischen 1:2,5 und 2,5:1 liegen. Unterstützte Formate: JPEG, PNG, WebP.
**Anmerkung**  
Für mindestens eine Ausmalrichtung (links, rechts, oben oder unten) muss ein Wert ungleich Null angegeben werden. Um optimale Ergebnisse zu erzielen, sollten Sie bei der Auswahl der Ausmalrichtungen die Zusammensetzung und den Inhalt Ihres Originalbilds berücksichtigen.

Die folgenden Parameter sind optional:
+ **prompt** – Was im Ausgabebild angezeigt werden soll. Ein starker, aussagekräftiger Prompt, der Elemente, Farben und Motive klar definiert, führt zu besseren Ergebnissen. Um die Gewichtung eines bestimmten Wortes zu steuern, verwenden Sie das Format (word:weight), wobei „word“ das Wort darstellt, dessen Gewichtung Sie steuern möchten, und „weight“ ein Wert ist. Bei den Werten „0“ und „1,0“ wurde das Wort weniger betont und bei einem Wert zwischen „1,1“ und „2“ wurde es hervorgehoben. Zum Beispiel: Der Himmel war klar (blue:0.3) und (green:1.8) würde einen Himmel vermitteln, der blau und grün, jedoch eher grün als blau ist. Mindestens 0 und maximal 10 000 Zeichen.
+ **style\$1preset** – (Zeichenfolge) Richtet das Bildmodell auf einen bestimmten Stil aus. Aufzählung: 3d-model, analog-film, anime, cinematic, comic-book, digital-art, enhance, fantasy-art, isometric, line-art, low-poly, modeling-compound, neon-punk, origami, photographic, pixel-art, tile-texture.
+ **seed** – (Zahl) Ein bestimmter Wert, der als Richtwert für die „Zufälligkeit“ der Generierung dient. (Lassen Sie diesen Parameter weg oder übergeben Sie „0“, um einen zufälligen Seed-Wert zu verwenden.) Der Bereich liegt zwischen 0 und 4294967294. Standard: 0
+ **output\$1format** – (Zeichenfolge) Gibt den Inhaltstyp des generierten Bilds vor. Aufzählung: jpeg, png, webp. Standard: png
+ **Kreativität** ‐ (Zahl) Gibt an, wie kreativ das Modell sein sollte, wenn es ein Bild übermalt. Höhere Werte führen dazu, dass dem Bild beim Übermalen mehr kreativer Inhalt hinzugefügt wird. Bereich zwischen 0,1 und 1,0. Standard: 0,5
+ **left** ‐ (Ganzzahl) Die Anzahl der Pixel, die auf der linken Seite des Bilds übermalt werden sollen. Für mindestens eine Übermalrichtung muss ein Wert ungleich Null angegeben werden. Bereich 0 bis 2000. Der Standardwert ist 0.
+ **right** ‐ (Ganzzahl) Die Anzahl der Pixel, die auf der rechten Seite des Bildes übermalt werden sollen. Für mindestens eine Übermalrichtung muss ein Wert ungleich Null angegeben werden. Bereich 0 bis 2000. Der Standardwert ist 0.
+ **up** ‐ (Ganzzahl) Die Anzahl der Pixel, die oben im Bild übermalt werden sollen. Für mindestens eine Übermalrichtung muss ein Wert ungleich Null angegeben werden. Bereich 0 bis 2000. Der Standardwert ist 0.
+ **down** ‐ (Ganzzahl) Die Anzahl der Pixel, die am unteren Bildrand übermalt werden sollen. Für mindestens eine Ausmalrichtung muss ein Wert ungleich Null angegeben werden. Bereich 0 bis 2000. Der Standardwert ist 0.

------
#### [ API ]

```
import base64
import json
import requests
import io
import os
from PIL import Image

image = "./content/input.jpg"

region = "us-east-1"
model_id = "us.stability.stable-outpaint-v1:0"
url = f"https://bedrock-runtime.{region}.amazonaws.com/model/{model_id}/invoke"
api_key = os.getenv("AWS_BEARER_TOKEN_BEDROCK") # https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started-api-keys.html
headers = {
    "Content-Type":"application/json",
    "Authorization":f"Bearer {api_key}"
}

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "left": 512,
        "right": 512,
        "up": 200,
        "down": 100
    }
    response = requests.request("POST", url, json=params, headers=headers)
    response.raise_for_status()
    model_response = json.loads(response.text)
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")
    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------
#### [ Python ]

```
import boto3
import base64
import io
import json
from PIL import Image

image = "./content/input.png"

region = "us-east-1"
model_id = "us.stability.stable-outpaint-v1:0"

bedrock = boto3.client("bedrock-runtime", region_name=region)

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "left": 512,
        "right": 512,
        "up": 200,
        "down": 100
    }
    request = json.dumps(params)
    response = bedrock.invoke_model(modelId=model_id, body=request)
    model_response = json.loads(response["body"].read())
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")
    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------

Die folgende Tabelle zeigt die Eingabe- und Ausgabebilder einer Outpaint-Operation.


|  Input  |  Ausgabe  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/input-image-outpaint.jpg)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/output-image-outpaint.jpg)  | 

### Suchen und umfärben
<a name="stable-image-services-10"></a>

Mit „Suchen und umfärben“ können Sie die Farbe eines bestimmten Objekts in einem Bild mithilfe eines Prompts ändern. Bei diesem Service handelt es sich um eine spezielle Version von Inpainting, für die keine Maske erforderlich ist. Er segmentiert das Objekt automatisch und färbt es mit den im Prompt angeforderten Farben um.

„Suchen und umfärben“ verfügt über die folgenden erforderlichen Parameter:
+ **prompt** – Was im Ausgabebild angezeigt werden soll. Ein starker, aussagekräftiger Prompt, der Elemente, Farben und Motive klar definiert, führt zu besseren Ergebnissen. Um die Gewichtung eines bestimmten Wortes zu steuern, verwenden Sie das Format (word:weight), wobei „word“ das Wort darstellt, dessen Gewichtung Sie steuern möchten, und „weight“ ein Wert ist. Bei den Werten „0“ und „1,0“ wurde das Wort weniger betont und bei einem Wert zwischen „1,1“ und „2“ wurde es hervorgehoben. Zum Beispiel: Der Himmel war klar (blue:0.3) und (green:1.8) würde einen Himmel vermitteln, der blau und grün, jedoch eher grün als blau ist. Mindestens 0 und maximal 10 000 Zeichen.
+ **image** – (Zeichenfolge) Das Base64-Bild, das umgefärbt werden soll. Jede Seite des Bilds muss mindestens 64 Pixel groß sein. Die Gesamtpixelzahl darf 9 437 184 Pixel nicht überschreiten. Das Seitenverhältnis des Bilds muss zwischen 1:2,5 und 2,5:1 liegen. Unterstützte Formate: JPEG, PNG, WebP.
+ **select\$1prompt** – (Zeichenfolge) Eine kurze Beschreibung dessen, wonach im Bild gesucht werden soll. Maximal 10000 Zeichen.

Die folgenden Parameter sind optional:
+ **style\$1preset** – (Zeichenfolge) Richtet das Bildmodell auf einen bestimmten Stil aus. Aufzählung: 3d-model, analog-film, anime, cinematic, comic-book, digital-art, enhance, fantasy-art, isometric, line-art, low-poly, modeling-compound, neon-punk, origami, photographic, pixel-art, tile-texture.
+ **negative\$1prompt** – (Zeichenfolge) Ein kurzer Text, der beschreibt, was im Ausgabebild nicht angezeigt werden soll. Dies ist ein erweitertes Feature. Maximal 10000 Zeichen.
+ **seed** – (Zahl) Ein bestimmter Wert, der als Richtwert für die „Zufälligkeit“ der Generierung dient. (Lassen Sie diesen Parameter weg oder übergeben Sie „0“, um einen zufälligen Seed-Wert zu verwenden.) Der Bereich liegt zwischen 0 und 4294967294. Standard: 0
+ **output\$1format** – (Zeichenfolge) Gibt den Inhaltstyp des generierten Bilds vor. Aufzählung: jpeg, png, webp. Standard: png
+ **grow\$1mask** – Vergrößert die Kanten der Maske nach außen in alle Richtungen um die angegebene Anzahl von Pixeln. Der erweiterte Bereich um die Maske herum wird unscharf, was dazu beitragen kann, den Übergang zwischen Inhalt, für den ein Inpainting durchgeführt wurde, und dem Originalbild zu glätten. Der Bereich liegt zwischen 0 und 20. Standard: 5 Probieren Sie diesen Parameter aus, wenn Sie am Inhalt, für den kein Inpainting durchgeführt wurde, Übergänge oder raue Kanten bemerken. Beachten Sie, dass durch übermäßiges Wachstum feine Details in der and/or Maskenverschmelzung in der Nähe maskierter Bereiche verdeckt werden können.

------
#### [ API ]

```
import base64
import json
import requests
import io
import os
from PIL import Image

image = "./content/input.png"

region = "us-east-1"
model_id = "us.stability.stable-image-search-recolor-v1:0"
url = f"https://bedrock-runtime.{region}.amazonaws.com/model/{model_id}/invoke"
api_key = os.getenv("AWS_BEARER_TOKEN_BEDROCK") # https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started-api-keys.html
headers = {
    "Content-Type":"application/json",
    "Authorization":f"Bearer {api_key}"
}

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "prompt": "pink jacket",
        "select_prompt": "jacket"
    }
    response = requests.request("POST", url, json=params, headers=headers)
    response.raise_for_status()
    model_response = json.loads(response.text)

    base64_image_data = model_response["images"][0]
    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")

    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------
#### [ Python ]

```
import boto3
import base64
import io
import json
from PIL import Image

image = "./content/input.png"

region = "us-east-1"
model_id = "us.stability.stable-image-search-recolor-v1:0"

bedrock = boto3.client("bedrock-runtime", region_name=region)

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "prompt": "pink jacket",
        "select_prompt": "jacket"
    }
    request = json.dumps(params)
    response = bedrock.invoke_model(modelId=model_id, body=request)
    model_response = json.loads(response["body"].read())
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")

    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------

*Die folgende Tabelle zeigt die Eingabe- und Ausgabebilder eines „Suchen und umfärben“-Vorgangs mit dem folgenden Prompt: pink jacket*.


|  Input  |  Ausgabe  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/input-search-recolor.jpg)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/output-search-recolor.jpg)  | 

### Suchen und ersetzen
<a name="stable-image-services-11"></a>

„Suchen und ersetzen“ ermöglicht es Ihnen, mithilfe eines Such-Prompts ein Objekt in einfacher Sprache zu identifizieren, das ersetzt werden soll. Der Service segmentiert das Objekt automatisch und ersetzt es durch das im Prompt angeforderte Objekt, ohne dass eine Maske erforderlich ist.

„Suchen und ersetzen“ verfügt über die folgenden erforderlichen Parameter:
+ **prompt** – Was im Ausgabebild angezeigt werden soll. Ein starker, aussagekräftiger Prompt, der Elemente, Farben und Motive klar definiert, führt zu besseren Ergebnissen. Um die Gewichtung eines bestimmten Wortes zu steuern, verwenden Sie das Format (word:weight), wobei „word“ das Wort darstellt, dessen Gewichtung Sie steuern möchten, und „weight“ ein Wert ist. Bei den Werten „0“ und „1,0“ wurde das Wort weniger betont und bei einem Wert zwischen „1,1“ und „2“ wurde es hervorgehoben. Zum Beispiel: Der Himmel war klar (blue:0.3) und (green:1.8) würde einen Himmel vermitteln, der blau und grün, jedoch eher grün als blau ist. Mindestens 0 und maximal 10 000 Zeichen.
+ **image** – (Zeichenfolge) Das Base64-Bild, das umgefärbt werden soll. Jede Seite des Bilds muss mindestens 64 Pixel groß sein. Die Gesamtpixelzahl darf 9 437 184 Pixel nicht überschreiten. Das Seitenverhältnis des Bilds muss zwischen 1:2,5 und 2,5:1 liegen. Unterstützte Formate: JPEG, PNG, WebP.
+ **select\$1prompt** – (Zeichenfolge) Eine kurze Beschreibung dessen, wonach im Bild gesucht werden soll. Maximal 10000 Zeichen.

Die folgenden Parameter sind optional:
+ **style\$1preset** – (Zeichenfolge) Richtet das Bildmodell auf einen bestimmten Stil aus. Aufzählung: 3d-model, analog-film, anime, cinematic, comic-book, digital-art, enhance, fantasy-art, isometric, line-art, low-poly, modeling-compound, neon-punk, origami, photographic, pixel-art, tile-texture.
+ **negative\$1prompt** – (Zeichenfolge) Ein kurzer Text, der beschreibt, was im Ausgabebild nicht angezeigt werden soll. Dies ist ein erweitertes Feature. Maximal 10000 Zeichen.
+ **seed** – (Zahl) Ein bestimmter Wert, der als Richtwert für die „Zufälligkeit“ der Generierung dient. (Lassen Sie diesen Parameter weg oder übergeben Sie „0“, um einen zufälligen Seed-Wert zu verwenden.) Der Bereich liegt zwischen 0 und 4294967294. Standard: 0
+ **output\$1format** – (Zeichenfolge) Gibt den Inhaltstyp des generierten Bilds vor. Aufzählung: jpeg, png, webp. Standard: png
+ **grow\$1mask** – Vergrößert die Kanten der Maske nach außen in alle Richtungen um die angegebene Anzahl von Pixeln. Der erweiterte Bereich um die Maske herum wird unscharf, was dazu beitragen kann, den Übergang zwischen Inhalt, für den ein Inpainting durchgeführt wurde, und dem Originalbild zu glätten. Der Bereich liegt zwischen 0 und 20. Standard: 5 Probieren Sie diesen Parameter aus, wenn Sie am Inhalt, für den kein Inpainting durchgeführt wurde, Übergänge oder raue Kanten bemerken. Beachten Sie, dass durch übermäßiges Wachstum feine Details in der and/or Maskenverschmelzung in der Nähe maskierter Bereiche verdeckt werden können.

------
#### [ API ]

```
import base64
import json
import requests
import io
import os
from PIL import Image

image = "./content/input.png"

region = "us-east-1"
model_id = "us.stability.stable-image-search-replace-v1:0"
url = f"https://bedrock-runtime.{region}.amazonaws.com/model/{model_id}/invoke"
api_key = os.getenv("AWS_BEARER_TOKEN_BEDROCK") # https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started-api-keys.html
headers = {
    "Content-Type":"application/json",
    "Authorization":f"Bearer {api_key}"
}

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "prompt": "jacket",
        "search_prompt": "sweater",
    }
    response = requests.request("POST", url, json=params, headers=headers)
    response.raise_for_status()
    model_response = json.loads(response.text)
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")

    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------
#### [ Python ]

```
import boto3
import base64
import io
import json
from PIL import Image

image = "./content/input.png"

region = "us-east-1"
model_id = "us.stability.stable-image-search-replace-v1:0"

bedrock = boto3.client("bedrock-runtime", region_name=region)

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "prompt": "jacket",
        "search_prompt": "sweater",
    }
    request = json.dumps(params)
    response = bedrock.invoke_model(modelId=model_id, body=request)
    model_response = json.loads(response["body"].read())
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")
    image_data = base64.b64decode(base64_image_data)

    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")

    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------

Die folgende Tabelle zeigt die Eingabe- und Ausgabebilder eines „Suchen und ersetzen“-Vorgangs mit dem folgenden Prompt: *jacket.*


|  Input  |  Ausgabe  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/input-search-replace.jpg)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/output-search-replace.jpg)  | 

### Löschen
<a name="stable-image-services-12"></a>

Mit „Löschen“ können Sie unerwünschte Elemente mithilfe von Bildmasken entfernen und gleichzeitig die Konsistenz des Hintergrunds auf intelligente Weise beibehalten.

„Löschen“ verfügt über die folgenden erforderlichen Parameter:
+ **image** – (Zeichenfolge) Das Base64-Bild, aus dem gelöscht werden soll. Jede Seite des Bilds muss mindestens 64 Pixel groß sein. Die Gesamtpixelzahl darf 9 437 184 Pixel nicht überschreiten. Das Seitenverhältnis des Bilds muss zwischen 1:2,5 und 2,5:1 liegen. Unterstützte Formate: JPEG, PNG, WebP.

Die folgenden Parameter sind optional:
+ **seed** – (Zahl) Ein bestimmter Wert, der als Richtwert für die „Zufälligkeit“ der Generierung dient. (Lassen Sie diesen Parameter weg oder übergeben Sie „0“, um einen zufälligen Seed-Wert zu verwenden.) Der Bereich liegt zwischen 0 und 4294967294. Standard: 0
+ **output\$1format** – (Zeichenfolge) Gibt den Inhaltstyp des generierten Bilds vor. Aufzählung: jpeg, png, webp. Standard: png
+ **mask** – (Zeichenfolge) Steuert die Stärke des Inpainting-Prozesses pro Pixel, entweder über ein zweites Bild (das an diesen Parameter übergeben wird) oder über den Alphakanal des Bildparameters.
  + **Maske übergeben** – Das an diesen Parameter übergebene Bild sollte ein Schwarzweißbild sein, das an jedem Pixel die Inpainting-Stärke darstellt, basierend darauf, wie dunkel oder hell das jeweilige Pixel ist. Vollständig schwarze Pixel stellen keine Inpainting-Stärke dar, vollständig weiße Pixel stehen hingegeben für maximale Stärke. Falls die Maske eine andere Größe als der Bildparameter aufweist, wird ihre Größe automatisch angepasst.
  + **Alphakanal-Unterstützung** – Wenn Sie keine explizite Maske angeben, wird eine aus dem Alphakanal des Bildparameters abgeleitet. Für transparente Pixel erfolgt ein Inpainting, undurchsichtige Pixel hingegeben werden beibehalten. Falls ein Bild mit einem Alphakanal zusammen mit einer Maske bereitgestellt wird, hat die Maske Vorrang.
+ **grow\$1mask** – Vergrößert die Kanten der Maske nach außen in alle Richtungen um die angegebene Anzahl von Pixeln. Der erweiterte Bereich um die Maske herum wird unscharf, was dazu beitragen kann, den Übergang zwischen Inhalt, für den ein Inpainting durchgeführt wurde, und dem Originalbild zu glätten. Der Bereich liegt zwischen 0 und 20. Standard: 5 Probieren Sie diesen Parameter aus, wenn Sie am Inhalt, für den kein Inpainting durchgeführt wurde, Übergänge oder raue Kanten bemerken. Beachten Sie, dass übermäßiges Wachstum feine Details in der Maskenverschmelzung in der Nähe von and/or maskierten Bereichen verdecken kann.

**Anmerkung**  
Stellen Sie sicher, dass Ihre Maske die zu entfernenden Bereiche genau definiert, um optimale Löschergebnisse zu erzielen. Wenn keine explizite Maske angegeben wird, verwendet der Service den Alphakanal des Eingabebildes. Wenn beide angegeben sind, hat die Maske Vorrang.

------
#### [ API ]

```
import base64
import json
import requests
import io
import os
from PIL import Image

image = "./content/input.png"
mask = "./content/mask.png"

region = "us-east-1"
model_id = "us.stability.stable-image-erase-object-v1:0"
url = f"https://bedrock-runtime.{region}.amazonaws.com/model/{model_id}/invoke"
api_key = os.getenv("AWS_BEARER_TOKEN_BEDROCK") # https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started-api-keys.html
headers = {
    "Content-Type":"application/json",
    "Authorization":f"Bearer {api_key}"
}

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8'),
    with open(mask, "rb") as mask_file:
        mask_base64 = base64.b64encode(mask_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "mask": mask_base64
    }
    response = requests.request("POST", url, json=params, headers=headers)
    response.raise_for_status()
    model_response = json.loads(response.text)
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")

    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------
#### [ Python ]

```
import boto3
import base64
import io
import json
from PIL import Image

image = "./content/input.png" 
mask = "./content/mask.png"

region = "us-east-1"
model_id = "us.stability.stable-image-erase-object-v1:0"

bedrock = boto3.client("bedrock-runtime", region_name=region)

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8'),
    with open(mask, "rb") as mask_file:
        mask_base64 = base64.b64encode(mask_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "mask": mask_base64
    }
    request = json.dumps(params)
    response = bedrock.invoke_model(modelId=model_id, body=request)
    model_response = json.loads(response["body"].read())
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")

    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------

In der folgenden Tabelle sind die Eingabe- und Ausgabebilder eines Löschvorgangs aufgeführt.


|  Input  |  Maske  |  Ausgabe  | 
| --- | --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/input-erase-object.jpg)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/mask-erase-object.png)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/output-erase-object.jpg)  | 

### Hintergrund entfernen
<a name="stable-image-services-13"></a>

Mit der Option „Hintergrund entfernen“ können Sie Objekte präzise vom Hintergrund isolieren.

„Hintergrund entfernen“ verfügt über die folgenden erforderlichen Parameter:
+ **image** – (Zeichenfolge) Das Base64-Bild, aus dem der Hintergrund entfernt werden soll. Jede Seite des Bilds muss mindestens 64 Pixel groß sein. Die Gesamtpixelzahl darf 9 437 184 Pixel nicht überschreiten. Das Seitenverhältnis des Bilds muss zwischen 1:2,5 und 2,5:1 liegen. Unterstützte Formate: JPEG, PNG, WebP.

Die folgenden Parameter sind optional:
+ **output\$1format** – (Zeichenfolge) Gibt den Inhaltstyp des generierten Bilds vor. Aufzählung: jpeg, png, webp. Standard: png

------
#### [ API ]

```
import base64
import json
import requests
import io
import os
from PIL import Image

image = "./content/input.png"

region = "us-east-1"
model_id = "us.stability.stable-image-remove-background-v1:0"
url = f"https://bedrock-runtime.{region}.amazonaws.com/model/{model_id}/invoke"
api_key = os.getenv("AWS_BEARER_TOKEN_BEDROCK") # https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started-api-keys.html
headers = {
    "Content-Type":"application/json",
    "Authorization":f"Bearer {api_key}"
}

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
    }
    response = requests.request("POST", url, json=params, headers=headers)
    response.raise_for_status()
    model_response = json.loads(response.text)
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")

    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------
#### [ Python ]

```
import boto3
import base64
import io
import json
from PIL import Image

image = "./content/input.png"

region = "us-east-1"
model_id = "us.stability.stable-image-remove-background-v1:0"

bedrock = boto3.client("bedrock-runtime", region_name=region)

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64
    }
    request = json.dumps(params)
    response = bedrock.invoke_model(modelId=model_id, body=request)
    model_response = json.loads(response["body"].read())
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")

    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------

Die folgende Tabelle zeigt die Eingabe- und Ausgabebilder eines „Hintergrund entfernen“-Vorgangs.


|  Input  |  Ausgabe  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/input-remove-background.jpg)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/output-remove-background.jpg)  | 

## Steuerung
<a name="stable-image-services-control"></a>

Im folgenden Abschnitt wird die Steuerung für Stability AI Image Services beschrieben.

### Steuerungsskizze
<a name="stable-image-services-1"></a>

Werten Sie grobe Handskizzen mit präziser Steuerung zu verfeinerten Ausgaben auf. Bei Bildern, bei denen es sich nicht um Skizzen handelt, ermöglicht „Steuerungsskizze“ eine detaillierte Bearbeitung des endgültigen Erscheinungsbilds durch die Nutzung der Konturlinien und Kanten innerhalb des Bilds.

„Steuerungsskizze“ verfügt über die folgenden erforderlichen Parameter:
+ **prompt** – Was im Ausgabebild angezeigt werden soll. Ein starker, aussagekräftiger Prompt, der Elemente, Farben und Motive klar definiert, führt zu besseren Ergebnissen. Um die Gewichtung eines bestimmten Wortes zu steuern, verwenden Sie das Format (word:weight), wobei „word“ das Wort darstellt, dessen Gewichtung Sie steuern möchten, und „weight“ ein Wert ist. Bei den Werten „0“ und „1,0“ wurde das Wort weniger betont und bei einem Wert zwischen „1,1“ und „2“ wurde es hervorgehoben. Zum Beispiel: Der Himmel war klar (blue:0.3) und (green:1.8) würde einen Himmel vermitteln, der blau und grün, jedoch eher grün als blau ist. Mindestens 0 und maximal 10 000 Zeichen.
+ **image** – (Zeichenfolge) Das Base64-Bild der Skizze. Jede Seite des Bilds muss mindestens 64 Pixel groß sein. Die Gesamtpixelzahl darf 9 437 184 Pixel nicht überschreiten. Das Seitenverhältnis des Bilds muss zwischen 1:2,5 und 2,5:1 liegen. Unterstützte Formate: JPEG, PNG, WebP.

Die folgenden Parameter sind optional:
+ **control\$1strength** – (Zahl) Gibt an, inwiefern das Bild die Generierung beeinflusst bzw. steuert. Wird als Gleitkommazahl zwischen „0“ und „1“ dargestellt, wobei „0“ den geringsten und „1“ den maximalen Einfluss darstellt. Standard: 0,7
+ **negative\$1prompt** – (Zeichenfolge) Ein kurzer Text, der beschreibt, was im Ausgabebild nicht angezeigt werden soll. Dies ist ein erweitertes Feature. Maximal 10000 Zeichen.
+ **seed** – (Zahl) Ein bestimmter Wert, der als Richtwert für die „Zufälligkeit“ der Generierung dient. (Lassen Sie diesen Parameter weg oder übergeben Sie „0“, um einen zufälligen Seed-Wert zu verwenden.) Der Bereich liegt zwischen 0 und 4294967294. Standard: 0
+ **output\$1format** – (Zeichenfolge) Gibt den Inhaltstyp des generierten Bilds vor. Aufzählung: jpeg, png, webp. Standard: png
+ **style\$1preset** – Richtet das Bildmodell auf einen bestimmten Stil aus. Aufzählung: 3d-model, analog-film, anime, cinematic, comic-book, digital-art, enhance, fantasy-art, isometric, line-art, low-poly, modeling-compound, neon-punk, origami, photographic, pixel-art, tile-texture.

------
#### [ API ]

```
import base64
import json
import requests
import io
import os
from PIL import Image

image = "./content/input.jpg"

region = "us-east-1"
model_id = "us.stability.stable-image-control-sketch-v1:0"
url = f"https://bedrock-runtime.{region}.amazonaws.com/model/{model_id}/invoke"
api_key = os.getenv("AWS_BEARER_TOKEN_BEDROCK") # https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started-api-keys.html
headers = {
    "Content-Type":"application/json",
    "Authorization":f"Bearer {api_key}"
}

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "prompt": "a house with background of mountains and river flowing nearby"
    }
    response = requests.request("POST", url, json=params, headers=headers)
    response.raise_for_status()
    model_response = json.loads(response.text)
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")
    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------
#### [ Python ]

```
import boto3
import base64
import io
import json
from PIL import Image

image = "./content/input.jpg"

region = "us-east-1"
model_id = "us.stability.stable-image-control-sketch-v1:0"

bedrock = boto3.client("bedrock-runtime", region_name=region)

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "prompt": "a house with background of mountains and river flowing nearby"
    }
    request = json.dumps(params)
    response = bedrock.invoke_model(modelId=model_id, body=request)
    model_response = json.loads(response["body"].read())
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")
    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------

Die folgende Tabelle zeigt die Eingabe- und Ausgabebilder des Aufrufs einer Steuerungsskizze mit dem folgenden Prompt: *ein Haus mit Bergen im Hintergrund und einem Fluss, der in der Nähe fließt*.


|  Input  |  Ausgabe  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/input-control-sketch.jpg)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/output-control-sketch.jpg)  | 
|   |    | 

### Steuerungsstruktur
<a name="stable-image-services-2"></a>

Mithilfe der Steuerungsstruktur können Sie Bilder generieren und dabei die Struktur eines Eingabebildes beibehalten. Dies ist besonders hilfreich für Szenarien der erweiterten Inhaltserstellung, wie beispielsweise die Neuerstellung von Szenen oder das Rendern von Zeichen aus Modellen.

Die Steuerungsstruktur verfügt über die folgenden erforderlichen Parameter:
+ **prompt** – Was im Ausgabebild angezeigt werden soll. Ein starker, aussagekräftiger Prompt, der Elemente, Farben und Motive klar definiert, führt zu besseren Ergebnissen. Um die Gewichtung eines bestimmten Wortes zu steuern, verwenden Sie das Format (word:weight), wobei „word“ das Wort darstellt, dessen Gewichtung Sie steuern möchten, und „weight“ ein Wert ist. Bei den Werten „0“ und „1,0“ wurde das Wort weniger betont und bei einem Wert zwischen „1,1“ und „2“ wurde es hervorgehoben. Zum Beispiel: Der Himmel war klar (blue:0.3) und (green:1.8) würde einen Himmel vermitteln, der blau und grün, jedoch eher grün als blau ist. Mindestens 0 und maximal 10 000 Zeichen.
+ **image** – (Zeichenfolge) Das Base64-Bild der Skizze. Jede Seite des Bilds muss mindestens 64 Pixel groß sein. Die Gesamtpixelzahl darf 9 437 184 Pixel nicht überschreiten. Das Seitenverhältnis des Bilds muss zwischen 1:2,5 und 2,5:1 liegen. Unterstützte Formate: JPEG, PNG, WebP.

Die folgenden Parameter sind optional:
+ **control\$1strength** – (Zahl) Gibt an, inwiefern das Bild die Generierung beeinflusst bzw. steuert. Wird als Gleitkommazahl zwischen „0“ und „1“ dargestellt, wobei „0“ den geringsten und „1“ den maximalen Einfluss darstellt. Standard: 0,7
+ **negative\$1prompt** – (Zeichenfolge) Ein kurzer Text, der beschreibt, was im Ausgabebild nicht angezeigt werden soll. Dies ist ein erweitertes Feature. Maximal 10000 Zeichen.
+ **seed** – (Zahl) Ein bestimmter Wert, der als Richtwert für die „Zufälligkeit“ der Generierung dient. (Lassen Sie diesen Parameter weg oder übergeben Sie „0“, um einen zufälligen Seed-Wert zu verwenden.) Der Bereich liegt zwischen 0 und 4294967294. Standard: 0
+ **output\$1format** – (Zeichenfolge) Gibt den Inhaltstyp des generierten Bilds vor. Aufzählung: jpeg, png, webp. Standard: png
+ **style\$1preset** – Richtet das Bildmodell auf einen bestimmten Stil aus. Aufzählung: 3d-model, analog-film, anime, cinematic, comic-book, digital-art, enhance, fantasy-art, isometric, line-art, low-poly, modeling-compound, neon-punk, origami, photographic, pixel-art, tile-texture.

------
#### [ API ]

```
import base64
import json
import requests
import io
import os
from PIL import Image

image = "./content/input.jpg"

region = "us-east-1"
model_id = "us.stability.stable-image-control-structure-v1:0"
url = f"https://bedrock-runtime.{region}.amazonaws.com/model/{model_id}/invoke"
api_key = os.getenv("AWS_BEARER_TOKEN_BEDROCK") # https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started-api-keys.html
headers = {
    "Content-Type":"application/json",
    "Authorization":f"Bearer {api_key}"
}

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "prompt": "surreal structure with motion generated sparks lighting the scene"

    }
    response = requests.request("POST", url, json=params, headers=headers)
    response.raise_for_status()
    model_response = json.loads(response.text)
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")
    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------
#### [ Python ]

```
import boto3
import base64
import io
import json
from PIL import Image

image = "./content/input.jpg"

region = "us-east-1"
model_id = "us.stability.stable-image-control-structure-v1:0"

bedrock = boto3.client("bedrock-runtime", region_name=region)

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "prompt": "surreal structure with motion generated sparks lighting the scene"

    }
    request = json.dumps(params)
    response = bedrock.invoke_model(modelId=model_id, body=request)
    model_response = json.loads(response["body"].read())
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")
    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------

*Die folgende Tabelle zeigt die Eingabe- und Ausgabebilder eines „Steuerungsstruktur“-Vorgangs mit dem folgenden Prompt: Surreale Struktur mit durch Bewegung erzeugten Funken, die die Szene beleuchten*.


|  Input  |  Ausgabe  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/input-control-structure.jpg)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/output-control-structure.jpg)  | 

### Styleguide
<a name="stable-image-services-3"></a>

Mit dem Styleguide können Sie Stilelemente aus einem Eingabebild extrahieren und diese als Vorlage für die Erstellung eines Ausgabebildes auf Basis des Prompts verwenden. Das Ergebnis ist ein neues Bild im selben Stil wie das Eingabebild.

Der Styleguide verfügt über die folgenden erforderlichen Parameter:
+ **prompt** – Was im Ausgabebild angezeigt werden soll. Ein starker, aussagekräftiger Prompt, der Elemente, Farben und Motive klar definiert, führt zu besseren Ergebnissen. Um die Gewichtung eines bestimmten Wortes zu steuern, verwenden Sie das Format (word:weight), wobei „word“ das Wort darstellt, dessen Gewichtung Sie steuern möchten, und „weight“ ein Wert ist. Bei den Werten „0“ und „1,0“ wurde das Wort weniger betont und bei einem Wert zwischen „1,1“ und „2“ wurde es hervorgehoben. Zum Beispiel: Der Himmel war klar (blue:0.3) und (green:1.8) würde einen Himmel vermitteln, der blau und grün, jedoch eher grün als blau ist. Mindestens 0 und maximal 10 000 Zeichen.
+ **image** – (Zeichenfolge) Das Base64-Bild der Skizze. Jede Seite des Bilds muss mindestens 64 Pixel groß sein. Die Gesamtpixelzahl darf 9 437 184 Pixel nicht überschreiten. Das Seitenverhältnis des Bilds muss zwischen 1:2,5 und 2,5:1 liegen. Unterstützte Formate: JPEG, PNG, WebP.

Die folgenden Parameter sind optional:
+ **aspect\$1ratio** – (Zeichenfolge) Steuert das Seitenverhältnis des generierten Bilds. Dieser Parameter ist nur für text-to-image Anfragen gültig. Standard: 1:1 Aufzählung: 16:9, 1:1, 21:9, 2:3, 3:2, 4:5, 5:4, 9:16, 9:21. Standard: 1:1
+ **negative\$1prompt** – (Zeichenfolge) Ein kurzer Text, der beschreibt, was im Ausgabebild nicht angezeigt werden soll. Dies ist ein erweitertes Feature. Maximal 10000 Zeichen.
+ **seed** – (Zahl) Ein bestimmter Wert, der als Richtwert für die „Zufälligkeit“ der Generierung dient. (Lassen Sie diesen Parameter weg oder übergeben Sie „0“, um einen zufälligen Seed-Wert zu verwenden.) Der Bereich liegt zwischen 0 und 4294967294. Standard: 0
+ **output\$1format** – (Zeichenfolge) Gibt den Inhaltstyp des generierten Bilds vor. Aufzählung: jpeg, png, webp. Standard: png
+ **fidelity** – (Zahl) Gibt an, wie sehr der Stil des Ausgabebilds dem Stil des Eingabebildes ähnelt. Der Bereich liegt zwischen 0 und 1. Standard: 0,5
+ **style\$1preset** – Richtet das Bildmodell auf einen bestimmten Stil aus. Aufzählung: 3d-model, analog-film, anime, cinematic, comic-book, digital-art, enhance, fantasy-art, isometric, line-art, low-poly, modeling-compound, neon-punk, origami, photographic, pixel-art, tile-texture.

------
#### [ API ]

```
import base64
import json
import requests
import io
import os
from PIL import Image

image = "./content/input.jpg"

region = "us-east-1"
model_id = "us.stability.stable-image-style-guide-v1:0"
url = f"https://bedrock-runtime.{region}.amazonaws.com/model/{model_id}/invoke"
api_key = os.getenv("AWS_BEARER_TOKEN_BEDROCK") # https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started-api-keys.html
headers = {
    "Content-Type":"application/json",
    "Authorization":f"Bearer {api_key}"
}

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "prompt": "wide shot of modern metropolis" 
    }
    response = requests.request("POST", url, json=params, headers=headers)
    response.raise_for_status()
    model_response = json.loads(response.text)
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")
    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------
#### [ Python ]

```
import boto3
import base64
import io
import json
from PIL import Image

image = "./content/input.jpg"

region = "us-east-1"
model_id = "us.stability.stable-image-style-guide-v1:0"

bedrock = boto3.client("bedrock-runtime", region_name=region)

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    params = {
        "image": image_base64,
        "prompt": "wide shot of modern metropolis" 
    }
    request = json.dumps(params)
    response = bedrock.invoke_model(modelId=model_id, body=request)
    model_response = json.loads(response["body"].read())
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")
    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------

*Die folgende Tabelle zeigt die Eingabe- und Ausgabebilder des Styleguide-Aufrufs mit dem folgenden Prompt: Weitwinkelaufnahme einer modernen Metropole*.


|  Input  |  Ausgabe  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/input-style-guide.jpg)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/output-style-guide.jpg)  | 

### Stilübertragung
<a name="stable-image-services-4"></a>

Mit der Stilübertragung können Sie visuelle Merkmale aus Referenzstilbildern auf Zielbilder anwenden. Während der Styleguide-Service Stilelemente aus einem Eingabebild extrahiert und diese als Vorlage für die Erstellung eines Ausgabebildes auf Basis des Prompts verwendet, werden mit der Stilübertragung insbesondere vorhandene Inhalte unter Beibehaltung der ursprünglichen Komposition transformiert. Dieses Tool hilft bei der Erstellung konsistenter Inhalte für mehrere Ressourcen.

„Stilübertragung“ verfügt über die folgenden erforderlichen Parameter:
+ **init\$1image** – (Zeichenfolge) Ein Base64-Bild, das den Betreff enthält, den Sie neugestalten möchten. Jede Seite des Bilds muss mindestens 64 Pixel groß sein. Die Gesamtpixelzahl darf 9 437 184 Pixel nicht überschreiten. Das Seitenverhältnis des Bilds muss zwischen 1:2,5 und 2,5:1 liegen. Unterstützte Formate: JPEG, PNG, WebP.
+ **style\$1image** – (Zeichenfolge) Ein Base64-Bild mit dem Motiv, das Sie neugestalten möchten. Jede Seite des Bilds muss mindestens 64 Pixel groß sein. Die Gesamtpixelzahl darf 9 437 184 Pixel nicht überschreiten. Das Seitenverhältnis des Bilds muss zwischen 1:2,5 und 2,5:1 liegen. Unterstützte Formate: JPEG, PNG, WebP.

Die folgenden Parameter sind optional:
+ **prompt** – (Zeichenfolge) Was im Ausgabebild angezeigt werden soll. Ein starker, aussagekräftiger Prompt, der Elemente, Farben und Motive klar definiert, führt zu besseren Ergebnissen. Um die Gewichtung eines bestimmten Wortes zu steuern, verwenden Sie das Format (word:weight), wobei „word“ das Wort darstellt, dessen Gewichtung Sie steuern möchten, und „weight“ ein Wert ist. Bei den Werten „0“ und „1,0“ wurde das Wort weniger betont und bei einem Wert zwischen „1,1“ und „2“ wurde es hervorgehoben. Zum Beispiel: Der Himmel war klar (blue:0.3) und (green:1.8) würde einen Himmel vermitteln, der blau und grün, jedoch eher grün als blau ist.
+ **negative\$1prompt** – (Zeichenfolge) Ein kurzer Text, der beschreibt, was im Ausgabebild nicht angezeigt werden soll. Dies ist ein erweitertes Feature. Maximal 10000 Zeichen.
+ **seed** – (Zahl) Ein bestimmter Wert, der als Richtwert für die „Zufälligkeit“ der Generierung dient. (Lassen Sie diesen Parameter weg oder übergeben Sie „0“, um einen zufälligen Seed-Wert zu verwenden.) Der Bereich liegt zwischen 0 und 4294967294. Standard: 0
+ **output\$1format** – (Zeichenfolge) Gibt den Inhaltstyp des generierten Bilds vor. Aufzählung: jpeg, png, webp. Standard: png
+ **composition\$1fidelity** – (Zahl) Gibt an, wie stark der Stil des Ausgabebildes dem Stil des Eingabebildes ähnelt. Der Bereich liegt zwischen 0 und 1. Standard: 0,9
+ **style\$1strength** – (Zahl) Dieser Parameter wird manchmal auch als Rauschunterdrückung bezeichnet und steuert, wie viel Einfluss der Parameter „style\$1image“ auf das generierte Bild hat. Der Wert 0 würde ein Bild ergeben, das mit der Eingabe identisch ist. Der Wert 1 würde bedeuten, dass überhaupt kein Bild übergeben wurde. Der Bereich liegt zwischen 0 und 1. Standard: 1
+ **change\$1strength** – (Zahl) Gibt an, wie stark das ursprüngliche Bild geändert werden soll. Der Bereich liegt zwischen 0,1 und 1. Standard: 0,9

------
#### [ API ]

```
import base64
import json
import requests
import io
import os
from PIL import Image

image = "./content/input.jpg"
style_image = "./content/style.jpg"

region = "us-east-1"
model_id = "us.stability.stable-style-transfer-v1:0"
url = f"https://bedrock-runtime.{region}.amazonaws.com/model/{model_id}/invoke"
api_key = os.getenv("AWS_BEARER_TOKEN_BEDROCK") # https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started-api-keys.html
headers = {
    "Content-Type":"application/json",
    "Authorization":f"Bearer {api_key}"
}

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    with open(style_image, "rb") as style_image_file:
        style_image_base64 = base64.b64encode(style_image_file.read()).decode('utf-8')

    params = {
        "init_image": image_base64,
        "style_image": style_image_base64,
        "prompt": "statue"
    }
    response = requests.request("POST", url, json=params, headers=headers)
    response.raise_for_status()
    model_response = json.loads(response.text)
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")
    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------
#### [ Python ]

```
import boto3
import base64
import io
import json
from PIL import Image

image = "./content/cat_statue_512x512.jpg"
style_image = "./content/glowbot_style.jpg"

region = "us-east-1"
model_id = "us.stability.stable-style-transfer-v1:0"

bedrock = boto3.client("bedrock-runtime", region_name=region)

try:
    with open(image, "rb") as image_file:
        image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

    with open(style_image, "rb") as style_image_file:
        style_image_base64 = base64.b64encode(style_image_file.read()).decode('utf-8')

    params = {
        "init_image": image_base64,
        "style_image": style_image_base64,
        "prompt": "statue"
    }
    request = json.dumps(params)
    response = bedrock.invoke_model(modelId=model_id, body=request)
    model_response = json.loads(response["body"].read())
    base64_image_data = model_response["images"][0]

    if not base64_image_data:
        raise ValueError("No image data found in model response.")

    image_data = base64.b64decode(base64_image_data)
    image = Image.open(io.BytesIO(image_data))
    image.save("image.png")
    print("Successfully saved image.")

except Exception as e:
    print(e)
```

------

Die folgende Tabelle zeigt die Eingabe- und Ausgabebilder eines Stilübertragungsaufrufs.


|  Input  |  Style  |  Ausgabe  | 
| --- | --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/input-style-transfer.jpg)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/style-style-transfer.jpg)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/bedrock/latest/userguide/images/stable-image-services/output-style-transfer.jpg)  | 