你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

如何使用 Azure OpenAI 映像生成模型

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 模型,必须是 1024x10241024x15361536x1024。 方形图像的生成速度更快。

质量

图像质量有三个选项:lowmediumhigh。可以更快地生成质量较低的图像。

默认值为 high

编号

可以在单个 API 调用中生成一到 10 个图像。 默认值为 1

用户 ID

使用 用户 参数为发出请求的用户指定唯一标识符。 这对于跟踪和监视使用模式非常有用。 该值可以是任何字符串,例如用户 ID 或电子邮件地址。

输出格式

使用 output_format 参数指定生成的图像的格式。 支持的格式是 PNGJPEG。 默认为 PNG

注释

Azure AI Foundry 模型中的 Azure OpenAI 不支持 WEBP 映像。

压缩

使用 output_compression 参数指定生成的映像的压缩级别。 在两者之间输入一个整数0100,其中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 文件,并且具有与输入图像相同的尺寸。