你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
如何使用 DALL-E 模型
OpenAI 的 DALL-E 模型基于用户提供的文本提示生成图像。 本指南演示如何使用 DALL-E 模型并通过 REST API 调用配置其选项。
先决条件
- Azure 订阅。 可以免费创建一个帐户。
- 在瑞典中部区域创建的 Azure OpenAI 资源。 有关详细信息,请参阅创建和部署 Azure OpenAI 服务资源。
- 使用 Azure OpenAI 资源部署 dall-e-3 模型。
调用图像生成 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 模型的 1024x1024
、1792x1024
或 1024x1792
之一。 方形图像的生成速度更快。
样式
DALL-E 3 引入了两种样式选项:natural
和 vivid
。 natural 样式更类似于 DALL-E 2 默认样式,而 vivid 样式会生成更多的超真实和电影图像。
natural 样式在 DALL-E 3 过分夸张或混淆了本应更加简单、低调或现实的主题时非常有用。
默认值为 vivid
。
质量
图像质量有两个选项:hd
和 standard
。 hd 选项会创建具有更精细的细节和更具一致性的图像。 Standard 可以更快地生成图像。
默认值为 standard
。
Number
使用 DALL-E 3 时,不能在单个 API 调用中生成多个映像:必须将 n
参数设置为 1。 如果需要一次性生成多个映像,请发出并行请求。
响应格式
返回生成图像的格式。 必须是 url
(指向图像的 URL)或 b64_json
(JSON 格式的 base 64 字节代码)之一。 默认为 url
。