Skip to content

flow Gemini 香蕉生图文档

本页说明如何使用 We-AI 自定义的 Gemini 香蕉生图接口。它采用 Gemini API 风格的 generateContent 路径,但模型名、比例和清晰度由平台自定义模型列表控制。

核心结论:

  • 生成图片使用同步接口:POST /v1beta/models/{model}:generateContent
  • 查看可用模型使用:GET /v1beta/models
  • 只推荐同步生成图片,不推荐使用流式接口生成图片
  • 文生图、图生图、改图都通过 contents[].parts[] 传入文本和图片

官方参考:

接入线路

当前可用入口如下,接入时选择其中一个作为 BASE_URL 即可:

  • https://us-la.we-token.cc/:国际加速路线。
  • https://asian-acc.we-token.cc/:亚太加速路线。
  • https://sub2api.we-token.cc/:国内加速路线。
  • https://sub2api.aitu.art/:Aitu 独立站点入口;它是早先单独的独立站点,与 we-token.cc 的用户体系不打通。

us-la.we-token.ccasian-acc.we-token.ccsub2api.we-token.cc 都是 We-AI 的 we-token.cc 站点,用户体系相同,区别只是加速区域不同。sub2api.aitu.art 是早先单独的独立站点,与 we-token.cc 的用户体系不打通,API Key、余额和账号信息请以对应站点后台为准。

一、接口概览

Gemini 香蕉生图当前使用两个主要接口。

用途方法路径说明
查看模型列表GET/v1beta/models用于确认当前可用模型、模型 ID 和平台返回字段。
同步生成图片POST/v1beta/models/{model}:generateContent用于文生图、图生图、图片编辑、多图融合。

示例中的 BASE_URL 请替换成你的平台入口,例如:

txt
https://us-la.we-token.cc
https://asian-acc.we-token.cc
https://sub2api.we-token.cc
https://sub2api.aitu.art

鉴权使用 Authorization 请求头,格式如下:

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

后续所有请求示例都使用 Authorization: Bearer ${API_KEY}。请不要把真实 API Key 写进前端代码、公开仓库或聊天截图。

二、查看模型列表

建议接入前先请求模型列表,确认当前可用模型:

bash
curl "${BASE_URL%/}/v1beta/models" \
  -H "Authorization: Bearer ${API_KEY}" \
  -H "Content-Type: application/json"

Windows PowerShell 中建议使用 curl.exe

powershell
curl.exe "$($env:BASE_URL.TrimEnd('/'))/v1beta/models" `
  -H "Authorization: Bearer $($env:API_KEY)" `
  -H "Content-Type: application/json"

如果模型列表返回为空、401 或 404,请优先检查:

  • BASE_URL 是否正确。
  • API_KEY 是否有效。
  • 是否把 /v1beta 重复写进了 BASE_URL
  • 当前账号是否开通了 Gemini 香蕉生图模型。

三、模型命名规则

平台将香蕉生图模型拆成两组:

平台叫法模型前缀适合场景
大香蕉gemini-3.0-pro-image质量优先、复杂构图、商业海报、需要更稳定细节的任务。
小香蕉gemini-3.1-flash-image速度优先、快速预览、批量草稿、日常轻量生图。

完整模型名格式:

txt
{模型前缀}_{比例}_{清晰度}

例如:

txt
gemini-3.0-pro-image_16-9_2k
gemini-3.1-flash-image_1-1_1k

模型名中的比例和清晰度是平台路由的主要依据。请求体里的 generationConfig.imageConfig.aspectRatio 建议和模型名中的比例保持一致,避免参数表达和模型路由不一致。

与 adobe 香蕉生图的区别

两种 gemini 香蕉生图的核心差异就在生图模型名称上:

  • flow(本页):模型名采用 {模型前缀}_{比例}_{清晰度} 格式,例如 gemini-3.0-pro-image_16-9_2k,比例和清晰度直接写进模型名
  • Adobe:模型名只有基础名 gemini-3.1-flash-image / gemini-3-pro-image不带后缀;比例、清晰度通过请求体的 generationConfig.imageConfig 控制。

