

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Stability AImodel
<a name="model-parameters-stability-diffusion"></a>

Bagian ini menjelaskan parameter permintaan dan bidang respons untuk model Stability AI. Gunakan informasi ini untuk membuat panggilan inferensi ke model Stability AI dengan [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)operasi. Bagian ini juga menyertakan contoh Python kode yang menunjukkan cara memanggil model Stability AI. Untuk menggunakan model dalam operasi inferensi, Anda memerlukan ID model untuk model tersebut. Untuk mendapatkan ID model, lihat[Model pondasi yang didukung di Amazon Bedrock](models-supported.md). Beberapa model juga bekerja dengan [ConverseAPI](conversation-inference.md). Untuk memeriksa apakah Converse API mendukung model Stability AI tertentu, lihat[Model dan fitur model yang didukung](conversation-inference-supported-models-features.md). Untuk contoh kode lainnya, lihat[Contoh kode untuk Amazon Bedrock menggunakan AWS SDKs](service_code_examples.md).

Model foundation di Amazon Bedrock mendukung modalitas input dan output, yang bervariasi dari model ke model. Untuk memeriksa modalitas yang didukung model Stability AI, lihat. [Model pondasi yang didukung di Amazon Bedrock](models-supported.md) Untuk memeriksa Amazon Bedrock mana yang memiliki dukungan model Stability AI, lihat[Model pondasi yang didukung di Amazon Bedrock](models-supported.md). Untuk memeriksa AWS Wilayah mana model Stability AI tersedia, lihat[Model pondasi yang didukung di Amazon Bedrock](models-supported.md).

Saat Anda melakukan panggilan inferensi dengan model Stability AI, Anda menyertakan prompt untuk model tersebut. Untuk informasi umum tentang membuat prompt untuk model yang didukung Amazon Bedrock, lihat. [Konsep rekayasa yang cepat](prompt-engineering-guidelines.md) Untuk informasi prompt spesifik Stability AI, lihat [panduan rekayasa prompt Stability AI](https://platform.stability.ai/docs/getting-started).

## Model dan layanan gambar yang didukung
<a name="supported-stability-models"></a>

Amazon Bedrock mendukung Stability AI model dan layanan gambar berikut.

**catatan**  
Support untuk semua Stability AI model lain sedang dalam proses tidak digunakan lagi.


| Model | Kasus penggunaan | Contoh | 
| --- | --- | --- | 
|  [Gambar Stabil Ultra](model-parameters-diffusion-stable-ultra-text-image-request-response.md)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/model-parameters-stability-diffusion.html)  |  Merek mewah menggunakan Stable Image Ultra untuk menciptakan visual yang menakjubkan dari koleksi terbarunya untuk spread majalah, memastikan nuansa premium yang sesuai dengan standar tingginya.  | 
|  [Difusi Stabil 3.5 Besar](model-parameters-diffusion-3-5-large.md)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/model-parameters-stability-diffusion.html)  |  Tim pengembangan game menggunakan SD3 .5 Large untuk membuat tekstur lingkungan dan konsep karakter yang terperinci, mempercepat jalur kreatif mereka.  | 
|  [Inti Gambar Stabil](model-parameters-diffusion-stable-image-core-text-image-request-response.md)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/model-parameters-stability-diffusion.html)  |  Pengecer online menggunakan Stable Image Core untuk dengan cepat menghasilkan gambar produk untuk pendatang baru, memungkinkannya untuk membuat daftar item lebih cepat dan menyimpan katalognya. up-to-date  | 
|  [Stabilitas Layanan Gambar AI](stable-image-services.md)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/model-parameters-stability-diffusion.html)  |  Perusahaan media menggunakan pencarian dan pewarnaan ulang, transfer gaya, dan menghapus latar belakang untuk menghasilkan variasi gambar untuk kampanye iklan.  | 

**Topics**
+ [Model dan layanan gambar yang didukung](#supported-stability-models)
+ [Permintaan dan respons Stabil Image Ultra](model-parameters-diffusion-stable-ultra-text-image-request-response.md)
+ [Stability.ai Difusi Stabil 3.5 Besar](model-parameters-diffusion-3-5-large.md)
+ [Permintaan dan respons Image Core yang Stabil](model-parameters-diffusion-stable-image-core-text-image-request-response.md)
+ [Stabilitas Layanan Gambar AI](stable-image-services.md)

# Permintaan dan respons Stabil Image Ultra
<a name="model-parameters-diffusion-stable-ultra-text-image-request-response"></a>

Badan permintaan diteruskan di `body` bidang permintaan untuk [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)operasi. 

**Bidang badan permintaan pemanggilan model**

Saat Anda melakukan InvokeModel panggilan menggunakan model Stable Image Ultra, isi bidang tubuh dengan objek JSON yang terlihat seperti di bawah ini. 
+ **prompt** — (string) Apa yang ingin Anda lihat pada gambar output. Prompt deskriptif yang kuat yang mendefinisikan elemen, warna, dan subjek dengan jelas akan menghasilkan hasil yang lebih baik.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/model-parameters-diffusion-stable-ultra-text-image-request-response.html)

**Bidang tubuh respons pemanggilan model**

Saat Anda melakukan `InvokeModel` panggilan menggunakan model Stable Image Ultra, responsnya terlihat seperti di bawah ini 

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

Tanggapan dengan alasan akhir yang tidak`null`, akan terlihat seperti di bawah ini:

```
{
         "finish_reasons":["Filter reason: prompt"]
     }
```
+ **seed** — (string) Daftar benih yang digunakan untuk menghasilkan gambar untuk model.
+ **finish\$1reasons** - Enum menunjukkan apakah permintaan itu disaring atau tidak. `null`akan menunjukkan bahwa permintaan itu berhasil. Nilai yang mungkin saat ini:`"Filter reason: prompt", "Filter reason: output image", "Filter reason: input image", "Inference error", null`.
+ **gambar** - Daftar gambar yang dihasilkan dalam format string base64.

Untuk informasi lebih lanjut, lihat [https://platform.us.stability. ai/docs/api-reference\$1tag/v1 generasi](https://platform.us.stability.ai/docs/api-reference#tag/v1generation).

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

Model Stability.ai Stable Image Ultra memiliki parameter inferensi berikut untuk panggilan text-to-image inferensi. 
+ **prompt** — (string) Apa yang ingin Anda lihat pada gambar output. Prompt deskriptif yang kuat yang mendefinisikan elemen, warna, dan subjek dengan jelas akan menghasilkan hasil yang lebih baik.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/model-parameters-diffusion-stable-ultra-text-image-request-response.html)

