Skip to content

图片生成与编辑

图片 API兼容 OpenAI Images 的常用字段,并允许不同模型保留额外参数。图片生成和编辑都从对应的 /v1/images/* 入口提交;默认同步返回,设置 async: true 后返回异步任务。模型能力以对应模型页为准。

图片生成

POST /v1/images/generations 接收 JSON:

json
{
  "model": "gpt-image-2",
  "prompt": "A clean product photograph on a transparent background",
  "n": 1,
  "size": "1024x1024",
  "quality": "medium",
  "response_format": "url"
}

图片编辑

JSON 请求适合使用 HTTPS URL 或 data URL 引用图片:

bash
curl --fail-with-body --silent --show-error \
  "$SOURCESDATA_BASE_URL/v1/images/edits" \
  -H "Authorization: Bearer $SOURCESDATA_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gpt-image-2",
    "prompt": "Replace the background with a clean white studio",
    "images": ["https://dance.sourcesdata.com/v1/images/proxy/<temporary-token>"],
    "response_format": "url"
  }' | jq .

上传本地文件时使用 multipart/form-data

bash
curl --fail-with-body --silent --show-error \
  "$SOURCESDATA_BASE_URL/v1/images/edits" \
  -H "Authorization: Bearer $SOURCESDATA_API_KEY" \
  -F 'model=gpt-image-2' \
  -F 'prompt=Replace the background with a clean white studio' \
  -F '[email protected]' \
  -F 'response_format=url' | jq .

不要假设所有模型都支持相同的参考图数量、MIME 类型和文件大小。网关可能在请求进入供应商前拒绝超出模型能力的输入。

响应格式

同步 URL响应:

json
{
  "created": 1786579200,
  "data": [
    { "url": "https://dance.sourcesdata.com/v1/images/proxy/<temporary-token>" }
  ]
}

Base64 响应:

json
{
  "created": 1786579200,
  "data": [{ "b64_json": "<base64>" }]
}

长耗时同步图片可设置 stream=true,并按模型支持情况设置 partial_images(最多 3)接收 SSE 预览事件。事件可能包含 Base64 或本站图片 URL,终止帧为 data: [DONE];客户端必须逐帧解析,不能把整个响应当作一个 JSON 对象。

默认同步图片请求不会返回 task_id。如果业务需要异步执行,请在同一个图片入口设置 async: true

bash
curl --fail-with-body --silent --show-error \
  "$SOURCESDATA_BASE_URL/v1/images/generations" \
  -H "Authorization: Bearer $SOURCESDATA_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A clean product photograph on a transparent background",
    "n": 1,
    "size": "1024x1024",
    "response_format": "url",
    "async": true
  }' | jq .

参考图可通过非空 images 数组传入。提交后按异步任务查询,完成结果位于任务响应的 urldata[]

下载与持久化

  • 签名图片 URL默认有效 30 分钟,应及时下载到自己的受控存储。
  • 下载时允许重定向,但客户端不应记录最终后端地址。
  • 不要通过替换 URL路径、token 或任务 ID推导其他资源。

Sources Dance · Gateway v0.1.1-private.15