两者不要混用模型名。详见 adobe gemini 香蕉生图

四、支持的模型列表

大香蕉:gemini-3.0-pro-image

比例1K2K4K
16:9gemini-3.0-pro-image_16-9_1kgemini-3.0-pro-image_16-9_2kgemini-3.0-pro-image_16-9_4k
9:16gemini-3.0-pro-image_9-16_1kgemini-3.0-pro-image_9-16_2kgemini-3.0-pro-image_9-16_4k
1:1gemini-3.0-pro-image_1-1_1kgemini-3.0-pro-image_1-1_2kgemini-3.0-pro-image_1-1_4k
4:3gemini-3.0-pro-image_4-3_1kgemini-3.0-pro-image_4-3_2kgemini-3.0-pro-image_4-3_4k
3:4gemini-3.0-pro-image_3-4_1kgemini-3.0-pro-image_3-4_2kgemini-3.0-pro-image_3-4_4k

小香蕉:gemini-3.1-flash-image

比例1K2K4K
16:9gemini-3.1-flash-image_16-9_1kgemini-3.1-flash-image_16-9_2kgemini-3.1-flash-image_16-9_4k
9:16gemini-3.1-flash-image_9-16_1kgemini-3.1-flash-image_9-16_2kgemini-3.1-flash-image_9-16_4k
1:1gemini-3.1-flash-image_1-1_1kgemini-3.1-flash-image_1-1_2kgemini-3.1-flash-image_1-1_4k
4:3gemini-3.1-flash-image_4-3_1kgemini-3.1-flash-image_4-3_2kgemini-3.1-flash-image_4-3_4k
3:4gemini-3.1-flash-image_3-4_1kgemini-3.1-flash-image_3-4_2kgemini-3.1-flash-image_3-4_4k

五、比例和清晰度选择

目标推荐模型后缀请求体 aspectRatio
方图、头像、商品主图_1-1_1k_1-1_2k_1-1_4k1:1
横版海报、官网首屏、视频封面_16-9_1k_16-9_2k_16-9_4k16:9
竖版海报、手机壁纸、短视频封面_9-16_1k_9-16_2k_9-16_4k9:16
横向商品图、文章配图_4-3_1k_4-3_2k_4-3_4k4:3
竖向商品图、人物海报_3-4_1k_3-4_2k_3-4_4k3:4

选择建议:

  • 先用 1k 测试提示词和链路。
  • 正式交付优先用 2k
  • 需要大屏、印刷、高清封面时再使用 4k
  • 4k 通常等待时间更长,也更容易遇到上游繁忙或超时。

六、文生图请求示例

最小可用请求如下:

json
{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "画一只赛博朋克风格的猫,霓虹灯背景"
        }
      ]
    }
  ],
  "generationConfig": {
    "responseModalities": ["TEXT", "IMAGE"],
    "imageConfig": {
      "aspectRatio": "1:1"
    }
  }
}

完整 curl 示例:

bash
curl "${BASE_URL%/}/v1beta/models/gemini-3.1-flash-image_1-1_1k:generateContent" \
  -H "Authorization: Bearer ${API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "role": "user",
      "parts": [{ "text": "画一只赛博朋克风格的猫,霓虹灯背景,高细节,电影感灯光" }]
    }],
    "generationConfig": {
      "responseModalities": ["TEXT", "IMAGE"],
      "imageConfig": {
        "aspectRatio": "1:1"
      }
    }
  }'

Windows PowerShell 示例:

