OpenAI 图像格式(Dall·E)¶
官方文档
📝 简介¶
给定文本提示和/或输入图片,模型将生成新的图片。DALL·E 是一个强大的图像生成模型,可以根据自然语言描述创建、编辑和修改图像。目前支持 DALL·E 2 和 DALL·E 3 两个版本,它们在图像质量、创意表现和精确度上都有显著差异。
💡 请求示例¶
创建图片 ✅¶
# 基础图片生成
curl https://newapi地址/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $NEWAPI_API_KEY" \
-d '{
"model": "dall-e-3",
"prompt": "一只可爱的小海獭",
"n": 1,
"size": "1024x1024"
}'
# 高质量图片生成
curl https://newapi地址/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $NEWAPI_API_KEY" \
-d '{
"model": "dall-e-3",
"prompt": "一只可爱的小海獭",
"quality": "hd",
"style": "vivid",
"size": "1024x1024"
}'
# 使用 base64 返回格式
curl https://newapi地址/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $NEWAPI_API_KEY" \
-d '{
"model": "dall-e-3",
"prompt": "一只可爱的小海獭",
"response_format": "b64_json"
}'
响应示例:
{
"created": 1589478378,
"data": [
{
"url": "https://...",
"revised_prompt": "一只可爱的小海獭在水中嬉戏,它有着圆圆的眼睛和毛茸茸的皮毛"
}
]
}
编辑图片 ✅¶
curl https://newapi地址/v1/images/edits \
-H "Authorization: Bearer $NEWAPI_API_KEY" \
-F image="@otter.png" \
-F mask="@mask.png" \
-F prompt="一只戴着贝雷帽的可爱小海獭" \
-F n=2 \
-F size="1024x1024"
响应示例:
生成图片变体 ✅¶
curl https://newapi地址/v1/images/variations \
-H "Authorization: Bearer $NEWAPI_API_KEY" \
-F image="@otter.png" \
-F n=2 \
-F size="1024x1024"
响应示例:
📮 请求¶
端点¶
创建图片¶
根据文本提示创建图片。
编辑图片¶
根据原始图片和提示创建编辑或扩展的图片。
生成变体¶
创建给定图片的变体。
鉴权方法¶
在请求头中包含以下内容进行 API 密钥认证:
其中 $OPENAI_API_KEY
是您的 API 密钥。
请求体参数¶
创建图片¶
prompt
¶
- 类型:字符串
- 必需:是
- 说明:期望生成图片的文本描述。
- dall-e-2 最大长度为 1000 字符
- dall-e-3 最大长度为 4000 字符
- 提示:
- 使用具体和详细的描述
- 包含关键的视觉元素
- 指定期望的艺术风格
- 描述构图和视角
model
¶
- 类型:字符串
- 必需:否
- 默认值:dall-e-2
- 说明:用于图像生成的模型。
n
¶
- 类型:整数或 null
- 必需:否
- 默认值:1
- 说明:要生成的图片数量。必须在 1-10 之间。dall-e-3 仅支持 n=1。
quality
¶
- 类型:字符串
- 必需:否
- 默认值:standard
- 说明:生成图片的质量。hd 选项会生成更细致和一致的图片。仅 dall-e-3 支持此参数。
response_format
¶
- 类型:字符串或 null
- 必需:否
- 默认值:url
- 说明:返回生成图片的格式。必须是 url 或 b64_json 之一。URL 在生成后 60 分钟内有效。
size
¶
- 类型:字符串或 null
- 必需:否
- 默认值:1024x1024
- 说明:生成图片的尺寸。dall-e-2 必须是 256x256、512x512 或 1024x1024 之一。dall-e-3 必须是 1024x1024、1792x1024 或 1024x1792 之一。
style
¶
- 类型:字符串或 null
- 必需:否
- 默认值:vivid
- 说明:生成图片的风格。必须是 vivid 或 natural 之一。vivid 倾向于生成超现实和戏剧性的图片,natural 倾向于生成更自然、不那么超现实的图片。仅 dall-e-3 支持此参数。
user
¶
- 类型:字符串
- 必需:否
- 说明:代表最终用户的唯一标识符,可帮助 OpenAI 监控和检测滥用行为。
编辑图片¶
image
¶
- 类型:文件
- 必需:是
- 说明:要编辑的图片。必须是有效的 PNG 文件,小于 4MB,且为正方形。如果未提供 mask,图片必须具有透明度,这将用作蒙版。
prompt
¶
- 类型:字符串
- 必需:是
- 说明:期望生成图片的文本描述。最大长度为 1000 字符。
mask
¶
- 类型:文件
- 必需:否
- 说明:额外的图片,其完全透明区域(如 alpha 为零的区域)指示应该编辑的位置。必须是有效的 PNG 文件,小于 4MB,且与 image 具有相同尺寸。
其他参数与创建图片接口相同。
生成变体¶
image
¶
- 类型:文件
- 必需:是
- 说明:作为变体基础的图片。必须是有效的 PNG 文件,小于 4MB,且为正方形。
其他参数与创建图片接口相同。
📥 响应¶
成功响应¶
所有三个端点都返回包含图片对象列表的响应。
created
¶
- 类型:整数
- 说明:响应创建的时间戳
data
¶
- 类型:数组
- 说明:生成的图片对象列表
图片对象¶
b64_json
¶
- 类型:字符串
- 说明:如果 response_format 为 b64_json,则包含生成图片的 base64 编码 JSON
url
¶
- 类型:字符串
- 说明:如果 response_format 为 url(默认),则包含生成图片的 URL
revised_prompt
¶
- 类型:字符串
- 说明:如果提示有任何修改,则包含用于生成图片的修改后的提示
示例图片对象:
🌟 最佳实践¶
Prompt 编写建议¶
- 使用清晰具体的描述
- 指定重要的视觉细节
- 描述期望的艺术风格和氛围
- 注意构图和视角的说明
参数选择建议¶
- 模型选择
- dall-e-3:适合需要高质量、精确细节的场景
-
dall-e-2:适合快速原型或简单图像生成
-
尺寸选择
- 1024x1024:通用场景的最佳选择
- 1792x1024/1024x1792:适合横版/竖版场景
-
较小尺寸:适合缩略图或快速预览
-
质量和风格
- quality=hd:用于需要精细细节的图像
- style=vivid:适合创意和艺术效果
- style=natural:适合真实场景再现
常见问题¶
- 图片生成失败
- 检查 prompt 是否符合内容政策
- 确认文件格式和大小限制
-
验证 API 密钥权限
-
结果与预期不符
- 优化 prompt 描述
- 调整质量和风格参数
- 考虑使用图片编辑或变体功能