使用 Apifox 和 OpenAI API 生成图像

使用 Apifox 和 OpenAI API 生成图像

OpenAI 的 DALL·E 模型具有图像生成功能,目前官方提供了三条接口,分别是:创建图像(Create image)、创建图像编辑(Create image edit)和图像变体(Create image variation)。其中,要生成的图像数,必须介于 1 到 10 张之间;生成的图像大小,必须是 256x256512x5121024x1024 这三者之一。本文将介绍这三条接口的使用,为了方便讲解,将借助 Apifox 来操作,如果你已经迫不及待的想要尝试,可 点击此处 直接访问。

起步

API 密钥

要使 OpenAI 的 API 能够正常访问,你需要准备一个 API key,访问 OpenAI 官网,注册一个账号后即可查看你的 API 密钥。

OpenAI的图像生成接口

Apifox 账号

Apifox 是 API 文档、API 调试、API Mock和自动化测试一体化协作平台,使用受众为整个研发技术团队,主要使用者为前端开发、后端开发和测试人员。在正式开始之前,如果你还没有账号,你可访问 Apifox 官网 进行注册。

OpenAI的图像生成接口

设置环境变量

当准备好 API 密钥后,就可以在 Apifox 里新建一个项目,并在项目中设置环境变量的前置URLhttps://api.openai.com/v1,并将 API key 保存在环境变量中,如下图所示:

OpenAI的图像生成接口

除此之外,你需要在项目的“根目录->Auth”下,选择类型为“Bearer Token”,并将你设置在环境变量中的 API key 作为请求时的 token,如下图所示:

OpenAI的图像生成接口

创建图像(Create image)

“创建图像”的接口为POST https://api.openai.com/v1/images/generations,该接口支持的请求参数如下:

参数
类型
是否必需
说明
prompt
string
所需图像的文本说明,支持的最大长度为 1000 个字符
n
integer
要生成的图像数,必须介于1到10之间,默认为 1
size
string
要生成的图像的大小,必须是 256x256512x5121024x1024
response_format
string
生成的图像的格式,必须是urlb64_json,默认为 url
user
string
代表最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为

在 Apifox 中,创建该接口,并填写请求路径、请求参数。其中,请求参数可以为:

{
  "prompt": "A colorful sunset over the mountains",
  "n": 2,
  "size": "1024x1024"
}

点击发送按钮,你将收到响应,响应中会有两条 url 链接,Ctrl + 鼠标左键点击即可查看图片。

OpenAI的图像生成接口

当然,Apifox 提供可视化的操作,你可在后置操作中添加如下脚本,即可在控制台查看到生成的图像(在控制台点击Visualize即可查看)。

// 将接口返回数据,封装成自己需要的结构
var resp = {
    response: pm.response.json().data[0].url
}

// html 模板字符
var template = `<html><img src="{{response}}" /></html>`;

// 设置 visualizer 数据。传模板、解析对象。
pm.visualizer.set(template, resp);

创建图像编辑(Create image edit)

“创建图像编辑”的接口为POST https://api.openai.com/v1/images/edits,该接口支持的请求参数如下:

参数
类型
是否必需
说明
image
string
要编辑的图像。必须是有效的PNG文件,小于4MB,并且是方形的。如果没有提供蒙版,图像必须具有透明度,这将被用作蒙版。
mask
string
附加图像,其完全透明区域(例如其中alpha为零)指示 image 应在何处编辑。必须是有效的PNG文件,小于4MB,并且与原始image具有相同的尺寸
prompt
string
所需图像的文本说明,支持的最大长度为 1000 个字符
n
integer
要生成的图像数,必须介于1到10之间,默认为 1
size
string
要生成的图像的大小,必须是 256x256512x5121024x1024
response_format
string
生成的图像的格式,必须是urlb64_json,默认为 url
user
string
代表最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为

在 Apifox 中,创建该接口,并填写请求路径、请求参数以及上传png格式的图片文件。图片的处理你可以在 https://www.photopea.com/ 编辑,上传的图像要具有透明度。

OpenAI的图像生成接口

以下是一个图像处理后的图片示例,上传一张带有透明图层的图片,并设置 prompt 为“小鸟在飞”:

OpenAI的图像生成接口

图像变体(Image variation)

图像变体的接口为POST https://api.openai.com/v1/images/variations,该接口支持的请求参数如下:

参数
类型
是否必需
说明
image
string
用作变体基础的图像。必须是有效的 PNG 文件,小于 4MB,且为正方形。
n
integer
要生成的图像数,必须介于1到10之间,默认为 1
size
string
要生成的图像的大小,必须是 256x256512x5121024x1024
response_format
string
生成的图像的格式,必须是urlb64_json,默认为 url
user
string
代表最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为

在 Apifox 中,创建该接口,并填写请求路径、请求参数以及上传png格式的图片文件。发送请求经过处理后,即可查看结果。如图,改变后的图像颜色明显更鲜艳,当然,也更抽象了:

OpenAI的图像生成接口

总结

以上就是 OpenAI 的“图像生成”接口的介绍 ,这几个 API 目前还处在测试(Beta)阶段,未来有望跟 ChatGPT 一样上升到一个新台阶。

另外,如果你想学习更多关于 OpenAI 的其它 API,也可访问在线的 OpenAI API Hub 项目。项目中包含了 OpenAI 官方提供的所有 API,你可以根据需要进行操作,比如你可以通过 OpenAI 的接口来生成图像、上传音视频文件并转文本、翻译、创建聊天机器人、创建微调等。项目中有些目录下会有相关的 MarkDown 文件,里面会简要介绍某个功能模块怎么使用。

OpenAI API
注:在使用该项目之前,请查看“项目说明”

其它扩展

如果你想要学习更多 AI 相关的知识,欢迎访问如下扩展:

订阅
qrcode

订阅

随时随地获取 Apifox 最新动态