powershell
curl.exe "$($env:BASE_URL.TrimEnd('/'))/v1beta/models/gemini-3.1-flash-image_1-1_1k:generateContent" `
  -H "Authorization: Bearer $($env:API_KEY)" `
  -H "Content-Type: application/json" `
  -d "{`"contents`":[{`"role`":`"user`",`"parts`":[{`"text`":`"画一只赛博朋克风格的猫,霓虹灯背景,高细节,电影感灯光`"}]}],`"generationConfig`":{`"responseModalities`":[`"TEXT`",`"IMAGE`"],`"imageConfig`":{`"aspectRatio`":`"1:1`"}}}"

七、响应结构和图片保存

Gemini 风格响应通常在 candidates[0].content.parts 中返回文本和图片。文本部分在 text 字段里,图片部分在 inlineData.datainline_data.data 中。

拿到图片字段后,把 inlineData.data(或 inline_data.data)按 base64 解码,写入本地文件即可。图片格式可参考 inlineData.mimeType(或 mime_type),常见为 image/png

八、图生图 / 改图

Gemini 官方支持把图片和文本一起放进 contents[].parts[],让模型基于参考图进行生成或编辑。平台自定义香蕉模型也可以按这个结构尝试。

典型场景:

  • 保留主体,替换背景。
  • 根据产品图生成电商主图。
  • 参考一张人物图生成同风格头像。
  • 多图融合,把产品放进指定场景。
  • 局部语义编辑,例如“只把沙发改成棕色皮质,其他不变”。

请求结构:

json
{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "保留图片里的杯子主体不变,把背景改成浅灰色摄影棚,增加柔和阴影,不要水印"
        },
        {
          "inline_data": {
            "mime_type": "image/png",
            "data": "<BASE64_IMAGE_DATA>"
          }
        }
      ]
    }
  ],
  "generationConfig": {
    "responseModalities": ["TEXT", "IMAGE"],
    "imageConfig": {
      "aspectRatio": "1:1"
    }
  }
}

注意:

  • data 只放纯 base64,不要带 data:image/png;base64, 前缀。
  • mime_type 要和原图格式一致,常见值是 image/pngimage/jpegimage/webp
  • 如果平台兼容层要求 camelCase,可将 inline_data / mime_type 改为 inlineData / mimeType

九、多图融合

官方 Gemini 图片模型支持多参考图输入。平台自定义模型可按同样的 parts 结构传多张图:

json
{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "保留第一张图里的产品主体,融合到第二张图的室内场景中,光线自然,边缘真实,不要水印"
        },
        {
          "inline_data": {
            "mime_type": "image/png",
            "data": "<BASE64_PRODUCT_IMAGE>"
          }
        },
        {
          "inline_data": {
            "mime_type": "image/png",
            "data": "<BASE64_BACKGROUND_IMAGE>"
          }
        }
      ]
    }
  ],
  "generationConfig": {
    "responseModalities": ["TEXT", "IMAGE"],
    "imageConfig": {
      "aspectRatio": "16:9"
    }
  }
}

多图建议:

  • 先从 2 张图开始测试,确认兼容层能稳定接收。
  • 参考图越多,请求体越大,越容易触发网关限制或超时。
  • 产品融合类任务建议把主体图放在前面,场景图放在后面。
  • 提示词明确说明“保留哪张图的什么元素”和“替换哪张图的什么部分”。

十、同步生成,不推荐流生成

本平台只推荐同步 generateContent 生成图片,不推荐使用流式接口生成图片。

不推荐流生成的原因:

  • 图片结果是 base64 或 inline data,流式分片处理更复杂。
  • 中间文本、思考信息、图片块可能交错出现,客户端更难稳定解析。
  • 高分辨率图片生成本身耗时较长,流式并不能明显降低最终等待时间。
  • 平台兼容层优先保障同步接口的稳定性。

请避免使用:

txt
POST /v1beta/models/{model}:streamGenerateContent

十一、参数建议

参数建议
contents固定使用数组结构,里面放 role: "user"parts
parts[].text写清楚主体、风格、背景、构图、光线、文字要求和禁止项。
responseModalities推荐使用 ["TEXT", "IMAGE"],便于同时拿到文字说明和图片。只要图片时也可以尝试 ["IMAGE"]
imageConfig.aspectRatio和模型名后缀保持一致,例如 _16-9_2k 对应 16:9
模型清晰度草稿用 1k,正式图用 2k,高清交付用 4k