**Bidang opsional**
+ **aspect\$1ratio** — (string) Mengontrol rasio aspek dari gambar yang dihasilkan. Parameter ini hanya berlaku untuk text-to-image permintaan. Standar 1:1. Enum: 16:9, 1:1, 21:9, 2:3, 3:2, 4:5, 5:4, 9:16, 9:21.
+ **mode** - Setel ke text-to-image. Default: text-to-image. Enum:`text-to-image`.
+ **output\$1format** - Menentukan format gambar output. Format yang didukung: JPEG, PNG. Dimensi yang didukung: tinggi 640 hingga 1.536 px, lebar 640 hingga 1.536 px.
+ **seed** — (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Abaikan parameter ini atau berikan 0 untuk menggunakan benih acak.) Rentang: 0 hingga 4294967295.
+ **negative\$1prompt** — Kata kunci dari apa yang tidak ingin Anda lihat pada gambar output. Max: 10.000 karakter.

```
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 ]

Model Stability.ai Stable Image Ultra memiliki parameter inferensi berikut untuk panggilan image-to-image inferensi.
+ **prompt** — (string) Apa yang ingin Anda lihat pada gambar output. Prompt deskriptif yang kuat yang mendefinisikan elemen, warna, dan subjek dengan jelas akan menghasilkan hasil yang lebih baik.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/model-parameters-diffusion-stable-ultra-text-image-request-response.html)

**Bidang opsional**
+ **image** — (string) Gambar Base64 untuk digunakan sebagai titik awal untuk generasi. Format yang didukung: JPEG, PNG, WebP.
+ **kekuatan** — (angka) Seberapa besar pengaruh parameter gambar terhadap gambar yang dihasilkan. Gambar dengan nilai kekuatan yang lebih rendah akan terlihat lebih seperti gambar asli. Rentang: 0,0 hingga 1,0. Default: 0,35.
+ **aspect\$1ratio** — (string) Mengontrol rasio aspek dari gambar yang dihasilkan. Parameter ini hanya berlaku untuk text-to-image permintaan. Standar 1:1. Enum: 16:9, 1:1, 21:9, 2:3, 3:2, 4:5, 5:4, 9:16, 9:21.
+ **output\$1format** - Menentukan format gambar output. Format yang didukung: JPEG, PNG. Dimensi yang didukung: tinggi 640 hingga 1.536 px, lebar 640 hingga 1.536 px.
+ **seed** — (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Abaikan parameter ini atau berikan 0 untuk menggunakan benih acak.) Rentang: 0 hingga 4294967295.
+ **negative\$1prompt** — Kata kunci dari apa yang tidak ingin Anda lihat pada gambar output. Max: 10.000 karakter.

```
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 Difusi Stabil 3.5 Besar
<a name="model-parameters-diffusion-3-5-large"></a>

Model Stable Diffusion 3.5 Large menggunakan 8 miliar parameter dan mendukung output resolusi 1 megapiksel untuk text-to-image dan image-to-image generasi.

Badan permintaan diteruskan di `body` bidang permintaan ke [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html). 

**Bidang badan permintaan pemanggilan model**

Saat Anda melakukan InvokeModel panggilan menggunakan model Stable Diffusion 3.5 Large, isi bidang tubuh dengan objek JSON yang terlihat seperti di bawah ini.
+ **prompt** — (string) Deskripsi teks dari gambar output yang diinginkan. Maksimal 10.000 karakter.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/model-parameters-diffusion-3-5-large.html)

**Bidang tubuh respons pemanggilan model**

Saat Anda melakukan `InvokeModel` panggilan menggunakan model Stable Diffusion 3.5 Large, responsnya terlihat seperti di bawah ini

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

Tanggapan dengan alasan akhir yang tidak`null`, akan terlihat seperti di bawah ini:

```
{
    "finish_reasons":["Filter reason: prompt"]
}
```
+ **seed** — (string) Daftar benih yang digunakan untuk menghasilkan gambar untuk model.
+ **finish\$1reasons** - Enum menunjukkan apakah permintaan itu disaring atau tidak. `null`akan menunjukkan bahwa permintaan itu berhasil. Nilai yang mungkin saat ini:`"Filter reason: prompt", "Filter reason: output image", "Filter reason: input image", "Inference error", null`.
+ **gambar** - Daftar gambar yang dihasilkan dalam format string base64.

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

Model Stability.ai Stable Diffusion 3.5 Large memiliki parameter inferensi berikut untuk panggilan inferensi. text-to-image
+ **prompt** (string) — Deskripsi teks dari gambar output yang diinginkan. Maksimal 10.000 karakter.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/model-parameters-diffusion-3-5-large.html)

**Parameter opsional**
+ **aspect\$1ratio** (string) - Mengontrol rasio aspek dari gambar yang dihasilkan. Hanya berlaku untuk text-to-image permintaan. Enum: 16:9, 1:1, 21:9, 2:3, 3:2, 4:5, 5:4, 9:16, 9:21. Standar 1:1.
+ **mode** (string) (GenerationMode) - Default: text-to-image. Enum: image-to-image atau text-to-image. Mengontrol apakah ini adalah image-to-image generasi text-to-image atau generasi, yang memengaruhi parameter mana yang diperlukan:
  + text-to-image hanya membutuhkan parameter prompt.
  + image-to-image membutuhkan parameter prompt, gambar, dan kekuatan.
+ **seed** (number) — Nilai untuk mengontrol keacakan dalam generasi. Rentang 0 hingga 4294967294. Default 0 (benih acak).    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/model-parameters-diffusion-3-5-large.html)
+ **negative\$1prompt** (string) - Teks yang menjelaskan elemen untuk dikecualikan dari gambar output. Maksimal 10.000 karakter.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/model-parameters-diffusion-3-5-large.html)
+ **output\$1format** (string) - Format gambar keluaran. Enum: jpeg, png, webp. Default 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 ]

Model Stability.ai Stable Diffusion 3.5 Large memiliki parameter inferensi berikut untuk panggilan inferensi. image-to-image
+ **prompt** (string) — Deskripsi teks dari gambar output yang diinginkan. Maksimal 10.000 karakter.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/model-parameters-diffusion-3-5-large.html)
+ **image** (string) — Base64 gambar masukan yang dikodekan. Minimal 64 piksel per sisi. Format yang didukung: jpeg, png, webp.
+ **mode** (string) (GenerationMode) - Default: text-to-image. Enum: image-to-image atau text-to-image. Mengontrol apakah ini adalah image-to-image generasi text-to-image atau generasi, yang memengaruhi parameter mana yang diperlukan:
  + text-to-image hanya membutuhkan parameter prompt.
  + image-to-image membutuhkan parameter prompt, gambar, dan kekuatan.
