Gemini 3.1 Flash Lite Image + MCP
很多人用AI画图最痛苦的就是没法精准微调,想改个细节得把整段提示词重新写一遍,结果画风全变了。最近我们在公司尝试把 Gemini 的 Interactions API 通过 MCP 协议接入到 Codex 里,解决了这个“无状态”的痛点。
如果你想在自己的 Codex 环境里跑起来,可以参考这个项目的结构:
下一篇
Bash脚本避坑:别让默认设置毁了你的生产环境 →
简单来说,这个方案让 AI Agent 具备了 stateful(有状态)的图像编辑能力。以往是“生成-丢弃-再生成”,现在变成了真正的“对话式修改”。比如先让它画个赛博朋克厨房,没问题后直接跟一句“加个霓虹灯拉面招牌”,它会在原图基础上修改,而不是重新随机生成一个厨房。
技术实现上,这套工作流由两个部分组成:一个是基于 FastMCP 搭建的服务器,负责调用 Google 的 API;另一个是 Codex 的 skill 配置,告诉 Agent 什么时候该调用哪个工具。
这里最核心的逻辑在于 Interactions API 的 interaction_id:
1. 第一次调用 create 接口并设置 store=True,服务器会返回一个 interaction_id。
2. 随后的修改请求只要携带这个 ID,模型就能在服务端维持视觉上下文。
3. 每次编辑都会产生一个新的 ID,必须用最新的 ID 才能接续对话,否则会产生版本分叉。
在实操部署中,有几个细节坑需要注意:
- 比例锁定:长宽比(如 16:9 或 1:1)必须在首次生成时确定,后续编辑不能更改,否则像素连续性会崩掉。
- 思考等级(Thinking levels):API 文档里写了 minimal 和 medium,但实际调用
gemini-3.1-flash-lite-image时,这两个值会报 HTTP 400 错误。目前实测只有low(快速草图)和high(复杂渲染/精准文字)可用。
如果你想在自己的 Codex 环境里跑起来,可以参考这个项目的结构:
# 核心逻辑在 server.py 中,通过 FastMCP 暴露工具
# 部署后在 Codex 中配置对应的 skill 即可这种有状态的编辑能力在公司内部做 UI 原型快速迭代时效率极高,不用在 Prompt 调优上浪费时间,直接像指挥美工一样说话就行。