View a markdown version of this page

Stabilitas Layanan Gambar AI - Amazon Bedrock

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

Stabilitas Layanan Gambar AI

Anda dapat menggunakan Stability AI Image Services dengan Amazon Bedrock untuk mengakses tiga belas alat pengeditan gambar khusus. Alat ini 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. Anda juga dapat menghapus dan mengganti objek dalam gambar.

Bagian ini menjelaskan cara membuat panggilan inferensi ke Stability AI Image Services menggunakan. InvokeModel Bagian ini juga menyediakan 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 AI-based gambar, termasuk melukis dengan topeng (isian generatif), 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 menggunakan ControlNets dan teknologi serupa yang dibangun di atas model Difusi Stabil.

catatan

Berlangganan setiap pengeditan atau kontrol Stability AI Image Service secara otomatis mendaftarkan Anda di semua tiga belas Layanan Gambar Stabilitas AI yang tersedia.

Permintaan dan tanggapan

Badan permintaan diteruskan di body bidang permintaan ke InvokeModel.

Bidang tubuh permintaan pemanggilan model

Saat Anda melakukan InvokeModel panggilan menggunakan Stability AI Image Services, isi bidang tubuh dengan objek JSON yang terlihat seperti berikut ini.

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

Model bidang tubuh respons pemanggilan

Saat Anda melakukan InvokeModel panggilan menggunakan Stability AI Image Services, responsnya terlihat seperti berikut

{ 'seeds': [2130420379], 'finish_reasons': [null], 'images': ['...'] }
  • seed — (string) Daftar benih yang digunakan untuk menghasilkan gambar untuk model.

  • finish_reason — Enum menunjukkan apakah permintaan telah difilter atau tidak. nullakan 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 selengkapnya, lihat https://platform.us.stability.ai/docs/api-reference # tag/v1generation.

Kelas Atas

Bagian berikut menjelaskan Layanan Gambar Stabilitas AI kelas atas.

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 karena melakukan reimagining yang berat.