+ **kekuatan** (angka) — Mengontrol pengaruh gambar input pada output. Rentang 0 hingga 1. Nilai 0 mempertahankan gambar input, nilai 1 mengabaikan gambar input.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/model-parameters-diffusion-3-5-large.html)
+ **seed** (number) — Nilai untuk mengontrol keacakan dalam generasi. Rentang 0 hingga 4294967294. Default 0 (benih acak).    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/model-parameters-diffusion-3-5-large.html)
+ **negative\$1prompt** (string) - Teks yang menjelaskan elemen untuk dikecualikan dari gambar output. Maksimal 10.000 karakter.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/model-parameters-diffusion-3-5-large.html)
+ **output\$1format** (string) - Format gambar keluaran. Enum: jpeg, png, webp. Default 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
    })
)
```

------

# Permintaan dan respons Image Core yang Stabil
<a name="model-parameters-diffusion-stable-image-core-text-image-request-response"></a>

Badan permintaan diteruskan di `body` bidang permintaan ke [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html). 

**Bidang badan permintaan pemanggilan model**

Saat Anda melakukan InvokeModel panggilan menggunakan model Stability AI Stable Diffusion Stable Image Core, isi bidang body dengan objek JSON yang terlihat seperti di bawah ini. 

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

**Bidang tubuh respons pemanggilan model**

Saat Anda melakukan InvokeModel panggilan menggunakan model Stability AI Stable Diffusion Stable Image Core, responsnya terlihat seperti di bawah ini 

```
{
        'seeds': [2130420379], 
        'finish_reasons': [null], 
        'images': ['...']
    }
```
+ **seed** — (string) Daftar benih yang digunakan untuk menghasilkan gambar untuk model.
+ **finish\$1reasons** - Enum menunjukkan apakah permintaan itu disaring atau tidak. `null`akan menunjukkan bahwa permintaan itu berhasil. Nilai yang mungkin saat ini:`"Filter reason: prompt", "Filter reason: output image", "Filter reason: input image", "Inference error", null`.
+ **gambar** - Daftar gambar yang dihasilkan dalam format string base64.

Untuk informasi lebih lanjut, lihat [https://platform.us.stability. ai/docs/api-reference\$1tag/v1 generasi](https://platform.us.stability.ai/docs/api-reference#tag/v1generation).

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

Model Inti Gambar Stabil memiliki parameter inferensi berikut untuk panggilan inferensi teks ke gambar. 

 **text\$1prompts (Wajib**) - Sebuah array teks yang diminta untuk digunakan untuk pembuatan. Setiap elemen adalah objek JSON yang berisi prompt dan bobot untuk prompt.
+ **prompt** — (string) Apa yang ingin Anda lihat pada gambar output. Prompt deskriptif yang kuat yang mendefinisikan elemen, warna, dan subjek dengan jelas akan menghasilkan hasil yang lebih baik.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/bedrock/latest/userguide/model-parameters-diffusion-stable-image-core-text-image-request-response.html)

**Bidang opsional**
+ **aspect\$1ratio** — (string) Mengontrol rasio aspek dari gambar yang dihasilkan. Parameter ini hanya berlaku untuk text-to-image permintaan. Standar 1:1. Enum: 16:9, 1:1, 21:9, 2:3, 3:2, 4:5, 5:4, 9:16, 9:21.
+ **output\$1format** - Menentukan format gambar output. Format yang didukung: JPEG, PNG. Dimensi yang didukung: tinggi 640 hingga 1.536 px, lebar 640 hingga 1.536 px.
+ **seed** — (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Abaikan parameter ini atau berikan 0 untuk menggunakan benih acak.) Rentang: 0 hingga 4294967295.
+ **negative\$1prompt** — Kata kunci dari apa yang tidak ingin Anda lihat pada gambar output. Max: 10.000 karakter.

```
     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")
```

------

# Stabilitas Layanan Gambar AI
<a name="stable-image-services"></a>

Anda dapat menggunakan Stability AI Image Services dengan Amazon Bedrock untuk mengakses tiga belas alat pengeditan gambar khusus yang dirancang untuk mempercepat alur kerja kreatif profesional. Dengan Stability AI Image Services, Anda dapat menghasilkan gambar dari sketsa, merestrukturisasi, dan menata ulang gambar yang ada, atau menghapus dan mengganti objek dalam gambar.

Bagian ini menjelaskan cara melakukan panggilan inferensi ke Stability AI Image Services menggunakan. [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) Bagian ini juga memberikan contoh kode dalam Python dan contoh gambar sebelum dan sesudah menggunakan Stability AI Image Services.

Stability AI Image Services tersedia dalam kategori berikut:
+ **Edit** - Layanan pengeditan gambar berbasis AI, termasuk inpainting with mask (generative fill), atau dengan kata-kata. Termasuk alat untuk penempatan produk dan iklan, serta alat dasar seperti penghapusan latar belakang.
+ **Kontrol** - Dapat menerima petunjuk, peta, dan panduan lainnya. Layanan ini memanfaatkan ControlNets dan teknologi serupa yang dibangun di atas model Difusi Stabil.

**catatan**  
Berlangganan untuk mengedit atau mengontrol Stability AI Image Service secara otomatis mendaftarkan Anda di ketiga belas Layanan Gambar AI Stabilitas yang tersedia.

**Topics**
+ [Permintaan dan tanggapan](#model-parameters-stable-image-services-request-response)
+ [Kelas atas](#stable-image-services-upscale)
+ [Sunting](#stable-image-services-edit)
+ [Kontrol](#stable-image-services-control)

## Permintaan dan tanggapan
<a name="model-parameters-stable-image-services-request-response"></a>

Badan permintaan diteruskan di `body` bidang permintaan ke [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html). 

**Bidang badan permintaan pemanggilan model**

Saat Anda melakukan InvokeModel panggilan menggunakan Stability AI Image Services, isi kolom body dengan objek JSON yang terlihat seperti di bawah ini. 

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

**Bidang tubuh respons pemanggilan model**

Saat Anda melakukan InvokeModel panggilan menggunakan Stability AI Image Services, responsnya terlihat seperti di bawah ini 

```
{
    'seeds': [2130420379], 
    'finish_reasons': [null], 
    'images': ['...']
}
```
+ **seed** — (string) Daftar benih yang digunakan untuk menghasilkan gambar untuk model.
+ **finish\$1reasons** - Enum menunjukkan apakah permintaan itu disaring atau tidak. `null`akan menunjukkan bahwa permintaan itu berhasil. Nilai yang mungkin saat ini:`"Filter reason: prompt", "Filter reason: output image", "Filter reason: input image", "Inference error", null`.
+ **gambar** - Daftar gambar yang dihasilkan dalam format string base64.

Untuk informasi lebih lanjut, lihat [https://platform.us.stability. ai/docs/api-reference\$1tag/v1 generasi](https://platform.us.stability.ai/docs/api-reference#tag/v1generation).

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

Bagian berikut menjelaskan Layanan Gambar AI Stabilitas kelas atas.

### Kelas Atas Kreatif
<a name="stable-image-services-5"></a>

Creative Upscale mengambil gambar antara 64x64 dan 1 megapiksel dan meningkatkannya ke resolusi 4K. Layanan ini dapat meningkatkan gambar sebanyak 20 hingga 40 kali sambil mempertahankan dan sering meningkatkan kualitas. Creative Upscale bekerja paling baik pada gambar yang sangat terdegradasi dan bukan untuk foto 1 megapiksel atau lebih tinggi karena melakukan penataan ulang yang berat.

Creative Upscale memiliki parameter yang diperlukan sebagai berikut:
+ **prompt** - Apa yang ingin Anda lihat pada gambar output. Prompt deskriptif yang kuat yang mendefinisikan elemen, warna, dan subjek dengan jelas akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kendalikan bobot dan berat adalah nilai. Nilai 0 dan 1.0 tidak menekankan kata dan nilai antara 1,1 dan 2 menekankan kata tersebut. Misalnya: Langit renyah (biru: 0,3) dan (hijau:1,8) akan menyampaikan langit yang biru dan hijau, tetapi lebih hijau daripada biru. Minimum 0 dan Maksimum 10000 karakter.
+ **image** ‐ (string) Gambar Base64 ke kelas atas. Setiap sisi gambar harus setidaknya 64 piksel. Jumlah piksel total harus antara 4.096 dan 1.048.576 piksel. Format yang didukung: jpeg, png, webp.

Parameter berikut ini bersifat opsional:
+ **kreativitas** - (angka) Menunjukkan seberapa kreatif model seharusnya saat meningkatkan gambar. Nilai yang lebih tinggi akan menghasilkan lebih banyak detail yang ditambahkan ke gambar selama upscaling. Rentang antara 0,1 dan 0,5. Standar 0.3
+ **negative\$1prompt** - (string) Uraian teks yang menjelaskan apa yang tidak ingin Anda lihat pada gambar output. Ini adalah fitur lanjutan. Maksimal 10000 karakter.
+ **seed** ‐ (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Abaikan parameter ini atau berikan 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.
+ **output\$1format** - (string) Mendikte tipe konten dari gambar yang dihasilkan. Enum: jpeg, png, webp. Default png.
+ **style\$1preset** - Memandu model gambar menuju gaya tertentu. Enum: model 3D, film analog, anime, sinematik, buku komik, seni digital, peningkatan, seni fantasi, isometrik, seni garis, poli rendah, senyawa pemodelan, neon-punk, origami, fotografi, seni piksel, tekstur ubin.

------
#### [ 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)
```