官方 Gemini 文档还提供了 responseFormat.image.imageSize 一类写法,但本平台已经把清晰度编码进模型名后缀,优先使用模型名控制 1k2k4k

十二、提示词建议

推荐写法:

txt
生成一张 16:9 横版科技产品海报。
主体是一台银色笔记本电脑,放在深灰色桌面中央。
背景是现代办公室,浅景深,柔和自然光。
右侧保留空白区域,方便后期添加标题。
整体风格高级、干净、真实摄影感。
不要水印,不要品牌 Logo,不要多余文字。

图生图或改图时,提示词要写清楚“保留”和“改变”:

txt
保留参考图中的杯子主体、颜色和材质不变。
只把背景改成浅灰色摄影棚,增加柔和阴影。
不要改变杯子的形状,不要添加品牌 Logo,不要水印。

如果图里需要文字,尽量减少文字数量,并明确文字内容、语言、位置和样式。图片模型对复杂长文排版仍然可能不稳定。

十三、常见问题

404 或模型不存在

先调用 GET /v1beta/models,确认模型列表里是否包含你请求的完整模型名。注意完整模型名包含比例和清晰度后缀,例如:

txt
gemini-3.1-flash-image_16-9_2k

不要只传:

txt
gemini-3.1-flash-image

比例不对

检查模型名后缀和 imageConfig.aspectRatio 是否一致:

txt
模型:gemini-3.1-flash-image_16-9_2k
aspectRatio:16:9

如果模型名写的是 _1-1_2k,但请求体传了 16:9,可能会导致输出比例不符合预期或触发参数错误。

没有返回图片

请检查:

  • responseModalities 是否包含 IMAGE
  • 响应是否有 candidates[0].content.parts
  • 图片是否在 inlineData.datainline_data.data
  • 提示词是否涉及不允许生成的内容。
  • 高分辨率或复杂任务是否需要降低到 1k 后重试。

图生图失败

请检查:

  • base64 是否是纯图片内容,不带 data URL 前缀。
  • mime_typemimeType 是否和图片格式一致。
  • 图片体积是否过大。
  • 图片是否损坏或无法正常打开。
  • 是否同时上传了太多参考图。

十四、完整任务模板

文生图:

txt
请使用 Gemini 香蕉生图同步接口。
调用 POST ${BASE_URL}/v1beta/models/gemini-3.1-flash-image_16-9_2k:generateContent。
不要使用 streamGenerateContent。
请求头使用 Authorization: Bearer ${API_KEY},并设置 Content-Type: application/json。
generationConfig.responseModalities 使用 ["TEXT", "IMAGE"]。
generationConfig.imageConfig.aspectRatio 使用 "16:9"。
prompt:生成一张 16:9 横版科技产品海报,主体是一台银色笔记本电脑,深灰色桌面,现代办公室背景,浅景深,柔和自然光,右侧留白,不要水印,不要品牌 Logo,不要多余文字。
请从 candidates[0].content.parts 中找到 inlineData 或 inline_data 图片并保存为 PNG。

图生图:

txt
请使用 Gemini 香蕉生图同步接口做图生图。
调用 POST ${BASE_URL}/v1beta/models/gemini-3.0-pro-image_1-1_2k:generateContent。
不要使用 streamGenerateContent。
读取当前目录 reference.png,转成纯 base64,作为 contents[0].parts 的 inline_data 传入。
同时传入文本提示:保留主体产品不变,把背景改成浅灰色摄影棚,增加柔和阴影,整体真实自然,不要水印。
generationConfig.responseModalities 使用 ["TEXT", "IMAGE"]。
generationConfig.imageConfig.aspectRatio 使用 "1:1"。
请从响应 parts 中找到图片 inlineData 并保存为 gemini-banana-edited.png。