Appearance
Gemini 兼容 OpenAI 协议接入指南
本页说明如何用 OpenAI Images API 兼容协议调用 We-AI 的 Gemini 香蕉生图模型。适合已经接入过 OpenAI /v1/images/generations、/v1/images/edits 的客户端,只需要替换 BASE_URL、API Key 和 model 即可接入。
如果你使用的是 Google Gemini 原生协议(/v1beta/models/{model}:generateContent),请阅读 Adobe Gemini 香蕉生图文档。本页只讲 OpenAI 兼容入口。
参考资料:OpenAI 兼容协议(/v1/images/*)
接入前准备
选择一个 We-AI 入口作为 BASE_URL,末尾不要重复写 /v1:
| 线路 | BASE_URL |
|---|---|
| 国际加速路线 | https://us-la.we-token.cc |
| 亚太加速路线 | https://asian-acc.we-token.cc |
| 国内加速路线 | https://sub2api.we-token.cc |
| Aitu 独立站点 | https://sub2api.aitu.art |
鉴权方式:
http
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json注意
we-token.cc 的三条线路用户体系相同,只是加速区域不同。sub2api.aitu.art 是独立站点,API Key、余额和账号信息不与 we-token.cc 打通。
接口概览
| 场景 | 方法 | 路径 | 请求格式 |
|---|---|---|---|
| 文生图 | POST | /v1/images/generations | application/json |
| 图生图 / 改图 | POST | /v1/images/edits | 推荐 application/json 传公网图片 URL |
示例完整地址:
txt
https://sub2api.we-token.cc/v1/images/generations
https://sub2api.we-token.cc/v1/images/edits支持的模型
| model | 定位 | 建议场景 |
|---|---|---|
gemini-3.1-flash-image | 速度优先,默认推荐 | 快速预览、批量草稿、日常生图 |
gemini-3-pro-image | 质量优先 | 商业海报、复杂构图、细节要求更高的任务 |
请求参数
| 参数 | 必填 | 说明 |
|---|---|---|
model | 是 | 使用 gemini-3.1-flash-image 或 gemini-3-pro-image |
prompt | 是 | 图片生成或编辑要求 |
size | 否 | 清晰度档位,常用 1K、2K、4K,推荐先用 2K |
aspectRatio | 否 | 画面比例,常用 1:1、16:9、9:16、4:3、3:4 等 |
response_format | 否 | 传 url 时返回 data[0].url;不传时按兼容客户端默认格式解析 |
images | 改图必填 | JSON 改图时传参考图数组,格式见下方示例 |
size 是清晰度档位,不是固定像素尺寸。需要严格指定 2048x1152 这类固定像素时,建议改用 生图接入指南 中的 gpt-image-2。
文生图示例
Postman 中选择 Body -> raw -> JSON,请求:
http
POST https://sub2api.we-token.cc/v1/images/generations
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json请求体:
json
{
"model": "gemini-3.1-flash-image",
"prompt": "A beautiful mountain landscape at sunrise",
"size": "2K",
"aspectRatio": "16:9",
"response_format": "url"
}curl 示例:
bash
curl "${BASE_URL%/}/v1/images/generations" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3.1-flash-image",
"prompt": "A beautiful mountain landscape at sunrise",
"size": "2K",
"aspectRatio": "16:9",
"response_format": "url"
}'成功后会返回 OpenAI Images 风格的 data 数组。如果传了 "response_format": "url",图片地址在 data[0].url:
jsonc
{
"created": 1784100892,
"data": [
{
"url": "https://pre-signed-firefly-prod.s3-accelerate.amazonaws.com/images/..."
}
],
"background": "auto",
"output_format": "png",
"quality": "",
"size": "2K",
"model": "gemini-3.1-flash-image",
"usage": {
"input_tokens": 11,
"input_tokens_details": {
"image_tokens": 0,
"text_tokens": 11
},
"output_tokens": 304
}
}URL 返回说明
url 通常是临时预签名下载地址,建议业务侧拿到后尽快下载或转存,不要长期依赖该链接。
图生图 / 改图示例
改图接口同样可以使用 JSON 请求体。把参考图公网地址放到 images[].image_url,然后在 prompt 中写清楚要保留什么、改变什么。
http
POST https://sub2api.we-token.cc/v1/images/edits
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json请求体:
json
{
"images": [
{
"image_url": "https://img10.360buyimg.com/n3/jfs/t1/367079/6/5814/311805/692671edFfd7fe2e8/8b15689df633c338.jpg"
}
],
"model": "gemini-3.1-flash-image",
"prompt": "test edit: keep product unchanged, change background to clean warm studio background",
"size": "2K",
"aspectRatio": "1:1",
"response_format": "url"
}curl 示例:
bash
curl "${BASE_URL%/}/v1/images/edits" \
-H "Authorization: Bearer ${API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"images": [
{
"image_url": "https://example.com/reference.jpg"
}
],
"model": "gemini-3.1-flash-image",
"prompt": "keep product unchanged, change background to clean warm studio background",
"size": "2K",
"aspectRatio": "1:1",
"response_format": "url"
}'返回结构与文生图一致,图片结果在 data[0].url:
jsonc
{
"data": [
{
"url": "https://pre-signed-firefly-prod.s3-accelerate.amazonaws.com/images/..."
}
],
"background": "auto",
"output_format": "png",
"quality": "",
"size": "2K",
"model": "gemini-3.1-flash-image",
"usage": {
"input_tokens": 46,
"input_tokens_details": {
"image_tokens": 25,
"text_tokens": 21
}
}
}提示词建议
改图时建议按「保留内容 + 修改内容 + 禁止内容」来写:
txt
保留参考图中的商品主体不变,包括外形、颜色、材质、比例、Logo 和包装文字。
将背景改成干净的暖色摄影棚,柔和棚拍光,轻微阴影。
不要改变商品结构,不要新增品牌 Logo,不要生成促销文字,不要加水印。如果要做电商主图,优先上传清晰商品图;如果要做人物或角色一致性,优先上传角色参考图。不要把多个目标挤在一张复杂拼图里,输入图越干净,改图越稳定。
常见问题
1. 返回 URL 但前端打不开
预签名 URL 有有效期,业务侧应尽快下载或转存。如果要长期展示,请把图片保存到自己的对象存储或 CDN。
2. 404 或路径不存在
检查 BASE_URL 末尾是否已经带了 /v1。如果配置成 https://sub2api.we-token.cc/v1,再拼接 /v1/images/generations 会变成重复路径。
3. 改图时报 images[].image_url is required
说明请求没有正确传入参考图。请确认使用的是 /v1/images/edits,并且请求体里包含:
json
{
"images": [
{ "image_url": "https://example.com/reference.jpg" }
]
}4. 需要上传本地文件怎么办
Postman 最简单的方式是先使用可公网访问的图片 URL。如果你的 OpenAI 兼容客户端只支持文件上传,可以使用 multipart/form-data 调用 /v1/images/edits,字段通常为 image 或重复的 image[]。服务端接入时建议优先使用公网 URL 或先把本地文件转成可访问地址,便于排查和重试。
5. 生成很慢或超时
4K、复杂改图、多参考图会更慢。建议先用 1K 或 2K 验证提示词和画面方向,正式交付时再提高到 4K。客户端和中转站超时建议设置到 30 分钟左右。