------

Tabel berikut menunjukkan gambar input dan output dari operasi Creative Upscale menggunakan prompt berikut: *Seni digital seperti mimpi ini menangkap burung kaleidoskopik yang semarak di hutan hujan* yang rimbun.


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

### Kelas Atas Konservatif
<a name="stable-image-services-6"></a>

Conservative Upscale mengambil gambar antara 64x64 dan 1 megapiksel dan meningkatkannya ke resolusi 4K. Layanan ini dapat meningkatkan gambar sebanyak 20 hingga 40 kali sambil mempertahankan semua aspek. Conservative Upscale meminimalkan perubahan pada gambar dan tidak boleh digunakan untuk menata ulang gambar.

Kelas Atas Konservatif memiliki parameter yang diperlukan sebagai berikut:
+ **prompt** - Apa yang ingin Anda lihat pada gambar output. Prompt deskriptif yang kuat yang mendefinisikan elemen, warna, dan subjek dengan jelas akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kendalikan bobot dan berat adalah nilai. Nilai 0 dan 1.0 tidak menekankan kata dan nilai antara 1,1 dan 2 menekankan kata tersebut. Misalnya: Langit renyah (biru: 0,3) dan (hijau:1,8) akan menyampaikan langit yang biru dan hijau, tetapi lebih hijau daripada biru. Minimum 0 dan Maksimum 10000 karakter.
+ **image** ‐ (string) Gambar Base64 ke kelas atas. Setiap sisi gambar harus setidaknya 64 piksel. Jumlah piksel total tidak boleh melebihi 9.437.184 piksel. Rasio aspek gambar harus antara 1:2.5 dan 2.5:1. Format yang didukung: jpeg, png, webp.

Parameter berikut ini bersifat opsional:
+ **kreativitas** - (angka) Menunjukkan seberapa kreatif model seharusnya saat meningkatkan gambar. Nilai yang lebih tinggi akan menghasilkan lebih banyak detail yang ditambahkan ke gambar selama upscaling. Rentang antara 0,1 dan 0,5. Standar 0.35
+ **negative\$1prompt** - (string) Uraian teks yang menjelaskan apa yang tidak ingin Anda lihat pada gambar output. Ini adalah fitur lanjutan. Maksimal 10000 karakter.
+ **seed** ‐ (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Abaikan parameter ini atau berikan 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.
+ **output\$1format** - (string) Mendikte tipe konten dari gambar yang dihasilkan. Enum: jpeg, png, webp. Default 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)
```

------

Tabel berikut menunjukkan gambar input dan output dari operasi Kelas Atas Konservatif menggunakan prompt berikut: *foto ayam raksasa di hutan*.


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

### Kelas Atas Cepat
<a name="stable-image-services-7"></a>

Fast Upscale meningkatkan resolusi gambar sebanyak 4 kali menggunakan AI prediktif dan generatif. Layanan ringan dan cepat ini sangat ideal untuk meningkatkan kualitas gambar terkompresi, sehingga cocok untuk posting media sosial dan aplikasi lainnya.

Kelas atas cepat memiliki parameter yang diperlukan berikut:
+ **image** ‐ (string) Gambar Base64 ke kelas atas. Lebar harus antara 32 dan 1.536 piksel. Tinggi harus antara 32 dan 1.536 piksel. Jumlah piksel total harus antara 1.024 dan 1.048.576 piksel. Format yang didukung: jpeg, png, webp.
+ **output\$1format** - (string) Mendikte tipe konten dari gambar yang dihasilkan. Enum: jpeg, png, webp. Default 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)
```

------

Tabel berikut menunjukkan gambar input dan output dari operasi Fast Upscale.


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

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

Bagian berikut menjelaskan edit Stability AI Image Services.

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

Inpaint secara cerdas memodifikasi gambar dengan mengisi atau mengganti area tertentu dengan konten baru berdasarkan konten gambar topeng.

Inpaint memiliki parameter yang diperlukan berikut:
+ **prompt** - Apa yang ingin Anda lihat pada gambar output. Prompt deskriptif yang kuat yang mendefinisikan elemen, warna, dan subjek dengan jelas akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kendalikan bobot dan berat adalah nilai. Nilai 0 dan 1.0 tidak menekankan kata dan nilai antara 1,1 dan 2 menekankan kata tersebut. Misalnya: Langit renyah (biru: 0,3) dan (hijau:1,8) akan menyampaikan langit yang biru dan hijau, tetapi lebih hijau daripada biru. Minimum 0 dan Maksimum 10000 karakter.
+ **image** ‐ (string) Gambar Base64 untuk inpaint. Setiap sisi gambar harus setidaknya 64 piksel. Jumlah piksel total tidak boleh melebihi 9.437.184 piksel. Rasio aspek gambar harus antara 1:2.5 dan 2.5:1. Format yang didukung: jpeg, png, webp.

