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

如何使用 DALL-E 模型

OpenAI 的 DALL-E 模型基于用户提供的文本提示生成图像。 本指南演示如何使用 DALL-E 模型并通过 REST API 调用配置其选项。

先决条件

调用图像生成 API

以下命令显示了将 DALL-E 与代码配合使用的最基本方法。 如果你是第一次以编程方式使用这些模型,建议先开始学习 DALL-E 快速入门

将 POST 请求发送到:

https://<your_resource_name>.openai.azure.com/openai/deployments/<your_deployment_name>/images/generations?api-version=<api_version>

替换以下占位符

  • <your_resource_name> 是 Azure OpenAI 资源的名称。
  • <your_deployment_name> 是 DALL-E 3 模型部署的名称。
  • <api_version> 是要使用的 API 版本。 例如 2024-02-01

必需的标头

  • Content-Type: application/json
  • api-key: <your_API_key>

正文:

下列为请求正文示例。 指定了许多选项,这些选项将在后面的部分中定义。

{
    "prompt": "A multi-colored umbrella on the beach, disposable camera",
    "size": "1024x1024", 
    "n": 1,
    "quality": "hd", 
    "style": "vivid"
}

输出

成功的图像生成 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 正文参数可用于生成 DALL-E 图像。

大小

指定生成的图像的大小。 必须是 DALL-E 3 模型的 1024x10241792x10241024x1792 之一。 方形图像的生成速度更快。

样式

DALL-E 3 引入了两种样式选项:naturalvivid。 natural 样式更类似于 DALL-E 2 默认样式,而 vivid 样式会生成更多的超真实和电影图像。

natural 样式在 DALL-E 3 过分夸张或混淆了本应更加简单、低调或现实的主题时非常有用。

默认值为 vivid

质量

图像质量有两个选项:hdstandard。 hd 选项会创建具有更精细的细节和更具一致性的图像。 Standard 可以更快地生成图像。

默认值为 standard

Number

使用 DALL-E 3 时,不能在单个 API 调用中生成多个映像:必须将 n 参数设置为 1。 如果需要一次性生成多个映像,请发出并行请求。

响应格式

返回生成图像的格式。 必须是 url(指向图像的 URL)或 b64_json(JSON 格式的 base 64 字节代码)之一。 默认为 url