来自 88api.ai Token 聚合站的 Codex 专用 Gemini 生图插件。它通过 OpenAI Chat Completions 协议生成和编辑图片,并将结果直接保存到本地。
插件集成两款图片模型:
| 模型 | 定位 | 适合场景 |
|---|---|---|
gemini-3.1-flash-image(默认) |
速度与效率优先 | 日常文生图、快速迭代、常规参考图编辑 |
gemini-3-pro-image |
细节与复杂任务优先 | 高细节画面、复杂构图、精细文字排版、复杂参考图编辑 |
普通任务会直接使用 Flash。用户明确要求高细节、最高质量、复杂构图、精细排版或复杂参考图编辑,但没有指定模型时,插件会在请求 API 前询问是否切换到 Pro;只有确认后才会使用 Pro。单次选择不会改写以后任务的默认模型。
插件独立于 88API-Image-Gen,不共享 Key 或配置文件。
| 方式 | 适合场景 | 入口 |
|---|---|---|
| Codex 插件(本项目) | 在 Codex 中用自然语言生成或编辑图片,适合参考图、重复任务、自动化和本地落盘 | https://github.com/blackdm666/88api-Nano-Banana |
| 简单生图工具 | 无需安装,在浏览器中填写提示词、调整参数、上传参考图并复用历史任务 | https://img.88api.ai/ |
| 专业画布工具 | 适合复杂创作流程、图像与视频项目、提示词库、资产管理和 Agent 辅助任务 | https://img-pro.88api.ai/ |
只想快速出一张图时使用简单生图工具;需要可视化管理素材和多步骤创作时使用专业画布;希望让 Codex 理解需求并自动执行、保存文件时使用本插件。
从 v1.3.0 开始,插件仅使用 OpenAI Chat Completions 协议:
| 场景 | 端点 | 请求格式 |
|---|---|---|
| 文生图 | https://88api.ai/v1/chat/completions |
JSON,messages 使用文本内容 |
| 参考图编辑 | https://88api.ai/v1/chat/completions |
JSON,messages 使用文本与 image_url 内容块 |
请求使用 Authorization: Bearer <KEY> 和 Content-Type: application/json。
核心请求格式:
{
"model": "gemini-3.1-flash-image",
"messages": [
{
"role": "user",
"content": "生成一张图片:纯白背景,中央只有一个蓝色圆形,不要文字。"
}
],
"modalities": ["text", "image"],
"extra_body": {
"google": {
"image_config": {
"aspect_ratio": "16:9",
"image_size": "4K"
}
}
}
}aspect_ratio支持1:1、2:3、3:2、3:4、4:3、4:5、5:4、9:16、16:9、21:9。image_size支持1K、2K、4K。- 参考图会按输入顺序转换成
image_urlData URI,与文字一起放入同一条用户消息。 - Pro 等长任务使用原始 HTTPS/1.1、
Accept-Encoding: identity、10 分钟超时和每 15 秒本地心跳,避免高层fetch解码或无输出等待导致连接提前中断。Gemini 图片渠道不启用stream: true。
- Codex 插件功能
- Node.js 18 或更高版本
- 能通过 OpenAI Chat Completions 调用上述 Gemini 图片模型的 88api.ai Key
打开 88api.ai 注册账号并登录。
进入“API 密钥”,点击“创建 API 密钥”。名称可以自定义(例如“生图”),分组选择 auto(自动分组);如需在当前分组渠道失败时继续尝试下一分组,可开启“跨分组重试”。
复制创建好的完整 Key。
安装插件后,直接向 88API-Nano-Banana 描述生图或改图需求。Agent 会先自动检查 Key;如果尚未配置,它会主动请你提供完整 Key。你只需把 Key 发给 Agent,Agent 会自动保存、脱敏核验并继续原任务,不需要打开 PowerShell。
配置保存在 ~/.codex/88api-nano-banana-config.json。Agent 不会在回复中显示完整 Key,验证过程也不会发起付费生图请求。
只在自己信任的 Codex 任务中提供 Key,不要发布到 GitHub Issue、公开聊天、仓库文件或截图中。
高级用户:手动配置命令
node "<PLUGIN_ROOT>\scripts\generate.mjs" --set-key "<YOUR_88API_GEMINI_IMAGE_KEY>"
node "<PLUGIN_ROOT>\scripts\generate.mjs" --get-config首次安装使用 Codex 标准 marketplace 流程:
codex plugin marketplace add blackdm666/88api-Nano-Banana
codex plugin add 88api-nano-banana@88api-nano-banana
codex plugin list --json已添加过该 marketplace 时,先刷新仓库快照,再重新安装插件版本:
codex plugin marketplace upgrade 88api-nano-banana
codex plugin add 88api-nano-banana@88api-nano-banana
codex plugin list --jsonplugin list 中应显示 88api-nano-banana 已安装并启用。安装或升级后必须新建 Codex 任务,使插件和技能列表重新加载。
在新任务的输入框中输入 @,从菜单中选择 88API-Nano-Banana,然后继续写自然语言需求。例如:
@88API-Nano-Banana 生成一张 16:9 的科技产品海报,4K。
如果 @ 菜单里没有出现插件,依次确认:
codex plugin list --json中插件是installed、enabled。- marketplace 已通过
codex plugin marketplace upgrade 88api-nano-banana刷新。 - 安装或升级后已经新建任务,而不是继续使用升级前打开的旧任务。
不指定 --model 时使用保存的默认模型;首次安装的默认值是 gemini-3.1-flash-image。一次任务需要 Pro 时传入 --model gemini-3-pro-image,只有明确要求改变长期默认时才使用 --set-model。
文生图:
node "<PLUGIN_ROOT>\scripts\generate.mjs" --prompt "在太空中挥手的布偶猫,背景是地球" --aspect 16:9 --resolution 1K参考图编辑:
node "<PLUGIN_ROOT>\scripts\generate.mjs" --model gemini-3-pro-image --image "<参考图.png>" --prompt "保持主体身份,改成电影海报" --aspect 9:16 --resolution 2K批量生成不同提示词(顺序执行,整批只启动一次插件进程):
node "<PLUGIN_ROOT>\scripts\generate.mjs" --batch-inline "第一张提示词" "第二张提示词" "第三张提示词" --aspect 16:9 --resolution 1K也可以用 --batch prompts.json,文件内容为字符串数组或 { "prompts": [...] }。最多支持 20 条提示词;每条仍是独立付费请求。相同提示词的多张方案继续使用 --count 1..4。
两张及以上图片必须先整理完整任务清单,再通过一条 --count、--batch-inline 或 --batch 命令提交。不要每张图片分别启动一次插件进程,否则 Auto 模式可能反复触发外网审批,导致后续任务尚未到达 88API 就被拦截。
比例和分辨率是请求目标,不是本地强制缩放。对尺寸有硬性要求时应检查最终文件;88API 或上游模型可能调整输出尺寸。
正常响应从 Chat Completions 的消息内容或图片字段中读取图片。如果 88API 把图片包装在百万字符级 Markdown/Data URI 文本中,插件仍会在 128 MB 响应上限内:
- 解析 Markdown/Data URI 和 URL-safe Base64;
- 从摘要和错误中移除 Base64;
- 多个文本候选仅保留最后一张成品图;
- 对最终图片进行内容哈希去重。
以下命令不会请求付费 API:
node --check "<PLUGIN_ROOT>\scripts\generate.mjs"
node "<PLUGIN_ROOT>\scripts\generate.mjs" --self-test
node "<PLUGIN_ROOT>\scripts\generate.mjs" --prompt "测试" --dry-run
node "<PLUGIN_ROOT>\scripts\generate.mjs" --image "<参考图.png>" --prompt "测试编辑" --dry-run每个 --count 都是独立云端请求。本地卡死、Codex 崩溃、断网或图片未保存,不代表云端任务取消;已经受理或完成的请求仍可能计费。[NO-AUTO-RETRY] 只禁止插件自动重发;用户了解风险后明确说“重试/重新生成/再试一次”,Codex 应直接提交 1 次新请求,不强制先查使用日志。
Codex Auto 模式可能在插件访问网络前发起外网执行审批。若错误明确包含“外部网络执行授权”“沙箱网络权限”“审批服务”或审批服务的 429 Too Many Requests,它不是 88API、Key、渠道或模型返回的限流。
被审批层拦截且尚未出现 [序号/总数] 正在向 88API 提交图片请求 的任务没有发送到 88API,因此 88API 没有对应日志,也不会产生这部分费用;此前已经被 88API 受理的任务仍按实际结果计费。
需要避免重复审批时:
- Windows 按
Ctrl+,打开 Codex 设置。 - 进入 General(通用)→ Permissions(权限) 并启用 Full access(完全访问)。
- 回到任务,在输入框下方的权限菜单中选择 Full access(完全访问)。
- 将剩余图片通过一条
--batch-inline或--batch命令重新提交。
**安全提示:**Full access(完全访问)会取消当前任务的本地沙箱与审批边界。插件只提供解释和操作步骤,不会自动修改全局 Codex 权限。如果该选项不可用或呈灰色,可能是组织策略限制;此时使用单条批量命令,并只审批一次正式外网执行。

