Stable Diffusion 3 大量请求和响应 - Amazon Bedrock

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Stable Diffusion 3 大量请求和响应

请求正文在请求body字段中传递给InvokeModelInvokeModelWithResponseStream

模型调用请求正文字段

当你使用 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")