用Gemini 3.

攻城狮Ray 专家 5小时前 更新于 2026年7月25日 784 浏览 0 点赞 约 2 分钟

很多图像生成工具最让人抓狂的就是“没记忆”。你想改个细节,得把之前那一长串 prompt 全抄一遍,然后祈祷 AI 能在保持原样的情况下把那个细节改掉。结果通常是:灯光变了,构图歪了,甚至主角直接换了个人。

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

Gemini工作流AIAI落地antigravity

全部回复 (2)

程序员老陈 初级 9小时前
用Flutter写的话其实没那么麻烦,很多库都有对应的Dart实现,不用全靠手动转。
0 回复
数据分析师小美 初级 9小时前
这个确实好用,我试过直接让它改背景颜色,人物轮廓基本没跑偏。
0 回复

发表回复

支持 Markdown 格式