Skip to content

Gemini 兼容 OpenAI 协议接入指南

本页说明如何用 OpenAI Images API 兼容协议调用 We-AI 的 Gemini 香蕉生图模型。适合已经接入过 OpenAI /v1/images/generations/v1/images/edits 的客户端,只需要替换 BASE_URLAPI Keymodel 即可接入。

如果你使用的是 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/generationsapplication/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-imagegemini-3-pro-image
prompt图片生成或编辑要求
size清晰度档位,常用 1K2K4K,推荐先用 2K
aspectRatio画面比例,常用 1:116:99:164:33:4
response_formaturl 时返回 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、复杂改图、多参考图会更慢。建议先用 1K2K 验证提示词和画面方向,正式交付时再提高到 4K。客户端和中转站超时建议设置到 30 分钟左右。