图片生成
平台对外提供统一的图片能力入口,客户端仍然使用 OpenAI 风格接口。不同模型/渠道在后端会被路由到不同上游,但对外尽量保持一致。
认证方式
http
Authorization: Bearer sk-xxxxxx
Content-Type: application/json一、能力分类
1. 文生图
根据文本提示词生成图片。
- 典型接口:
POST /v1/images/generations - 必填:
model、prompt - 常见参数:
size - 不需要参考图
示例:
json
{
"model": "image-model-name",
"prompt": "生成一张海报风格的城市夜景",
"size": "1024x1792"
}2. 图生图
基于一张或多张参考图生成新图片。
- 典型接口:
POST /v1/images/generations - 也可能由某些渠道通过
POST /v1/images/edits承接 - 必填:
model、prompt - 需要传入参考图字段,如
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 - 适合替换背景、修改局部内容、补画、去除元素等
- 通常需要
image和prompt
示例:
json
{
"model": "image-model-name",
"prompt": "把背景改成晴天海滩",
"image": "https://example.com/original.png",
"size": "1024x1024"
}4. 图文生图
严格来说,这不是一个单独的新接口,而是图生图/图片编辑的常见使用方式:
- 输入图片 + 文本描述
- 文本负责说明修改意图
- 图片负责提供视觉参考
- 最终生成新图
这类请求通常走:
/v1/images/generations- 或
/v1/images/edits
取决于该模型/渠道的接入方式。
二、统一请求字段
通用字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 模型名 |
prompt | string | 是 | 文本提示词 |
size | string | 否 | 图片尺寸,如 1024x1024、1024x1792 |
image | string | string[] | 否 | 参考图,单张或多张 |
n | number | 否 | 生成张数,视渠道支持情况而定 |
三、图片输入格式
平台对参考图通常支持以下几种输入方式。
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 接入总览。