
奥本 AI 将所有的最新 AI 聚合到了一起,为您开启多模型 AI 绘画新时代!
扫码即刻关注公众号
使用 DALL-E API 创建超写实图像
4 个月前
作者
- Tarun Krishnan (ORCID : 0009–0006–6647–127X)
引言
近年来,图像生成领域蓬勃发展,像 Midjourney、Stable Diffusion 和 DALL-E 等模型引领了这一潮流。过去,人们常常为寻找高质量、无版权的图像而苦恼。而现在,你只需通过提示提供你想生成的图像描述,就能获得逼真且高清的图像。在本文中,我们将探讨如何使用 OpenAI API 轻松创建图像。
第一步:创建 OpenAI API 密钥
- 首先,你需要创建一个 OpenAI 账户,以便获取 API 密钥。
- 创建账户后,点击 OpenAI 网站上的“个人资料”,进入“用户 API 密钥”部分。
创建 OpenAI API 密钥
创建一个 API 密钥,并确保将其安全存储,因为我们很快会用到它。
第二步:Python 实现
- 首先,DALL-E 的 Python 实现需要安装“requests”模块。请在终端中运行以下代码:
pip install requests
接下来,让我们看看可以用来生成图像的 Python 代码。
- 首先,我们需要进行一些基本的导入,以便运行 Python 代码。
import requests
import json
- 接下来,我们需要粘贴在第一步中创建的 API 密钥,并调用 OpenAI 端点。
api_key = 'YOUR_API_KEY'
endpoint = 'https://api.openai.com/v1/images/generations'
- 然后,我们定义请求所需的 HTTP 头部。
- “Content-Type”表示请求体包含 JSON 数据。
- “Authorization”提供用于身份验证的 API 密钥,采用 Bearer 令牌方法。
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {api_key}'
}
- 在声明头部后,我们进入代码中最重要的部分。
- “model”指定用于生成图像的 DALL-E 模型版本。在这里,'dall-e-3' 指的是 DALL-E 模型的第三个版本。
- “prompt”是 DALL-E 模型用来生成图像的文本描述。模型会解释提示并创建与描述相符的图像。在这里,提示要求生成一幅“飞行汽车”的图像。
- “n”指定要生成的图像数量。在这种情况下,'1' 表示 API 将根据提供的提示返回一幅生成的图像。
- “size”定义生成图像的尺寸(以像素为单位)。在这里,'1024x1024' 表示图像宽度和高度均为 1024 像素,生成一幅正方形图像。
data = {
'model': 'dall-e-3',
'prompt': 'a flying car',
'n': 1,
'size': '1024x1024'
}
- 最后,我们发送请求并接收包含生成图像 URL 的响应。你可以通过指定路径进一步下载图像到你想要的位置。
# 发送 POST 请求
response = requests.post(endpoint, headers=headers, data=json.dumps(data))
# 检查请求是否成功
if response.status_code == 200:
# 打印响应 JSON
response_json = response.json()
image_url = response_json['data'][0]['url']
print("生成的图像 URL:", image_url)
# 下载图像
image_response = requests.get(image_url)
if image_response.status_code == 200:
# 将图像保存到文件
local_image_path = 'YOUR_PATH'
with open(local_image_path, 'wb') as file:
file.write(image_response.content)
print(f"图像已下载并保存到 {local_image_path}")
else:
print(f"下载图像失败。状态码: {image_response.status_code}")
else:
print(f"错误: {response.status_code}")
print(response.text)
结果
DALL-E 3 图像生成示例
如你所见,生成的图像非常出色!我们看到通过几个简单的步骤,就可以使用 OpenAI API 调用创建图像。以下是将整个代码编译在一个块中的示例:
import requests
import json
# 设置你的 API 密钥和端点
api_key = 'YOUR_API_KEY'
endpoint = 'https://api.openai.com/v1/images/generations'
# 定义请求的头部和数据
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {api_key}'
}
data = {
'model': 'dall-e-3',
'prompt': 'a flying car',
'n': 1,
'size': '1024x1024'
}
# 发送 POST 请求
response = requests.post(endpoint, headers=headers, data=json.dumps(data))
# 检查请求是否成功
if response.status_code == 200:
# 打印响应 JSON
response_json = response.json()
image_url = response_json['data'][0]['url']
print("生成的图像 URL:", image_url)
# 下载图像
image_response = requests.get(image_url)
if image_response.status_code == 200:
# 将图像保存到文件
local_image_path = 'YOUR_PATH'
with open(local_image_path, 'wb') as file:
file.write(image_response.content)
print(f"图像已下载并保存到 {local_image_path}")
else:
print(f"下载图像失败。状态码: {image_response.status_code}")
else:
print(f"错误: {response.status_code}")
print(response.text)
结论
先进的图像生成模型如 DALL-E 3 的出现,彻底改变了我们创建和互动视觉内容的方式。只需提供文本描述,你就可以生成高质量、逼真的图像,满足你的需求。这一能力为创意专业人士、市场营销人员、教育工作者以及任何需要独特视觉效果的人打开了无限可能。
在本文中,我们看到了设置 OpenAI API 密钥、安装必要的 Python 模块以及编写脚本以使用 DALL-E 3 生成和下载图像的简单过程。借助这些工具,你可以轻松地将你的创意想法变为现实。
无论你是想提升演示效果、创建引人注目的营销材料,还是探索新的创意途径,DALL-E 3 都提供了一个可访问且强大的解决方案。随着技术的不断发展,我们只能期待在人工智能和图像生成领域出现更为显著的进步。
参考文献
推荐阅读:
赋迪奥本AI
上海赋迪网络科技
电话:18116340052