图片生成
平台对外提供统一的图片能力入口,客户端仍然使用 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 | 否 | 图片尺寸,格式见下方 |
image | string | string[] | 否 | 参考图,单张或多张 |
n | number | 否 | 生成张数,格式见下方 |
size 格式限制
格式为 宽x高(小写 x 连接),常见取值如下。实际可用尺寸以 模型价格页 及所选渠道为准。
标准枚举(最常用)
| 尺寸 | 说明 |
|---|---|
1024x1024 | 正方形 |
1536x1024 | 横图(3:2) |
1024x1536 | 竖图(2:3) |
1792x1024 | 横图(16:9) |
1024x1792 | 竖图(9:16) |
size 映射
部分渠道会将 OpenAI 风格的 size 转为内部 aspect_ratio:
OpenAI size | aspect_ratio |
|---|---|
1024x1024 | 1:1 |
1024x1792 | 9:16 |
1792x1024 | 16:9 |
1024x1536 | 2:3 |
1536x1024 | 3:2 |
不在上表中的 size 可能报错,或视具体渠道/模型支持情况而定。
扩展高清档(2K / 4K)
部分模型(如 gpt-image-2 系列)还支持:
| 尺寸 | 说明 |
|---|---|
2048x2048 | 2K 正方形 |
2048x1152 | 2K 横图 |
1152x2048 | 2K 竖图 |
3840x2160 | 4K 横图(实验级) |
2160x3840 | 4K 竖图(实验级) |
n 格式限制
对齐 OpenAI 官方 Images API:
- 类型:整数(integer)
- 取值范围:
1~10(上限 10) - 默认值:未传时通常为
1
部分渠道可能不支持一次生成多张,以实际模型/渠道能力为准。
三、图片输入格式
平台对参考图通常支持以下几种输入方式。
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://ai.feiluanai.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://ai.feiluanai.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 接入总览。