通过 Azure OpenAI REST API 使用 DALL-E 模型

已完成

可以通过 Azure OpenAI 服务 REST API 从应用程序中使用 DALL-E 模型。

若要对服务进行 REST 调用,需要 Azure 中预配的 Azure OpenAI 服务资源的终结点和授权密钥。 通过将 POST 请求提交到标头中的授权密钥的服务终结点来启动图像生成过程。 请求必须在 JSON 正文中包含以下参数:

  • prompt:对要生成的图像的说明。
  • n:要生成的图像数。 DALL-E 3 仅支持 n=1。
  • 大小:要生成的图像的分辨率(1024x1024、1792x1024 或 1024x1792)。
  • 质量(可选):图像的质量(标准或 HD)。 默认为标准。
  • 样式(可选):图像的视觉样式(自然或生动)。 默认为生动

例如,下面的 JSON 可以用来生成一个 512 x 512 的獾穿着燕尾服的图像:

{
    "prompt": "A badger wearing a tuxedo",
    "n": 1,
    "size": "512x512",
    "quality": "hd", 
    "style": "vivid"
}

如果使用的是 DALL-E 2 等老一代模型,则初始请求不会立即返回图像生成过程的结果。 相反,响应包含一个操作位置标头,其中包含回调服务的 URL,应用程序代码可以轮询该 URL,直到图像生成的结果准备就绪。

使用 DALL-E 3 时,请求的结果与包含所生成图像 URL 的响应同步处理。 响应类似于以下 JSON:

{
    "created": 1686780744,
    "data": [
        {
            "url": "<URL of generated image>",
            "revised_prompt": "<prompt that was used>"
        }
    ]
}

数据元素包括 URL 值,它引用根据提示生成的 PNG 图像文件,你随后可以查看或下载。 响应还包含一个经过修订的提示,用于生成图像,该图像由系统更新,以实现最理想的结果。 在此示例中,该图像可能如下图所示:

一张穿着燕尾服的獾的图片。