你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
OpenAI 的图像生成模型根据用户提供的文本提示及图像选择来呈现图像。 本指南演示如何使用映像生成模型并通过 REST API 调用配置其选项。
先决条件
- Azure 订阅。 可以 免费创建一个。
- 在受支持的区域中创建的 Azure OpenAI 资源。 请参阅 区域可用性。
- 使用 Azure OpenAI 资源部署
dall-e-3
模型或gpt-image-1
模型。 有关部署的详细信息,请参阅 使用 Azure OpenAI 创建资源并部署模型。- GPT-image-1 是较新的模型,在 DALL-E 3 上进行了多项改进。 它在受限访问权限中可用:使用此 表单申请访问。
调用映像生成 API
以下命令显示了将图像模型用于代码的最基本方法。 如果这是你第一次以编程方式使用这些模型,我们建议从 快速入门开始。
将 POST 请求发送到:
https://<your_resource_name>.openai.azure.com/openai/deployments/<your_deployment_name>/images/generations?api-version=<api_version>
URL:
请替换以下值:
<your_resource_name>
是 Azure OpenAI 资源的名称。<your_deployment_name>
是 DALL-E 3 或 GPT-image-1 模型部署的名称。<api_version>
是要使用的 API 版本。 例如2025-04-01-preview
。
所需的标头:
Content-Type
:application/json
api-key
:<your_API_key>
正文:
下列为请求正文示例。 指定了许多选项,这些选项将在后面的部分中定义。
{
"prompt": "A multi-colored umbrella on the beach, disposable camera",
"model": "gpt-image-1",
"size": "1024x1024",
"n": 1,
"quality": "high"
}
输出
成功的图像生成 API 调用的响应如以下示例所示。 url
字段包含一个 URL,可在其中下载生成的图像。 URL 保持活动状态 24 小时。
{
"created": 1698116662,
"data": [
{
"url": "<URL_to_generated_image>",
"revised_prompt": "<prompt_that_was_used>"
}
]
}
API 调用拒绝
根据内容策略筛选提示和图像,在标记提示或图像时返回错误。
如果提示已标记,则消息中的 error.code
值设置为 contentFilter
。 下面是一个示例:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Your task failed as a result of our safety system."
}
}
生成的图像本身也可能会被筛除。 在这种情况下,错误消息设置为“Generated image was filtered as a result of our safety system”。 下面是一个示例:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Generated image was filtered as a result of our safety system."
}
}
编写将文本转换为图像的提示
提示应描述要在图像中看到的内容,以及图像的视觉样式。
编写提示时,请考虑图像 API 附带内容审查筛选功能。 如果服务将你的提示识别为有害内容,则不会生成图像。 有关详细信息,请参阅 内容筛选。
提示
若要全面了解如何调整文本提示以生成不同类型的图像,请参阅 图像提示工程指南。
指定 API 选项
以下 API 正文参数可用于图像生成模型。
大小
指定生成的图像的大小。 对于 GPT-image-1 模型,必须是 1024x1024
、1024x1536
或 1536x1024
。 方形图像的生成速度更快。
质量
图像质量有三个选项:low
和medium
high
。可以更快地生成质量较低的图像。
默认值为 high
。
编号
可以在单个 API 调用中生成一到 10 个图像。 默认值为 1
。
用户 ID
使用 用户 参数为发出请求的用户指定唯一标识符。 这对于跟踪和监视使用模式非常有用。 该值可以是任何字符串,例如用户 ID 或电子邮件地址。
输出格式
使用 output_format 参数指定生成的图像的格式。 支持的格式是 PNG
和 JPEG
。 默认为 PNG
。
注释
Azure AI Foundry 模型中的 Azure OpenAI 不支持 WEBP 映像。
压缩
使用 output_compression 参数指定生成的映像的压缩级别。 在两者之间输入一个整数0
100
,其中0
没有压缩,并且100
是最大压缩。 默认为 100
。
调用图像编辑 API
通过图像编辑 API,可以根据提供的文本提示修改现有图像。 API 调用类似于图像生成 API 调用,但还需要提供输入图像(base64 编码的图像数据)。
重要
输入图像的大小必须小于 20 MB,并且必须是 PNG 或 JPG 文件。
将 POST 请求发送到:
https://<your_resource_name>.openai.azure.com/openai/deployments/<your_deployment_name>/images/edits?api-version=<api_version>
URL:
请替换以下值:
<your_resource_name>
是 Azure OpenAI 资源的名称。<your_deployment_name>
是 DALL-E 3 或 GPT-image-1 模型部署的名称。<api_version>
是要使用的 API 版本。 例如2025-04-01-preview
。
所需的标头:
Content-Type
:multipart/form-data
api-key
:<your_API_key>
正文:
下列为请求正文示例。 指定了许多选项,这些选项将在后面的部分中定义。
重要
图像编辑 API 采用多部分/表单数据,而不是 JSON 数据。 下面的示例显示了将附加到 cURL 请求的示例表单数据。
-F "image[]=@beach.png" \
-F 'prompt=Add a beach ball in the center' \
-F "model=gpt-image-1" \
-F "size=1024x1024" \
-F "n=1" \
-F "quality=high"
输出
成功图像编辑 API 调用的响应如以下示例所示。 url
字段包含一个 URL,可在其中下载生成的图像。 URL 保持活动状态 24 小时。
{
"created": 1698116662,
"data": [
{
"url": "<URL_to_generated_image>",
"revised_prompt": "<prompt_that_was_used>"
}
]
}
指定 API 选项
除了可用于图像生成模型之外,以下 API 正文参数还可用于图像编辑模型。
图片
图像值指示要编辑的图像文件。 它可以是图像文件的 URL 字符串,也可以是基本 64 编码的图像数据。
面具
掩码参数的类型与主图像输入参数相同。 它通过在这些区域使用完全透明的像素(alpha 值为零)来定义图像中你希望模型编辑的区域。 掩码必须是 base 64 编码的图像。 它必须是 PNG 文件,并且具有与输入图像相同的尺寸。