Skip to content

图片生成

平台对外提供统一的图片能力入口,客户端仍然使用 OpenAI 风格接口。不同模型/渠道在后端会被路由到不同上游,但对外尽量保持一致。

认证方式

http
Authorization: Bearer sk-xxxxxx
Content-Type: application/json

一、能力分类

1. 文生图

根据文本提示词生成图片。

  • 典型接口:POST /v1/images/generations
  • 必填:modelprompt
  • 常见参数:size
  • 不需要参考图

示例:

json
{
  "model": "image-model-name",
  "prompt": "生成一张海报风格的城市夜景",
  "size": "1024x1792"
}

2. 图生图

基于一张或多张参考图生成新图片。

  • 典型接口:POST /v1/images/generations
  • 也可能由某些渠道通过 POST /v1/images/edits 承接
  • 必填:modelprompt
  • 需要传入参考图字段,如 image 或表单文件
  • 适合风格迁移、主体保留、局部改写、重绘等场景

示例:

json
{
  "model": "image-model-name",
  "prompt": "把这张图改成油画风格",
  "image": "https://example.com/reference.jpg",
  "size": "1024x1024"
}

支持形式通常包括:

  • 单张图片字符串
  • 多张图片数组
  • data:image/...;base64,...
  • 图片 URL
  • multipart 文件上传

3. 图片编辑

在原图基础上进行局部修改或重绘。

  • 典型接口:POST /v1/images/edits
  • 适合替换背景、修改局部内容、补画、去除元素等
  • 通常需要 imageprompt

示例:

json
{
  "model": "image-model-name",
  "prompt": "把背景改成晴天海滩",
  "image": "https://example.com/original.png",
  "size": "1024x1024"
}

4. 图文生图

严格来说,这不是一个单独的新接口,而是图生图/图片编辑的常见使用方式:

  • 输入图片 + 文本描述
  • 文本负责说明修改意图
  • 图片负责提供视觉参考
  • 最终生成新图

这类请求通常走:

  • /v1/images/generations
  • /v1/images/edits

取决于该模型/渠道的接入方式。

二、统一请求字段

通用字段

字段类型必填说明
modelstring模型名
promptstring文本提示词
sizestring图片尺寸,如 1024x10241024x1792
imagestring | string[]参考图,单张或多张
nnumber生成张数,视渠道支持情况而定

三、图片输入格式

平台对参考图通常支持以下几种输入方式。

1. 图片 URL

json
{
  "image": "https://example.com/demo.jpg"
}

2. Base64 Data URL

json
{
  "image": "data:image/jpeg;base64,/9j/4AAQSkZJRg..."
}

3. 多张图片

json
{
  "image": [
    "https://example.com/a.jpg",
    "https://example.com/b.jpg"
  ]
}

4. multipart/form-data

对于支持文件上传的模型,可以使用表单方式提交本地文件。是否支持取决于具体渠道。

四、接口说明

1. POST /v1/images/generations

用于文生图,也可用于部分图生图模型。

适用场景:

  • 纯文本生成图片
  • 输入参考图后生成新图
  • 某些渠道下的统一图片入口

请求要点:

  • prompt 必填
  • image 可选
  • size 可选
  • 响应通常返回图片 URL 或图片数据

cURL 示例:

bash
curl --request POST \
  --url 'https://bigbangtoken.com/v1/images/generations' \
  --header 'Authorization: Bearer sk-xxxxxx' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "image-model-name",
    "prompt": "生成一张海报风格的城市夜景",
    "size": "1024x1792"
  }'

2. POST /v1/images/edits

用于图片编辑。

适用场景:

  • 修改原图背景
  • 去除元素
  • 重绘局部区域
  • 保留主体,调整风格

请求要点:

  • image 必填
  • prompt 必填
  • 可能支持单图或多图
  • 是否支持 multipart 取决于渠道

cURL 示例:

bash
curl --request POST \
  --url 'https://bigbangtoken.com/v1/images/edits' \
  --header 'Authorization: Bearer sk-xxxxxx' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "image-model-name",
    "prompt": "把背景改成晴天海滩",
    "image": "https://example.com/original.png",
    "size": "1024x1024"
  }'

五、响应格式

平台会尽量保持上游图片接口语义一致。常见返回形式包括:

同步图片结果

json
{
  "created": 1234567890,
  "data": [
    {
      "b64_json": "data:image/png;base64,..."
    }
  ]
}

图片 URL 结果

json
{
  "created": 1234567890,
  "data": [
    {
      "url": "https://example.com/output.png"
    }
  ]
}

说明:

  • 部分模型可能返回异步任务对象,而不是上述同步图片格式。
  • 若你使用的是图片2 系列模型,请参考 图片2 接入总览

相关文档