用Gemini 3.
Google 的 gemini-3.1-flash-lite-image(内部叫 NB2Lite)走了一条不同的路,它支持 Interactions API,简单说就是图像编辑有了“状态”。我最近在公司尝试把这个能力通过 MCP 协议集成到 Antigravity CLI 里,效果相当惊艳。
一、核心逻辑:为什么说它有“记忆”?
传统的图像 API 是无状态的,但 Interactions API 引入了 interaction_id。整个工作流是这样的:
1. 第一次调用 client.interactions.create 时,设置 store=True。
2. API 返回一个 interaction_id,这个 ID 就像是一个临时画布的索引,保存在 Google 服务器端。
3. 下一次修改时,直接传这个 previous_interaction_id。
这意味着你不需要写“一只穿着红围巾、在晨雾森林里、左边有三棵白桦树的狐狸,现在请给它手里加盏灯”,你只需要在 Antigravity 里输入:
Add a lantern in its paw.
AI 知道你在说哪只狐狸,因为画布状态还在。实测响应速度极快,生成时间通常在 2 秒以内。
二、部署与实操指南
这个功能是通过一个 FastMCP server 实现的,将 Gemini 的能力封装成 Antigravity 的 Skill。
环境配置
首先需要安装依赖并配置 API Key。建议直接用 python 虚拟环境,避免污染全局。
pip install fastmcp google-generativeai
export GEMINI_API_KEY='你的API_KEY'运行 MCP Server
server.py 是一个单文件实现,直接启动即可将其暴露给 AI Agent:
python server.py关键配置参数
在实际调用过程中,有几个坑需要注意,我已经在 server 层处理掉了:
- Thinking Levels(思考等级): API 文档里写了 minimal, medium, high, low 四个等级。但实测发现,如果传 minimal 或 medium,API 会直接报 HTTP 400 错误。目前稳定支持的是
low(快速草图)和high(复杂构图/精准文字)。 - 宽高比继承: 比例(如 16:9 或 1:1)在首次生成时确定。后续的 stateful edits 会自动继承这个比例。如果你强行在编辑阶段改比例,图像的像素连续性会严重下降。
三、落地体验与避坑
在团队内部推行这个工作流后,最明显的提效点是在 UI 原型快速迭代阶段。以前设计师出图,我们对着改 prompt 浪费半天,现在直接在 CLI 里像对话一样微调。
不过在实操中发现一个细节:每一次编辑都会返回一个新的 interaction ID。你必须始终链式传递最新的 ID。如果你传了一个之前的旧 ID,会触发“分支”效果——即 AI 会基于那个旧状态重新编辑,导致你之前的修改全部丢失。
总结一下这个方案的架构:
- 底层模型:
gemini-3.1-flash-lite-image - 传输协议: MCP (Model Context Protocol)
- 交互端: Antigravity CLI
这种将 stateful 能力通过 MCP 插件化的方式,比单纯写一个 Prompt 模板要强得多,因为它真正解决了图像编辑的连续性问题。
如果你想尝试部署,可以直接参考这个具体的路径:https://github.com/xbill9/nb2lite-skill-agy