Parameter berikut ini bersifat opsional:
+ **style\$1preset** - (string) Memandu model gambar menuju gaya tertentu. Enum: model 3D, film analog, anime, sinematik, buku komik, seni digital, peningkatan, seni fantasi, isometrik, seni garis, poli rendah, senyawa pemodelan, neon-punk, origami, fotografi, seni piksel, tekstur ubin.
+ **negative\$1prompt** - (string) Uraian teks yang menjelaskan apa yang tidak ingin Anda lihat pada gambar output. Ini adalah fitur lanjutan. Maksimal 10000 karakter.
+ **seed** ‐ (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Abaikan parameter ini atau berikan 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.
+ **output\$1format** - (string) Mendikte tipe konten dari gambar yang dihasilkan. Enum: jpeg, png, webp. Default png.
+ **mask** - (string) Mengontrol kekuatan proses inpainting pada basis per-piksel, baik melalui gambar kedua (diteruskan ke parameter ini) atau melalui saluran alfa dari parameter gambar.
  + **Melewati Topeng** - Gambar yang diteruskan ke parameter ini harus berupa gambar hitam putih yang mewakili, pada piksel apa pun, kekuatan inpainting berdasarkan seberapa gelap atau terang piksel yang diberikan. Piksel hitam sepenuhnya tidak mewakili kekuatan inpainting sementara piksel putih sepenuhnya mewakili kekuatan maksimum. Jika topeng memiliki ukuran yang berbeda dari parameter gambar, maka akan diubah ukurannya secara otomatis.
  + **Dukungan Saluran Alpha** - Jika Anda tidak memberikan topeng eksplisit, satu akan diturunkan dari saluran alfa dari parameter gambar. Piksel transparan akan dicat sementara piksel buram akan dipertahankan. Jika gambar dengan saluran alfa disediakan bersama dengan topeng, topeng akan diutamakan.
+ **grow\$1mask** - Menumbuhkan tepi topeng ke luar ke segala arah dengan jumlah piksel yang ditentukan. Area yang diperluas di sekitar topeng akan kabur, yang dapat membantu memperlancar transisi antara konten yang tidak dicat dan gambar asli. Rentang antara 0 dan 20. Default 5. Coba parameter ini jika Anda melihat jahitan atau tepi kasar di sekitar konten yang tidak dicat. Perhatikan bahwa pertumbuhan yang berlebihan dapat mengaburkan detail halus di topeng yang and/or menggabungkan daerah bertopeng di dekatnya.

------
#### [ 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)
```

------

Tabel berikut menunjukkan gambar input dan output dari operasi Inpaint.


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

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

Outpaint menyisipkan konten tambahan dalam gambar untuk mengisi ruang ke segala arah. Dibandingkan dengan upaya otomatis atau manual lainnya untuk memperluas konten dalam gambar, layanan Outpaint meminimalkan indikasi bahwa gambar asli telah diedit.

Outpaint memiliki parameter yang diperlukan berikut:
+ **image** ‐ (string) Gambar Base64 untuk outpaint. Setiap sisi gambar harus setidaknya 64 piksel. Jumlah piksel total tidak boleh melebihi 9.437.184 piksel. Rasio aspek gambar harus antara 1:2.5 dan 2.5:1. Format yang didukung: jpeg, png, webp.
**catatan**  
Setidaknya satu arah outpaint: (kiri, kanan, atas, atau bawah) harus diberikan dengan nilai bukan nol. Untuk hasil kualitas terbaik, pertimbangkan komposisi dan konten gambar asli Anda saat memilih arah pengecatan.

Parameter berikut ini bersifat opsional:
+ **prompt** - Apa yang ingin Anda lihat pada gambar output. Prompt deskriptif yang kuat yang mendefinisikan elemen, warna, dan subjek dengan jelas akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kendalikan bobot dan berat adalah nilai. Nilai 0 dan 1.0 tidak menekankan kata dan nilai antara 1,1 dan 2 menekankan kata tersebut. Misalnya: Langit renyah (biru: 0,3) dan (hijau:1,8) akan menyampaikan langit yang biru dan hijau, tetapi lebih hijau daripada biru. Minimum 0 dan Maksimum 10000 karakter.
+ **style\$1preset** - (string) Memandu model gambar menuju gaya tertentu. Enum: model 3D, film analog, anime, sinematik, buku komik, seni digital, peningkatan, seni fantasi, isometrik, seni garis, poli rendah, senyawa pemodelan, neon-punk, origami, fotografi, seni piksel, tekstur ubin.
+ **seed** ‐ (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Abaikan parameter ini atau berikan 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.
+ **output\$1format** - (string) Mendikte tipe konten dari gambar yang dihasilkan. Enum: jpeg, png, webp. Default png.
+ **kreativitas** - (angka) Menunjukkan seberapa kreatif model seharusnya saat mengecat gambar. Nilai yang lebih tinggi akan menghasilkan lebih banyak konten kreatif yang ditambahkan ke gambar selama pengecatan keluar. Rentang antara 0,1 dan 1,0. Default 0,5.
+ **kiri** - (integer) Jumlah piksel yang akan dilukis di sisi kiri gambar. Setidaknya satu arah pengecatan harus diberikan dengan nilai bukan nol. Rentang 0 hingga 2000. Detault 0.
+ **kanan** - (integer) Jumlah piksel yang akan dilukis di sisi kanan gambar. Setidaknya satu arah pengecatan harus diberikan dengan nilai bukan nol. Rentang 0 hingga 2000. Detault 0.
+ **up** - (integer) Jumlah piksel yang akan dilukis di bagian atas gambar. Setidaknya satu arah pengecatan harus diberikan dengan nilai bukan nol. Rentang 0 hingga 2000. Detault 0.
+ **down** - (integer) Jumlah piksel yang akan dilukis di bagian bawah gambar. Setidaknya satu arah pengecatan harus diberikan dengan nilai bukan nol. Rentang 0 hingga 2000. Detault 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)
```

------

Tabel berikut menunjukkan gambar input dan output dari operasi Outpaint.


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

### Cari dan Warnai Kembali
<a name="stable-image-services-10"></a>

Search and Recolor memungkinkan Anda mengubah warna objek tertentu dalam gambar menggunakan prompt. Layanan ini adalah versi inpainting khusus yang tidak memerlukan topeng. Ini akan secara otomatis mengelompokkan objek dan mewarnai ulang menggunakan warna yang diminta dalam prompt.

Search and Recolor memiliki parameter yang diperlukan berikut:
+ **prompt** - Apa yang ingin Anda lihat pada gambar output. Prompt deskriptif yang kuat yang mendefinisikan elemen, warna, dan subjek dengan jelas akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kendalikan bobot dan berat adalah nilai. Nilai 0 dan 1.0 tidak menekankan kata dan nilai antara 1,1 dan 2 menekankan kata tersebut. Misalnya: Langit renyah (biru: 0,3) dan (hijau:1,8) akan menyampaikan langit yang biru dan hijau, tetapi lebih hijau daripada biru. Minimum 0 dan Maksimum 10000 karakter.
+ **image** ‐ (string) Gambar Base64 untuk mewarnai ulang. Setiap sisi gambar harus setidaknya 64 piksel. Jumlah piksel total tidak boleh melebihi 9.437.184 piksel. Rasio aspek gambar harus antara 1:2.5 dan 2.5:1. Format yang didukung: jpeg, png, webp.
+ **select\$1prompt** ‐ (string) Deskripsi singkat tentang apa yang harus dicari dalam gambar. Maksimal 10000 karakter.

Parameter berikut ini bersifat opsional:
+ **style\$1preset** - (string) Memandu model gambar menuju gaya tertentu. Enum: model 3D, film analog, anime, sinematik, buku komik, seni digital, peningkatan, seni fantasi, isometrik, seni garis, poli rendah, senyawa pemodelan, neon-punk, origami, fotografi, seni piksel, tekstur ubin.
+ **negative\$1prompt** - (string) Uraian teks yang menjelaskan apa yang tidak ingin Anda lihat pada gambar output. Ini adalah fitur lanjutan. Maksimal 10000 karakter.
+ **seed** ‐ (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Abaikan parameter ini atau berikan 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.
+ **output\$1format** - (string) Mendikte tipe konten dari gambar yang dihasilkan. Enum: jpeg, png, webp. Default png.
+ **grow\$1mask** - Menumbuhkan tepi topeng ke luar ke segala arah dengan jumlah piksel yang ditentukan. Area yang diperluas di sekitar topeng akan kabur, yang dapat membantu memperlancar transisi antara konten yang tidak dicat dan gambar asli. Rentang antara 0 dan 20. Default 5. Coba parameter ini jika Anda melihat jahitan atau tepi kasar di sekitar konten yang tidak dicat. Perhatikan bahwa pertumbuhan yang berlebihan dapat mengaburkan detail halus di topeng yang and/or menggabungkan daerah bertopeng di dekatnya.

------
#### [ 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)
```

------

Tabel berikut menunjukkan gambar input dan output dari operasi Search and Recolor menggunakan prompt berikut: jaket *merah muda*.


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

### Cari dan Ganti
<a name="stable-image-services-11"></a>

Search and Replace memungkinkan Anda menggunakan prompt pencarian untuk mengidentifikasi objek dalam bahasa sederhana yang akan diganti. Layanan akan secara otomatis mengelompokkan objek dan menggantinya dengan objek yang diminta dalam prompt tanpa memerlukan topeng.

Cari dan Ganti memiliki parameter yang diperlukan berikut:
+ **prompt** - Apa yang ingin Anda lihat pada gambar output. Prompt deskriptif yang kuat yang mendefinisikan elemen, warna, dan subjek dengan jelas akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kendalikan bobot dan berat adalah nilai. Nilai 0 dan 1.0 tidak menekankan kata dan nilai antara 1,1 dan 2 menekankan kata tersebut. Misalnya: Langit renyah (biru: 0,3) dan (hijau:1,8) akan menyampaikan langit yang biru dan hijau, tetapi lebih hijau daripada biru. Minimum 0 dan Maksimum 10000 karakter.
+ **image** ‐ (string) Gambar Base64 untuk mewarnai ulang. Setiap sisi gambar harus setidaknya 64 piksel. Jumlah piksel total tidak boleh melebihi 9.437.184 piksel. Rasio aspek gambar harus antara 1:2.5 dan 2.5:1. Format yang didukung: jpeg, png, webp.
+ **search\$1prompt** - (string) Deskripsi singkat tentang apa yang harus dimasukkan dalam gambar. Maksimal 10000 karakter.

Parameter berikut ini bersifat opsional:
+ **style\$1preset** - (string) Memandu model gambar menuju gaya tertentu. Enum: model 3D, film analog, anime, sinematik, buku komik, seni digital, peningkatan, seni fantasi, isometrik, seni garis, poli rendah, senyawa pemodelan, neon-punk, origami, fotografi, seni piksel, tekstur ubin.
+ **negative\$1prompt** - (string) Uraian teks yang menjelaskan apa yang tidak ingin Anda lihat pada gambar output. Ini adalah fitur lanjutan. Maksimal 10000 karakter.
+ **seed** ‐ (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Abaikan parameter ini atau berikan 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.
+ **output\$1format** - (string) Mendikte tipe konten dari gambar yang dihasilkan. Enum: jpeg, png, webp. Default png.
+ **grow\$1mask** - Menumbuhkan tepi topeng ke luar ke segala arah dengan jumlah piksel yang ditentukan. Area yang diperluas di sekitar topeng akan kabur, yang dapat membantu memperlancar transisi antara konten yang tidak dicat dan gambar asli. Rentang antara 0 dan 20. Default 5. Coba parameter ini jika Anda melihat jahitan atau tepi kasar di sekitar konten yang tidak dicat. Perhatikan bahwa pertumbuhan yang berlebihan dapat mengaburkan detail halus di topeng yang and/or menggabungkan daerah bertopeng di dekatnya.

------
#### [ 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)
```

------

Tabel berikut menunjukkan gambar input dan output dari operasi Cari dan Ganti menggunakan prompt berikut: *jaket*.


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

### Hapus
<a name="stable-image-services-12"></a>

Hapus memungkinkan Anda untuk menghapus elemen yang tidak diinginkan menggunakan topeng gambar, sambil secara cerdas menjaga konsistensi latar belakang.

Hapus memiliki parameter yang diperlukan berikut:
+ **image** ‐ (string) Gambar Base64 untuk dihapus dari. Setiap sisi gambar harus setidaknya 64 piksel. Jumlah piksel total tidak boleh melebihi 9.437.184 piksel. Rasio aspek gambar harus antara 1:2.5 dan 2.5:1. Format yang didukung: jpeg, png, webp.

Parameter berikut ini bersifat opsional:
+ **seed** ‐ (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Abaikan parameter ini atau berikan 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.
+ **output\$1format** - (string) Mendikte tipe konten dari gambar yang dihasilkan. Enum: jpeg, png, webp. Default png.
+ **mask** - (string) Mengontrol kekuatan proses inpainting pada basis per-piksel, baik melalui gambar kedua (diteruskan ke parameter ini) atau melalui saluran alfa dari parameter gambar.
  + **Melewati Topeng** - Gambar yang diteruskan ke parameter ini harus berupa gambar hitam putih yang mewakili, pada piksel apa pun, kekuatan inpainting berdasarkan seberapa gelap atau terang piksel yang diberikan. Piksel hitam sepenuhnya tidak mewakili kekuatan inpainting sementara piksel putih sepenuhnya mewakili kekuatan maksimum. Jika topeng memiliki ukuran yang berbeda dari parameter gambar, maka akan diubah ukurannya secara otomatis.
  + **Dukungan Saluran Alpha** - Jika Anda tidak memberikan topeng eksplisit, satu akan diturunkan dari saluran alfa dari parameter gambar. Piksel transparan akan dicat sementara piksel buram akan dipertahankan. Jika gambar dengan saluran alfa disediakan bersama dengan topeng, topeng akan diutamakan.
+ **grow\$1mask** - Menumbuhkan tepi topeng ke luar ke segala arah dengan jumlah piksel yang ditentukan. Area yang diperluas di sekitar topeng akan kabur, yang dapat membantu memperlancar transisi antara konten yang tidak dicat dan gambar asli. Rentang antara 0 dan 20. Default 5. Coba parameter ini jika Anda melihat jahitan atau tepi kasar di sekitar konten yang tidak dicat. Perhatikan bahwa pertumbuhan yang berlebihan dapat mengaburkan detail halus di topeng yang and/or menggabungkan daerah bertopeng di dekatnya.

**catatan**  
Untuk hasil penghapusan yang optimal, pastikan masker Anda secara akurat mendefinisikan area yang akan dihapus. Jika tidak ada topeng eksplisit yang disediakan, layanan akan menggunakan saluran alfa dari gambar input. Topeng akan diutamakan jika keduanya disediakan.

------
#### [ 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)
```

------

Tabel berikut menunjukkan gambar input dan output dari operasi Erase.


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

### Hapus Latar Belakang
<a name="stable-image-services-13"></a>

Hapus Latar Belakang memungkinkan Anda untuk mengisolasi subjek dari latar belakang dengan presisi.

Hapus Latar Belakang memiliki parameter yang diperlukan berikut:
+ **image** - (string) Gambar Base64 untuk menghapus latar belakang dari. Setiap sisi gambar harus setidaknya 64 piksel. Jumlah piksel total tidak boleh melebihi 9.437.184 piksel. Rasio aspek gambar harus antara 1:2.5 dan 2.5:1. Format yang didukung: jpeg, png, webp.

Parameter berikut ini bersifat opsional:
+ **output\$1format** - (string) Mendikte tipe konten dari gambar yang dihasilkan. Enum: jpeg, png, webp. Default 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)
```

------

Tabel berikut menunjukkan gambar input dan output dari operasi Hapus Latar Belakang.


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

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

Bagian berikut menjelaskan kontrol Stabilitas AI Image Services.

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

Tingkatkan sketsa kasar yang digambar tangan ke output yang disempurnakan dengan kontrol yang tepat. Untuk gambar non-sketsa, Control Sketch memungkinkan manipulasi detail tampilan akhir dengan memanfaatkan garis kontur dan tepi dalam gambar.

Control Sketch memiliki parameter yang diperlukan sebagai berikut:
+ **prompt** - Apa yang ingin Anda lihat pada gambar output. Prompt deskriptif yang kuat yang mendefinisikan elemen, warna, dan subjek dengan jelas akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kendalikan bobot dan berat adalah nilai. Nilai 0 dan 1.0 tidak menekankan kata dan nilai antara 1,1 dan 2 menekankan kata tersebut. Misalnya: Langit renyah (biru: 0,3) dan (hijau:1,8) akan menyampaikan langit yang biru dan hijau, tetapi lebih hijau daripada biru. Minimum 0 dan Maksimum 10000 karakter.
+ **image** ‐ (string) Gambar Base64 dari sketsa. Setiap sisi gambar harus setidaknya 64 piksel. Jumlah piksel total tidak boleh melebihi 9.437.184 piksel. Rasio aspek gambar harus antara 1:2.5 dan 2.5:1. Format yang didukung: jpeg, png, webp.

Parameter berikut ini bersifat opsional:
+ **control\$1strength** ‐ (angka) Seberapa besar pengaruh, atau kontrol, gambar terhadap generasi. Diwakili sebagai float antara 0 dan 1, di mana 0 adalah pengaruh terkecil dan 1 adalah maksimum. Default 0,7.
+ **negative\$1prompt** - (string) Uraian teks yang menjelaskan apa yang tidak ingin Anda lihat pada gambar output. Ini adalah fitur lanjutan. Maksimal 10000 karakter.
+ **seed** ‐ (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Abaikan parameter ini atau berikan 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.
+ **output\$1format** - (string) Mendikte tipe konten dari gambar yang dihasilkan. Enum: jpeg, png, webp. Default png.
+ **style\$1preset** - Memandu model gambar menuju gaya tertentu. Enum: model 3D, film analog, anime, sinematik, buku komik, seni digital, peningkatan, seni fantasi, isometrik, seni garis, poli rendah, senyawa pemodelan, neon-punk, origami, fotografi, seni piksel, tekstur ubin.

------
#### [ 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)
```

------

Tabel berikut menunjukkan gambar input dan output dari panggilan Control Sketch menggunakan prompt berikut: *rumah dengan latar belakang pegunungan dan sungai yang mengalir di dekatnya*.


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

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

Struktur Kontrol memungkinkan Anda untuk menghasilkan gambar sambil mempertahankan struktur gambar input. Ini sangat berharga untuk skenario pembuatan konten tingkat lanjut seperti membuat ulang adegan atau merender karakter dari model.

Struktur Kontrol memiliki parameter yang diperlukan sebagai berikut:
+ **prompt** - Apa yang ingin Anda lihat pada gambar output. Prompt deskriptif yang kuat yang mendefinisikan elemen, warna, dan subjek dengan jelas akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kendalikan bobot dan berat adalah nilai. Nilai 0 dan 1.0 tidak menekankan kata dan nilai antara 1,1 dan 2 menekankan kata tersebut. Misalnya: Langit renyah (biru: 0,3) dan (hijau:1,8) akan menyampaikan langit yang biru dan hijau, tetapi lebih hijau daripada biru. Minimum 0 dan Maksimum 10000 karakter.
+ **image** ‐ (string) Gambar Base64 dari sketsa. Setiap sisi gambar harus setidaknya 64 piksel. Jumlah piksel total tidak boleh melebihi 9.437.184 piksel. Rasio aspek gambar harus antara 1:2.5 dan 2.5:1. Format yang didukung: jpeg, png, webp.

Parameter berikut ini bersifat opsional:
+ **control\$1strength** ‐ (angka) Seberapa besar pengaruh, atau kontrol, gambar terhadap generasi. Diwakili sebagai float antara 0 dan 1, di mana 0 adalah pengaruh terkecil dan 1 adalah maksimum. Default 0,7.
+ **negative\$1prompt** - (string) Uraian teks yang menjelaskan apa yang tidak ingin Anda lihat pada gambar output. Ini adalah fitur lanjutan. Maksimal 10000 karakter.
+ **seed** ‐ (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Abaikan parameter ini atau berikan 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.
+ **output\$1format** - (string) Mendikte tipe konten dari gambar yang dihasilkan. Enum: jpeg, png, webp. Default png.
+ **style\$1preset** - Memandu model gambar menuju gaya tertentu. Enum: model 3D, film analog, anime, sinematik, buku komik, seni digital, peningkatan, seni fantasi, isometrik, seni garis, poli rendah, senyawa pemodelan, neon-punk, origami, fotografi, seni piksel, tekstur ubin.

------
#### [ 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)
```

------

Tabel berikut menunjukkan gambar input dan output dari operasi Struktur Kontrol menggunakan prompt berikut: *struktur surealis dengan percikan yang dihasilkan gerakan menerangi pemandangan*.


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

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

Style Guide memungkinkan Anda untuk mengekstrak elemen gaya dari gambar input dan menggunakannya untuk memandu pembuatan gambar output berdasarkan prompt. Hasilnya adalah gambar baru dengan gaya yang sama dengan gambar input.

Panduan Gaya memiliki parameter yang diperlukan sebagai berikut:
+ **prompt** - Apa yang ingin Anda lihat pada gambar output. Prompt deskriptif yang kuat yang mendefinisikan elemen, warna, dan subjek dengan jelas akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kendalikan bobot dan berat adalah nilai. Nilai 0 dan 1.0 tidak menekankan kata dan nilai antara 1,1 dan 2 menekankan kata tersebut. Misalnya: Langit renyah (biru: 0,3) dan (hijau:1,8) akan menyampaikan langit yang biru dan hijau, tetapi lebih hijau daripada biru. Minimum 0 dan Maksimum 10000 karakter.
+ **image** ‐ (string) Gambar Base64 dari sketsa. Setiap sisi gambar harus setidaknya 64 piksel. Jumlah piksel total tidak boleh melebihi 9.437.184 piksel. Rasio aspek gambar harus antara 1:2.5 dan 2.5:1. Format yang didukung: jpeg, png, webp.

Parameter berikut ini bersifat opsional:
+ **aspect\$1ratio** - (string) Mengontrol rasio aspek dari gambar yang dihasilkan. Parameter ini hanya berlaku untuk text-to-image permintaan. Standar 1:1. Enum: 16:9, 1:1, 21:9, 2:3, 3:2, 4:5, 5:4, 9:16, 9:21. Standar 1:1.
+ **negative\$1prompt** - (string) Uraian teks yang menjelaskan apa yang tidak ingin Anda lihat pada gambar output. Ini adalah fitur lanjutan. Maksimal 10000 karakter.
+ **seed** ‐ (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Abaikan parameter ini atau berikan 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.
+ **output\$1format** - (string) Mendikte tipe konten dari gambar yang dihasilkan. Enum: jpeg, png, webp. Default png.
+ **fidelity** - (angka) Seberapa dekat gaya gambar keluaran menyerupai gaya gambar input. Rentang 0 hingga 1. Default 0,5.
+ **style\$1preset** - Memandu model gambar menuju gaya tertentu. Enum: model 3D, film analog, anime, sinematik, buku komik, seni digital, peningkatan, seni fantasi, isometrik, seni garis, poli rendah, senyawa pemodelan, neon-punk, origami, fotografi, seni piksel, tekstur ubin.

------
#### [ 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)
```

------

Tabel berikut menunjukkan gambar input dan output dari panggilan Style Guide menggunakan prompt berikut: *bidikan lebar kota metropolitan modern*.


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

### Transfer Gaya
<a name="stable-image-services-4"></a>

Style Transfer memungkinkan Anda menerapkan karakteristik visual dari gambar gaya referensi ke gambar target. Sementara layanan Style Guide mengekstrak elemen gaya dari gambar input dan menggunakannya untuk memandu pembuatan gambar output berdasarkan prompt, Style Transfer secara khusus mengubah konten yang ada sambil mempertahankan komposisi aslinya. Alat ini membantu membuat konten yang konsisten di beberapa aset.

Style Transfer memiliki parameter yang diperlukan sebagai berikut:
+ **init\$1image** ‐ (string) Gambar Base64 yang berisi subjek yang ingin Anda restyle. Setiap sisi gambar harus setidaknya 64 piksel. Jumlah piksel total tidak boleh melebihi 9.437.184 piksel. Rasio aspek gambar harus antara 1:2.5 dan 2.5:1. Format yang didukung: jpeg, png, webp.
+ **style\$1image** ‐ (string) Gambar Base64 yang berisi subjek yang ingin Anda restyle. Setiap sisi gambar harus setidaknya 64 piksel. Jumlah piksel total tidak boleh melebihi 9.437.184 piksel. Rasio aspek gambar harus antara 1:2.5 dan 2.5:1. Format yang didukung: jpeg, png, webp.

Parameter berikut ini bersifat opsional:
+ **prompt** - (string) Apa yang ingin Anda lihat pada gambar output. Prompt deskriptif yang kuat yang mendefinisikan elemen, warna, dan subjek dengan jelas akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kendalikan bobot dan berat adalah nilai. Nilai 0 dan 1.0 tidak menekankan kata dan nilai antara 1,1 dan 2 menekankan kata tersebut. Misalnya: Langit renyah (biru: 0,3) dan (hijau:1,8) akan menyampaikan langit yang biru dan hijau, tetapi lebih hijau daripada biru.
+ **negative\$1prompt** - (string) Uraian teks yang menjelaskan apa yang tidak ingin Anda lihat pada gambar output. Ini adalah fitur lanjutan. Maksimal 10000 karakter.
+ **seed** ‐ (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Abaikan parameter ini atau berikan 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.
+ **output\$1format** - (string) Mendikte tipe konten dari gambar yang dihasilkan. Enum: jpeg, png, webp. Default png.
+ **composition\$1fidelity** ‐ (angka) Seberapa dekat gaya gambar keluaran menyerupai gaya gambar input. Rentang antara 0 dan 1. Default 0.9.
+ **style\$1strength** - (angka) Kadang-kadang disebut sebagai denoising, parameter ini mengontrol seberapa besar pengaruh parameter style\$1image pada gambar yang dihasilkan. Nilai 0 akan menghasilkan gambar yang identik dengan input. Nilai 1 akan seolah-olah Anda tidak memberikan gambar sama sekali. Rentang antara 0 dan 1. Default 1.
+ **change\$1strength** ‐ (angka) Berapa banyak gambar asli harus berubah. Rentang antara 0,1 dan 1. Default 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)
```

------

Tabel berikut menunjukkan gambar input dan output dari panggilan Style Transfer.


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