Creative Upscale memiliki parameter yang diperlukan berikut:

  • prompt — Apa yang ingin Anda lihat di gambar output. Prompt deskriptif yang kuat yang secara jelas mendefinisikan elemen, warna, dan subjek akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kontrol bobotnya 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 meningkatkan. 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 skala gambar. Nilai yang lebih tinggi akan menghasilkan lebih banyak detail ditambahkan ke gambar selama peningkatan skala. Kisaran antara 0,1 dan 0,5. Standar 0.3

  • negative_prompt — (string) Blurb teks yang menjelaskan apa yang tidak ingin Anda lihat di gambar keluaran. Ini adalah fitur lanjutan. Maksimal 10000 karakter.

  • benih — (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Hilangkan parameter ini atau lewati 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.

  • output_format — (string) Menentukan jenis konten dari gambar yang dihasilkan. Nama: jpeg, png, webp. Png default.

  • style_preset — Memandu model gambar menuju gaya tertentu. Enum: model 3d, film analog, anime, sinematik, buku komik, seni digital, peningkatan, seni fantasi, isometrik, seni garis, low-poly, majemuk 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. Prompt yang digunakan adalah: Seni digital seperti mimpi ini menangkap Big Ben yang semarak dan kaleidoskopik di London.

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.

Konservatif Upscale memiliki parameter yang diperlukan berikut:

  • prompt — Apa yang ingin Anda lihat di gambar output. Prompt deskriptif yang kuat yang secara jelas mendefinisikan elemen, warna, dan subjek akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kontrol bobotnya 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 meningkatkan. 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 skala gambar. Nilai yang lebih tinggi akan menghasilkan lebih banyak detail ditambahkan ke gambar selama peningkatan skala. Kisaran antara 0,1 dan 0,5. Standar 0.35

  • negative_prompt — (string) Blurb teks yang menjelaskan apa yang tidak ingin Anda lihat di gambar keluaran. Ini adalah fitur lanjutan. Maksimal 10000 karakter.

  • benih — (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Hilangkan parameter ini atau lewati 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.

  • output_format — (string) Menentukan jenis konten dari gambar yang dihasilkan. Nama: jpeg, png, webp. Png default.

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 Konservative Upscale. Prompt yang digunakan adalah: Seni digital seperti mimpi ini menangkap Big Ben yang semarak dan kaleidoskopik di London.

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.

Fast upscale memiliki parameter yang diperlukan berikut:

  • image — (string) Gambar Base64 untuk meningkatkan. 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_format — (string) Menentukan jenis konten dari gambar yang dihasilkan. Nama: jpeg, png, webp. Png default.

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.

Edit

Bagian berikut menjelaskan suntingan Stability AI Image Services.

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 di gambar output. Prompt deskriptif yang kuat yang secara jelas mendefinisikan elemen, warna, dan subjek akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kontrol bobotnya 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 mengecat. 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_preset — (string) Memandu model gambar menuju gaya tertentu. Enum: model 3d, film analog, anime, sinematik, buku komik, seni digital, peningkatan, seni fantasi, isometrik, seni garis, low-poly, majemuk pemodelan, neon-punk, origami, fotografi, seni piksel, tekstur ubin.

  • negative_prompt — (string) Blurb teks yang menjelaskan apa yang tidak ingin Anda lihat dalam gambar keluaran. Ini adalah fitur lanjutan. Maksimal 10000 karakter.

  • benih — (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Hilangkan parameter ini atau lewati 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.

  • output_format — (string) Menentukan jenis konten dari gambar yang dihasilkan. Nama: jpeg, png, webp. Png default.

  • mask — (string) Mengontrol kekuatan proses inpainting berdasarkan per-piksel. Anda dapat mengontrolnya melalui gambar kedua (diteruskan ke parameter ini) atau melalui saluran alfa dari parameter gambar.

    • Meneruskan Topeng — Gambar yang diteruskan ke parameter ini harus berupa gambar hitam putih yang mewakili, pada piksel apa pun, kekuatan pengecatan berdasarkan seberapa gelap atau terang piksel yang diberikan. Piksel hitam sepenuhnya mewakili tidak ada kekuatan pengecatan sementara piksel putih sepenuhnya mewakili kekuatan maksimum. Jika topeng memiliki ukuran yang berbeda dari parameter gambar, maka ukurannya akan diubah 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_mask — 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 dicat dan gambar asli. Rentang antara 0 dan 20. Standar 5. Coba parameter ini jika Anda melihat jahitan atau tepi kasar di sekitar konten yang dicat. Perhatikan bahwa pertumbuhan yang berlebihan dapat mengaburkan detail halus dalam masker and/or menggabungkan daerah bertopeng terdekat.

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

Pria berbaju tiga potong biru berdiri di luar ruangan di malam hari dengan latar belakang cakrawala kota.

“Man in metropolitan” dihasilkan oleh Stable Image Ultra, Prompt dan suntingan oleh Sanwal Yousaf. Dilisensikan di bawah CC BY 4.0

Gambar topeng yang menunjukkan area yang dipilih untuk mengecat, dengan wilayah yang dipilih disorot.
Orang yang mengenakan baju besi futuristik dengan elemen biru bersinar melawan cakrawala kota di malam hari.

Outpaint menyisipkan konten tambahan dalam gambar untuk mengisi ruang ke segala arah. Metode otomatis atau manual lainnya untuk memperluas konten gambar dapat meninggalkan artefak yang terlihat. Layanan Outpaint meminimalkan indikasi bahwa gambar asli telah diedit.

Outpaint memiliki parameter yang diperlukan berikut:

  • image — (string) Gambar Base64 untuk mengecat. 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 pengecatan: (kiri, kanan, atas, atau bawah) harus dilengkapi 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 di gambar output. Prompt deskriptif yang kuat yang secara jelas mendefinisikan elemen, warna, dan subjek akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kontrol bobotnya 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_preset — (string) Memandu model gambar menuju gaya tertentu. Enum: model 3d, film analog, anime, sinematik, buku komik, seni digital, peningkatan, seni fantasi, isometrik, seni garis, low-poly, majemuk pemodelan, neon-punk, origami, fotografi, seni piksel, tekstur ubin.

  • benih — (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Hilangkan parameter ini atau lewati 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.

  • output_format — (string) Menentukan jenis konten dari gambar yang dihasilkan. Nama: jpeg, png, webp. Png default.

  • kreativitas — (angka) Menunjukkan seberapa kreatif model seharusnya saat mengecat gambar. Nilai yang lebih tinggi akan menghasilkan konten yang lebih kreatif ditambahkan ke gambar selama pengecatan. Kisaran antara 0,1 dan 1,0. Default 0.5.

  • left — (integer) Jumlah piksel untuk mengecat di sisi kiri gambar. Setidaknya satu arah pengecatan harus dilengkapi dengan nilai bukan nol. Rentang 0 hingga 2000. Detail 0.

  • right — (integer) Jumlah piksel untuk mengecat di sisi kanan gambar. Setidaknya satu arah pengecatan harus dilengkapi dengan nilai bukan nol. Rentang 0 hingga 2000. Detail 0.

  • up — (integer) Jumlah piksel untuk mengecat di bagian atas gambar. Setidaknya satu arah pengecatan harus dilengkapi dengan nilai bukan nol. Rentang 0 hingga 2000. Detail 0.

  • down — (integer) Jumlah piksel untuk mengecat di bagian bawah gambar. Setidaknya satu arah pengecatan harus dilengkapi dengan nilai bukan nol. Rentang 0 hingga 2000. Detail 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.

Search and Recolor memungkinkan Anda mengubah warna objek tertentu dalam gambar menggunakan prompt. Layanan ini adalah versi spesifik dari inpainting 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 di gambar output. Prompt deskriptif yang kuat yang secara jelas mendefinisikan elemen, warna, dan subjek akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kontrol bobotnya 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_prompt — (string) Deskripsi singkat tentang apa yang harus dicari dalam gambar. Maksimal 10000 karakter.

Parameter berikut ini bersifat opsional:

  • style_preset — (string) Memandu model gambar menuju gaya tertentu. Enum: model 3d, film analog, anime, sinematik, buku komik, seni digital, peningkatan, seni fantasi, isometrik, seni garis, low-poly, majemuk pemodelan, neon-punk, origami, fotografi, seni piksel, tekstur ubin.

  • negative_prompt — (string) Blurb teks yang menjelaskan apa yang tidak ingin Anda lihat di gambar keluaran. Ini adalah fitur lanjutan. Maksimal 10000 karakter.

  • benih — (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Hilangkan parameter ini atau lewati 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.

  • output_format — (string) Menentukan jenis konten dari gambar yang dihasilkan. Nama: jpeg, png, webp. Png default.

  • grow_mask — 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 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 dicat. Perhatikan bahwa pertumbuhan yang berlebihan dapat mengaburkan detail halus dalam masker and/or menggabungkan daerah bertopeng terdekat.

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. Prompt yang digunakan adalah: jaket merah muda.

Input

Output

Orang yang mengenakan kacamata hitam dan jaket buntal biru dengan ransel dalam pengaturan gunung bersalju.

“Pria mengenakan jaket puffer” yang dihasilkan oleh Stable Image Ultra, Prompt dan suntingan oleh Sanwal Yousaf. Dilisensikan di bawah CC BY 4.0

Orang yang mengenakan kacamata hitam dan jaket musim dingin ungu dengan ransel dalam pengaturan gunung bersalju.

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 di gambar output. Prompt deskriptif yang kuat yang secara jelas mendefinisikan elemen, warna, dan subjek akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kontrol bobotnya 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_prompt — (string) Deskripsi singkat tentang apa yang harus dicat dalam gambar. Maksimal 10000 karakter.

Parameter berikut ini bersifat opsional:

  • style_preset — (string) Memandu model gambar menuju gaya tertentu. Enum: model 3d, film analog, anime, sinematik, buku komik, seni digital, peningkatan, seni fantasi, isometrik, seni garis, low-poly, majemuk pemodelan, neon-punk, origami, fotografi, seni piksel, tekstur ubin.

  • negative_prompt — (string) Blurb teks yang menjelaskan apa yang tidak ingin Anda lihat di gambar keluaran. Ini adalah fitur lanjutan. Maksimal 10000 karakter.

  • benih — (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Hilangkan parameter ini atau lewati 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.

  • output_format — (string) Menentukan jenis konten dari gambar yang dihasilkan. Nama: jpeg, png, webp. Png default.

  • grow_mask — 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 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 dicat. Perhatikan bahwa pertumbuhan yang berlebihan dapat mengaburkan detail halus dalam masker and/or menggabungkan daerah bertopeng terdekat.

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 Search and Replace. Prompt yang digunakan adalah: jaket.

Input

Output

Wanita mengenakan sweter oranye di luar ruangan dengan dedaunan musim gugur di latar belakang.

“Model wanita mengenakan sweater musim gugur” yang dihasilkan oleh Stable Image Ultra. Petunjuk dan pengeditan oleh Sanwal Yousaf. Dilisensikan di bawah CC BY 4.0

Wanita mengenakan jaket zaitun dan kemeja putih di luar ruangan dengan dedaunan musim gugur di latar belakang.

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

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:

  • benih — (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Hilangkan parameter ini atau lewati 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.

  • output_format — (string) Menentukan jenis konten dari gambar yang dihasilkan. Nama: jpeg, png, webp. Png default.

  • mask — (string) Mengontrol kekuatan proses inpainting berdasarkan per-piksel. Anda dapat mengontrolnya melalui gambar kedua (diteruskan ke parameter ini) atau melalui saluran alfa dari parameter gambar.

    • Meneruskan Topeng — Gambar yang diteruskan ke parameter ini harus berupa gambar hitam putih yang mewakili, pada piksel apa pun, kekuatan pengecatan berdasarkan seberapa gelap atau terang piksel yang diberikan. Piksel hitam sepenuhnya mewakili tidak ada kekuatan pengecatan sementara piksel putih sepenuhnya mewakili kekuatan maksimum. Jika topeng memiliki ukuran yang berbeda dari parameter gambar, maka ukurannya akan diubah 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_mask — 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 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 dicat. Perhatikan bahwa pertumbuhan yang berlebihan dapat mengaburkan detail halus dalam masker and/or menggabungkan daerah bertopeng terdekat.

catatan

Untuk hasil penghapusan yang optimal, pastikan masker Anda secara akurat menentukan 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

Tampilan atas meja terorganisir dengan laptop, buku catatan terbuka, pena, dan tanaman di permukaan kayu.

“Meja Siswa” dihasilkan oleh Stable Image Ultra. Petunjuk dan pengeditan oleh Sanwal Yousaf. Dilisensikan di bawah CC BY 4.0

Gambar topeng yang menunjukkan objek yang dipilih untuk dihapus, dengan area target disorot.
Tampilan atas meja terorganisir dengan laptop, buku catatan terbuka, pensil, dan jurnal biru.

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_format — (string) Menentukan jenis konten dari gambar yang dihasilkan. Nama: jpeg, png, webp. Png default.

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

Wanita mengenakan sweter oranye di luar ruangan dengan dedaunan musim gugur di latar belakang.

“Model wanita mengenakan sweter musim gugur” yang dihasilkan oleh Stable Image Ultra. Petunjuk dan pengeditan oleh Sanwal Yousaf. Dilisensikan di bawah CC BY 4.0

Orang yang mengenakan sweter rajut oranye dengan latar belakang dengan garis-garis horizontal.

Kontrol

Bagian berikut menjelaskan kontrol Stability AI Image Services.

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 menggunakan garis kontur dan tepi dalam gambar.

Control Sketch memiliki parameter yang diperlukan berikut:

  • prompt — Apa yang ingin Anda lihat di gambar output. Prompt deskriptif yang kuat yang secara jelas mendefinisikan elemen, warna, dan subjek akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kontrol bobotnya dan berat adalah nilai. Nilai 0 dan 1.0 tidak menekankan kata dan nilai antara 1,1 dan 2 menekankan kata tersebut. Sebagai contoh: Langit itu 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_strong — (angka) Seberapa besar pengaruh, atau kontrol, gambar terhadap generasi. Direpresentasikan sebagai float antara 0 dan 1, di mana 0 adalah pengaruh paling kecil dan 1 adalah maksimum. Default 0.7.

  • negative_prompt — (string) Blurb teks yang menjelaskan apa yang tidak ingin Anda lihat di gambar keluaran. Ini adalah fitur lanjutan. Maksimal 10000 karakter.

  • benih — (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Hilangkan parameter ini atau lewati 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.

  • output_format — (string) Menentukan jenis konten dari gambar yang dihasilkan. Nama: jpeg, png, webp. Png default.

  • style_preset — Memandu model gambar menuju gaya tertentu. Enum: model 3d, film analog, anime, sinematik, buku komik, seni digital, peningkatan, seni fantasi, isometrik, seni garis, low-poly, majemuk 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. Prompt yang digunakan adalah: rumah dengan latar belakang pegunungan dan sungai yang mengalir di dekatnya.

Input

Output

Gambar garis sederhana sebuah rumah di lereng bukit dengan pegunungan di latar belakang.

“Sketsa rumah, gunung, dan sungai” oleh Sanwal Yousaf. Dilisensikan di bawah CC BY 4.0

Lembah gunung dengan sungai, padang rumput hijau, bangunan tradisional, dan puncak yang tertutup salju.

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 di gambar output. Prompt deskriptif yang kuat yang secara jelas mendefinisikan elemen, warna, dan subjek akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kontrol bobotnya dan berat adalah nilai. Nilai 0 dan 1.0 tidak menekankan kata dan nilai antara 1,1 dan 2 menekankan kata tersebut. Sebagai contoh: Langit itu 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_strong — (angka) Seberapa besar pengaruh, atau kontrol, gambar terhadap generasi. Direpresentasikan sebagai float antara 0 dan 1, di mana 0 adalah pengaruh paling kecil dan 1 adalah maksimum. Default 0.7.

  • negative_prompt — (string) Blurb teks yang menjelaskan apa yang tidak ingin Anda lihat di gambar keluaran. Ini adalah fitur lanjutan. Maksimal 10000 karakter.

  • benih — (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Hilangkan parameter ini atau lewati 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.

  • output_format — (string) Menentukan jenis konten dari gambar yang dihasilkan. Nama: jpeg, png, webp. Png default.

  • style_preset — Memandu model gambar menuju gaya tertentu. Enum: model 3d, film analog, anime, sinematik, buku komik, seni digital, peningkatan, seni fantasi, isometrik, seni garis, low-poly, majemuk 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. Prompt yang digunakan adalah: struktur surealis dengan gerakan yang dihasilkan percikan yang menerangi pemandangan.

Input

Output

Interior terowongan dengan pola bata yang diterangi dan percikan api terbang di pembukaan.

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

Style Guide memiliki parameter yang diperlukan berikut:

  • prompt — Apa yang ingin Anda lihat di gambar output. Prompt deskriptif yang kuat yang secara jelas mendefinisikan elemen, warna, dan subjek akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kontrol bobotnya 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_ratio — (string) Mengontrol rasio aspek gambar yang dihasilkan. Parameter ini hanya berlaku untuk permintaan teks-ke-gambar. 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_prompt — (string) Blurb teks yang menjelaskan apa yang tidak ingin Anda lihat di gambar keluaran. Ini adalah fitur lanjutan. Maksimal 10000 karakter.

  • benih — (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Hilangkan parameter ini atau lewati 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.

  • output_format — (string) Menentukan jenis konten dari gambar yang dihasilkan. Nama: jpeg, png, webp. Png default.

  • kesetiaan — (angka) Seberapa dekat gaya gambar keluaran menyerupai gaya gambar input. Rentang 0 hingga 1. Default 0.5.

  • style_preset — Memandu model gambar menuju gaya tertentu. Enum: model 3d, film analog, anime, sinematik, buku komik, seni digital, peningkatan, seni fantasi, isometrik, seni garis, low-poly, majemuk 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. Prompt yang digunakan adalah: bidikan lebar kota metropolitan modern.

Input

Output

Lukisan abstrak dengan warna-warna cerah termasuk sapuan kuas biru, kuning, hijau, oranye, dan merah.

“Lukisan Abstrak” oleh Steven Johnson. Dilisensikan di bawah CC

Pemandangan kota abstrak berwarna-warni dengan bangunan berwarna biru, kuning, hijau, oranye, dan merah.

Style Transfer memungkinkan Anda untuk menerapkan karakteristik visual dari gambar gaya referensi ke gambar target. Layanan Style Guide mengekstrak elemen gaya dari gambar input dan menggunakannya untuk memandu pembuatan gambar keluaran 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 berikut:

  • init_image — (string) Gambar Base64 yang berisi subjek yang ingin Anda ubah. 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_image — (string) Gambar Base64 yang berisi subjek yang ingin Anda ubah. 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 di gambar output. Prompt deskriptif yang kuat yang secara jelas mendefinisikan elemen, warna, dan subjek akan menghasilkan hasil yang lebih baik. Untuk mengontrol bobot kata tertentu gunakan format (kata: berat), di mana kata adalah kata yang ingin Anda kontrol bobotnya 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_prompt — (string) Blurb teks yang menjelaskan apa yang tidak ingin Anda lihat di gambar keluaran. Ini adalah fitur lanjutan. Maksimal 10000 karakter.

  • benih — (angka) Nilai spesifik yang digunakan untuk memandu 'keacakan' generasi. (Hilangkan parameter ini atau lewati 0 untuk menggunakan benih acak.) Rentang 0 hingga 4294967294. Default 0.

  • output_format — (string) Menentukan jenis konten dari gambar yang dihasilkan. Nama: jpeg, png, webp. Png default.

  • composition_fidelitas — (angka) Seberapa dekat gaya gambar keluaran menyerupai gaya gambar input. Rentang antara 0 dan 1. Default 0.9.

  • style_strong — (number) Kadang-kadang disebut sebagai denoising, parameter ini mengontrol seberapa besar pengaruh parameter style_image terhadap gambar yang dihasilkan. Nilai 0 akan menghasilkan gambar yang identik dengan input. Nilai 1 akan seolah-olah Anda tidak memasukkan gambar sama sekali. Rentang antara 0 dan 1. Standar 1.

  • change_strong — (angka) Berapa banyak gambar asli harus berubah. Kisaran 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

Jaringan garis biru menyala menghubungkan bangunan di lanskap kota malam hari.

“Blue Bright Lights” oleh Pixabay. Dilisensikan di bawah CC0

Patung klasik dengan pencahayaan cyan dalam suasana perkotaan dengan latar belakang arsitektur modern.