本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Stable Diffusion 3 大量请求和响应
请求正文在请求body
字段中传递给InvokeModel或InvokeModelWithResponseStream。
模型调用请求正文字段
当你使用 InvokeModel 拨打电话时 Stable Diffusion 3 大型模型,用如下所示的JSON物体填充身体区域。
{ 'prompt': 'Create an image of a panda' }
模型调用响应正文字段
当你使用InvokeModel
拨打电话时 Stable Diffusion 3 大型模型,响应如下所示
{ 'seeds': [2130420379], "finish_reasons": [null], "images": ["..."] }
如果回复的完成原因不是null
,则如下所示:
{ "finish_reasons": ["Filter reason: prompt"] }
se@@ ed s —(字符串)用于为模型生成图像的种子列表。
-
finish_reas ons — 表示请求是否被过滤的枚举。
null
将表明请求成功。当前可能的值:"Filter reason: prompt", "Filter reason: output image", "Filter reason: input image", "Inference error", null
. -
images — 以 base64 字符串格式生成的图像列表。
有关更多信息,请参阅 https://platform.stability.ai/docs/api-reference#tag/v1generation
- Text to image
-
Stability.ai Stable Diffusion 3 大型模型具有以下推理调用的推 text-to-image 理参数。
-
pro mpt —(字符串)你希望在输出图像中看到的内容。清晰定义元素、颜色和主题的强有力的描述性提示将带来更好的结果。
最低 最高 0
10000
可选字段
aspect_rat io —(字符串)控制生成图像的纵横比。此参数仅对 text-to-image 请求有效。默认 1:1。枚举:16:9、1:1、21:9、2:3、3:2、4:5、5:4、9:16、9:21。
-
mode — 控制这是 text-to-image 还是 image-to-image 世代,这会影响需要哪些参数。默认: text-to-image。枚举:
image-to-image
,text-to-image
。 -
ou@@ tput_forma t — 指定输出图像的格式。支持的格式:JPEG,PNG。支持的尺寸:高 640 到 1,536 像素,宽度 640 到 1,536 像素。
-
seed —(数字)用于指导生成的 “随机性” 的特定值。(省略此参数或传递 0 以使用随机种子。) 范围:0 到 4294967295。
-
negative_promp t — 你不希望在输出图像中看到的内容的关键字。最大值:10,000 个字符。
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-large-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")
-
- Image to image
-
Stability.ai Stable Diffusion 3 大型模型具有以下推理调用的推 image-to-image 理参数。
text_prompts(必要)– 用于生成的文本提示数组。每个元素都是一个包含提示和提示权重的JSON对象。
-
pro mpt —(字符串)你希望在输出图像中看到的内容。清晰定义元素、颜色和主题的强有力的描述性提示将带来更好的结果。
最低 最高 0
10000
-
图片 — base64 格式的字符串。用作生成起点的图像。支持的格式:JPEG,PNG,WEBP(主机WEBP不支持),支持的尺寸:宽度:640-1536 px,高度:640-1536 px。
-
强度-数字。此参数有时被称为去噪,它控制图像参数对生成的图像的影响程度。值为 0 将生成与输入相同的图像。值为 1 就好像你根本没有传入任何图像一样。射程:[0, 1]
-
模式 — 必须设置为
image-to-image
。
可选字段
aspect_rat io —(字符串)控制生成图像的纵横比。此参数仅对 text-to-image 请求有效。默认 1:1。枚举:16:9、1:1、21:9、2:3、3:2、4:5、5:4、9:16、9:21。
-
mode — 控制这是 text-to-image 还是 image-to-image 世代,这会影响需要哪些参数。默认: text-to-image。枚举:
image-to-image
,text-to-image
。 -
ou@@ tput_forma t — 指定输出图像的格式。支持的格式:JPEG,PNG。支持的尺寸:高 640 到 1,536 像素,宽度 640 到 1,536 像素。
-
seed —(数字)用于指导生成的 “随机性” 的特定值。(省略此参数或传递 0 以使用随机种子。) 范围:0 到 4294967295。
-
negative_promp t — 你不希望在输出图像中看到的内容的关键字。最大值:10,000 个字符。
import boto3 import json import base64 import io from PIL import Image bedrock = boto3.client('bedrock-runtime', region_name='us-west-2') file_path = 'input_image.png' image_bytes = open(file_path, "rb").read() base64_image = base64.b64encode(image_bytes).decode("utf-8") response = bedrock.invoke_model( modelId='stability.sd3-large-v1:0', body=json.dumps({ 'prompt': 'A car made out of fruits', 'image': base64_image, 'strength': 0.75, 'mode': 'image-to-image' }) ) 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("output_image.png")
-