跳转至

OpenAI 图像格式(Dall·E)

官方文档

OpenAI Images

📝 简介

给定文本提示和/或输入图片,模型将生成新的图片。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"

响应示例:

{
  "created": 1589478378,
  "data": [
    {
      "url": "https://..."
    },
    {
      "url": "https://..."
    }
  ]
}

生成图片变体 ✅

curl https://newapi地址/v1/images/variations \
  -H "Authorization: Bearer $NEWAPI_API_KEY" \
  -F image="@otter.png" \
  -F n=2 \
  -F size="1024x1024"

响应示例:

{
  "created": 1589478378,
  "data": [
    {
      "url": "https://..."
    },
    {
      "url": "https://..."
    }
  ]
}

📮 请求

端点

创建图片

POST /v1/images/generations

根据文本提示创建图片。

编辑图片

POST /v1/images/edits

根据原始图片和提示创建编辑或扩展的图片。

生成变体

POST /v1/images/variations

创建给定图片的变体。

鉴权方法

在请求头中包含以下内容进行 API 密钥认证:

Authorization: Bearer $NEWAPI_API_KEY

其中 $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

  • 类型:字符串
  • 说明:如果提示有任何修改,则包含用于生成图片的修改后的提示

示例图片对象:

{
  "url": "https://...",
  "revised_prompt": "一只可爱的小海獭在水中嬉戏,它有着圆圆的眼睛和毛茸茸的皮毛"
}

🌟 最佳实践

Prompt 编写建议

  1. 使用清晰具体的描述
  2. 指定重要的视觉细节
  3. 描述期望的艺术风格和氛围
  4. 注意构图和视角的说明

参数选择建议

  1. 模型选择
  2. dall-e-3:适合需要高质量、精确细节的场景
  3. dall-e-2:适合快速原型或简单图像生成

  4. 尺寸选择

  5. 1024x1024:通用场景的最佳选择
  6. 1792x1024/1024x1792:适合横版/竖版场景
  7. 较小尺寸:适合缩略图或快速预览

  8. 质量和风格

  9. quality=hd:用于需要精细细节的图像
  10. style=vivid:适合创意和艺术效果
  11. style=natural:适合真实场景再现

常见问题

  1. 图片生成失败
  2. 检查 prompt 是否符合内容政策
  3. 确认文件格式和大小限制
  4. 验证 API 密钥权限

  5. 结果与预期不符

  6. 优化 prompt 描述
  7. 调整质量和风格参数
  8. 考虑使用图片编辑或变体功能