如何通过 Google Flow API 与 Google Flow Agent 对话

8 分钟阅读 • 2026 年 10 月 17 日(2026 年 11 月 10 日更新)

useapi.net 是第三方 API,与 Google 无关联,也未获得 Google 的认可。

目录

  1. 简介
  2. 开始之前
  3. 对话如何进行
  4. 第 1 步:开始对话
  5. 第 2 步:流式接收回复
  6. 第 3 步:批准消耗
  7. 第 4 步:取回媒体
  8. 第 5 步:继续或修改
  9. 第 6 步:读取、列出、重命名和删除对话
  10. 第 7 步:审批、指令和默认模型的设置
  11. 用 AI 助手做同样的事
  12. 示例
  13. 常见问题
  14. 结语

简介

useapi.net 的 Google Flow API 让你的代码可以与 Google Flow Agent 对话。Google Flow Agent 是 Google Flow 内置的创意助手:用一条 curl 开始对话,流式接收它的回复,批准它想要的积分消耗,再下载它生成的图片和视频。Google 只在 Google Flow 网页应用中提供 Flow Agent,没有公开 API(截至 2026 年 11 月)。useapi.net 是第三方 API,与 Google 无关联,对话运行在你自己的 Google Flow 账号上,免费账号和付费账号都可以。与 Agent 对话本身不消耗积分,它生成的图片和视频按 Google Flow 的常规价格计费。

本指南完整记录了一次真实运行。我们让 Agent 为一只陶瓷咖啡杯拍两张产品图,再做一段 6 秒的视频,批准了消耗,取回了成品,然后又要求修改一次,并拒绝了那次修改。下面的每个响应都来自这次运行,做了删减,账号邮箱也已替换。

Agent 会自己规划工作。它根据项目的设置选择工具和模型,整段对话都保存在 Google 那边,所以几小时甚至几天后继续对话,上下文依然完整。所有规则和限制见 Agent 概览。

开始之前

你需要一个 useapi.net API Token,以及一个通过 设置 Google Flow 连接好的 Google 账号。Agent 在所有 Google AI 订阅上都能用,包括免费账号。它能生成什么取决于账号的订阅,和 POST /images、POST /videos 一样。

每一轮对话要用一次验证码,由 API 通过你的验证码服务商或你第一个账号自带的免费验证码额度自动解决,你不需要为此发送任何东西。

下面的步骤使用 curl、jq 和三个 shell 变量:

export USEAPI_TOKEN="user:12345-..."   # 你的 useapi.net API Token
export EMAIL="[email protected]"           # 一个已连接的 Google Flow 账号
API="https://api.useapi.net/v1/google-flow/agent"

下面的每个调用也都在 Postman 集合里。

对话如何进行

一轮(turn)是你发出的一条消息,加上 Agent 为回复它所做的一切。一个对话一次只运行一轮:

  1. POST /agent/chats 开始对话,返回 202 和一个 chatId。
  2. GET /agent/chats/chatId/stream 通过 Server-Sent Events 实时跟踪 Agent。
  3. Agent 想要消耗积分时,会停下来询问。用 POST /agent/chats/chatId/approval 回答。
  4. POST /agent/chats/chatId/messages 发送下一条消息。
  5. GET /agent/chats/chatId 读取整个对话,媒体链接是新生成的。

第 1 步:开始对话

把需求写在 message 里发送。Google 接受这一轮后调用就会返回,通常只要几秒,最长可能约 100 秒,所以给 curl 设置 150 秒超时:

curl -s --max-time 150 -X POST "$API/chats" \
  -H "Authorization: Bearer $USEAPI_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "'"$EMAIL"'",
    "message": "Create two product shots of a matte sage-green ceramic coffee mug on a light oak table in soft morning window light, square format, with Nano Banana 2.1. Then make one 6 second video of the same mug with steam slowly rising from the coffee, with Omni 1.1 Flash."
  }'

我们的请求大约 10 秒后返回 202:

{
  "chatId": "c-u12345-email:[email protected]:74262ac8-a54f-4ad7-80d7-3d44a4d6c6c1-chat:55023a0f-5e70-4545-bb4a-d878038dcf35-bot:google-flow",
  "email": "[email protected]",
  "turn": 1,
  "status": "running"
}

chatId 里已经包含账号和项目,所以后续调用两者都不用再传。它含有 : 和 @,放进路径时要做 URL 编码。两种形式都保留:

CHATID="c-u12345-email:[email protected]:74262ac8-...-bot:google-flow"
CHAT=$(jq -rn --arg v "$CHATID" '$v|@uri')

不传 projectId 时,对话放在账号自己的 Agent 项目里。这个项目在第一次对话时创建,名字类似 My Agents Work Fri, Oct 16,让 Agent 的作品和你在 Google Flow 中的其他媒体分开。任何一条消息都可以附带最多 7 张图片、1 段视频、5 个音色和 7 个角色,@ 提及语法与 POST /videos 相同,详见 POST /agent/chats。

第 2 步:流式接收回复

用 -N 打开流,事件一到就会打印出来。浏览器的 EventSource 无法发送 Authorization 请求头,所以在应用里请用 fetch() 或任意 HTTP 客户端:

curl -s -N "$API/chats/$CHAT/stream" \
  -H "Authorization: Bearer $USEAPI_TOKEN"

新打开的流先发送一个 chat 事件,回放对话历史,然后发送 replayed。replayed 之后的内容都是实时的。这里我们连上时第一轮已经结束,所以它出现在回放中。Agent 先说明了计划,然后请求允许花 10 积分生成 2 张图片和 1 段视频(省略了 ui 和其他较长的字段):

event: chat
data: {"chatId":"c-u12345-email:[email protected]:74262ac8-...-bot:google-flow","status":"waiting_approval","turns":1}

id: 1:505e78d7-bd79-4938-b0ec-8117bdb933dc
event: message
data: {"id":"1:505e78d7-...","turn":1,"items":[{"kind":"text","text":"I'm going to generate two images of a matte sage-green ceramic coffee mug, then I'll create a 6-second video of the same mug with rising steam using Omni 1.1 Flash."}]}

id: 1:00c21a03-a687-4173-9fd9-190fcdf2447b
event: message
data: {"id":"1:00c21a03-...","turn":1,"items":[{"kind":"tool_call","tool":"open_chat_panel","args":{"_synthetic":true}},{"kind":"tool_call","tool":"ask_for_permission","args":{"num_total":3,"total_cost":10,"num_videos":1,"num_images":2}}]}

id: 1:approval
event: approval
data: {"turn":1,"cost":10,"images":2,"videos":1,"total":3}

event: replayed
data: {"turns":1}

需要处理的事件:

事件 含义
message Agent 的一条完整消息:文字、思考、工具调用和工具结果
approval Agent 在消耗 cost 个 Flow 积分之前请求许可
turn 一轮结束:completed、waiting_approval,或带 error 的 failed
media Agent 生成的图片或视频,或其状态变化,completed 时带 url

每 15 秒会有一个 keepalive。一个流覆盖整个对话的所有轮次,所以在批准和发送消息期间保持它打开即可。如果连接断开,在 Last-Event-ID 请求头里带上最后一个 id 重新连接,就会从断开处继续。关闭流时一轮仍会继续运行,不会丢失任何内容。

第 3 步:批准消耗

在 ask 审批模式下,Agent 在花费任何积分之前都会停下来。对话的 status 是 waiting_approval,approval 事件显示费用。请在大约 4 分钟内用 approve、always 或 reject 回答:

curl -s --max-time 150 -X POST "$API/chats/$CHAT/approval" \
  -H "Authorization: Bearer $USEAPI_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "decision": "approve" }'

自 2026 年 11 月 10 日 Google 修改 Flow Agent 以来,回答会延续发出请求的那一轮(这里是第 1 轮,而不是新的第 2 轮),而且只有在那一轮仍然开放时 Google 才会接受,也就是请求发出后约 4 分钟内。更晚的回答会得到 409:请重新发送消息,或者按第 7 步把项目设为 approval: "auto",让 Agent 不再询问。下面的运行记录于这次变更之前,所以它的回答开启了第 2 轮,其中的工具名(generate_video_from_text)现在会显示为 generate_image 和 generate_video。

回答后 Agent 重新开始工作:

{
  "chatId": "c-u12345-email:[email protected]:74262ac8-...-bot:google-flow",
  "email": "[email protected]",
  "turn": 2,
  "status": "running"
}

在打开的流上,第 2 轮把视频排入队列,生成了两张图片,并在约 30 秒内结束。Agent 的 choices(Option 1、Option 2)就是 Google Flow 网页应用为每个结果显示的图块:

id: 2:5feb253e-0848-422a-bcb8-936995b3c0df
event: message
data: {"id":"2:5feb253e-...","turn":2,"items":[{"kind":"tool_result","tool":"generate_video_from_text","result":{"status":"queued","media_id":"5732c66d-a971-4cd0-92d2-508ef0aecc07","display_name":"Steam rising from coffee mug","model_key":"abra_t2v_6s","aspect_ratio":"VIDEO_ASPECT_RATIO_LANDSCAPE"}}]}

id: 2:m:5732c66d-a971-4cd0-92d2-508ef0aecc07
event: media
data: {"turn":2,"referenceId":"user:12345-email:6a6f...-video:5732c66d-a971-4cd0-92d2-508ef0aecc07","mediaId":"5732c66d-a971-4cd0-92d2-508ef0aecc07","type":"video","status":"queued","tool":"generate_video_from_text","model":"abra_t2v_6s","displayName":"Steam rising from coffee mug"}

id: 2:m:377ecb33-ab2c-4bce-92d4-7bfcf53a9af2
event: media
data: {"turn":2,"referenceId":"user:12345-email:6a6f...-image:377ecb33-ab2c-4bce-92d4-7bfcf53a9af2","mediaId":"377ecb33-ab2c-4bce-92d4-7bfcf53a9af2","type":"image","status":"completed","tool":"generate_image","displayName":"Ceramic coffee mug on table","url":"https://flow-content.google/image/377ecb33-...?Expires=...&Signature=..."}

id: 2:4e37b051-c49c-4331-bc0c-06ccc539b950
event: message
data: {"id":"2:4e37b051-...","turn":2,"items":[{"kind":"text","text":"I've generated your two product shots. Your 6-second video has been scheduled and is waiting in the queue due to high demand. Feel free to check back in a few minutes."}]}

id: 2:end
event: turn
data: {"turn":2,"status":"completed"}

always 会批准,同时把项目切换到 auto 模式,于是 Agent 在该项目的所有对话中都不再询问。reject 表示拒绝,见第 5 步。有请求在等待时,发送新消息会得到 409:请先回答请求。

第 4 步:取回媒体

一轮结束时图片就已就绪。视频通常再过一两分钟完成,完成时流会为视频再发送一个 media 事件。我们的视频在这一轮结束后不到一分钟就到了:

id: 2:m:5732c66d-a971-4cd0-92d2-508ef0aecc07
event: media
data: {"turn":2,"referenceId":"user:12345-email:6a6f...-video:5732c66d-a971-4cd0-92d2-508ef0aecc07","mediaId":"5732c66d-a971-4cd0-92d2-508ef0aecc07","type":"video","status":"completed","tool":"generate_video_from_text","model":"abra_t2v_6s","displayName":"Steam rising from coffee mug","url":"https://flow-content.google/video/5732c66d-...?Expires=...&Signature=...","durationSec":6}

趁链接还新鲜,下载每个 url:

curl -s -L -o mug-steam.mp4 "https://flow-content.google/video/5732c66d-...?Expires=...&Signature=..."

这些链接指向 Google,签发后约 6 小时过期。要获取新链接,可以用 GET /agent/chats/chatId 重新读取对话,或者用某一项的 referenceId 通过 GET /assets/mediaGenerationId 获取它的链接。referenceId 还可以作为 referenceImage_N 或 referenceVideo_1 用在 POST /images、POST /videos 和你给 Agent 的下一条消息中。两张图片和 1280×720 的视频见示例。

这次运行花了 10 积分:两张 Nano Banana 2.1 图片在这个账号的订阅上是 0 积分,6 秒的 Omni 1.1 Flash 视频是 10 积分。

第 5 步:继续或修改

把下一条消息发到同一个对话。Google 保留着整段对话,所以 Agent 知道“那段视频”指的是哪一段:

curl -s --max-time 150 -X POST "$API/chats/$CHAT/messages" \
  -H "Authorization: Bearer $USEAPI_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "message": "Nice. Revise the video: make it 8 seconds, with a slow camera push-in toward the mug while the steam rises." }'

它返回了 202 和 "turn": 3,Agent 再次请求许可,这次是 12 积分:

id: 3:approval
event: approval
data: {"turn":3,"cost":12,"images":0,"videos":1,"total":1}

id: 3:end
event: turn
data: {"turn":3,"status":"waiting_approval"}

我们已经有了视频,所以拒绝了:

curl -s --max-time 150 -X POST "$API/chats/$CHAT/approval" \
  -H "Authorization: Bearer $USEAPI_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "decision": "reject" }'

第 4 轮以一条回复结束,没有新的图片或视频,也没有消耗积分:

id: 4:91e06fb7-ba5b-4e32-b2a6-ce210be491ba
event: message
data: {"id":"4:91e06fb7-...","turn":4,"items":[{"kind":"text","text":"I've cancelled that generation. Are there any changes you'd like to make to the prompt or concept before we try again?"}]}

id: 4:end
event: turn
data: {"turn":4,"status":"completed"}

一轮运行期间发送消息会得到 409,所以请先等 turn 事件。要选择 Agent 给出的某个选项,就像 Google Flow 网页应用那样,把该选项的文字作为下一条消息发送。

第 6 步:读取、列出、重命名和删除对话

随时可以从 Google 读取整个对话。每一轮都包含你的消息、Agent 做的一切,以及带新链接的媒体:

curl -s "$API/chats/$CHAT" -H "Authorization: Bearer $USEAPI_TOKEN"

四轮之后我们的对话(agent 项和 media 做了删减,省略了 ui):

{
  "chatId": "c-u12345-email:[email protected]:74262ac8-...-bot:google-flow",
  "email": "[email protected]",
  "projectId": "74262ac8-a54f-4ad7-80d7-3d44a4d6c6c1",
  "title": "Sage Green Ceramic Mug Concept",
  "created": "2026-10-18T00:47:54.000Z",
  "updated": "2026-10-18T00:50:47.236Z",
  "status": "idle",
  "pendingApproval": null,
  "lastError": null,
  "turns": [
    {
      "turn": 1,
      "message": { "text": "Create two product shots of a matte sage-green ceramic coffee mug ...", "references": [] },
      "agent": [
        { "kind": "text", "text": "I'm going to generate two images of a matte sage-green ceramic coffee mug, then I'll create a 6-second video ..." },
        { "kind": "tool_call", "tool": "ask_for_permission", "args": { "num_total": 3, "total_cost": 10, "num_videos": 1, "num_images": 2 } }
      ],
      "media": []
    },
    {
      "turn": 2,
      "message": { "text": "Approve", "references": [] },
      "agent": [
        { "kind": "tool_call", "tool": "generate_video_from_text", "args": { "duration": 6, "aspect_ratio": "16:9", "model_display_name": "Omni 1.1 Flash", "prompt": "Cinematic product video of a matte sage-green ceramic coffee mug ..." } },
        { "kind": "tool_call", "tool": "generate_image", "args": { "aspect_ratio": "1:1", "prompt": "A professional product shot of a matte sage-green ceramic coffee mug ..." } },
        { "kind": "text", "text": "I've generated your two product shots. Your 6-second video has been scheduled ..." }
      ],
      "media": [
        { "referenceId": "user:12345-email:6a6f...-video:5732c66d-...", "type": "video", "status": "completed", "model": "abra_t2v_6s", "displayName": "Steam rising from coffee mug", "url": "https://flow-content.google/video/5732c66d-...", "durationSec": 6 },
        { "referenceId": "user:12345-email:6a6f...-image:377ecb33-...", "type": "image", "status": "completed", "displayName": "Ceramic coffee mug on table", "url": "https://flow-content.google/image/377ecb33-..." },
        { "referenceId": "user:12345-email:6a6f...-image:a2d3cd0c-...", "type": "image", "status": "completed", "displayName": "Ceramic coffee mug on wooden sur…", "url": "https://flow-content.google/image/a2d3cd0c-..." }
      ]
    },
    { "turn": 3, "message": { "text": "Nice. Revise the video: make it 8 seconds, ...", "references": [] }, "agent": ["..."], "media": [] },
    {
      "turn": 4,
      "message": { "text": "Reject", "references": [] },
      "agent": [{ "kind": "text", "text": "I've cancelled that generation. Are there any changes you'd like to make to the prompt or concept before we try again?" }],
      "media": []
    }
  ]
}

对话标题是 Google 自己起的。没有任何东西在运行时 status 为 idle,Agent 等待批准时 pendingApproval 中保存着费用。传 ?media=false 可以跳过链接刷新,读取更快。

列出一个账号的对话,最近有活动的排在最前。列表来自 Google,所以也包含同一项目中在 Google Flow 网页应用里开始的对话,丢失 chatId 时也靠它找回:

curl -s "$API/chats?email=$EMAIL" -H "Authorization: Bearer $USEAPI_TOKEN"

重命名对话。新标题在 Google Flow 网页应用里也会显示:

curl -s -X PATCH "$API/chats/$CHAT" \
  -H "Authorization: Bearer $USEAPI_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "title": "Sage mug product shoot" }'
{
  "chatId": "c-u12345-email:[email protected]:74262ac8-...-bot:google-flow",
  "title": "Sage mug product shoot"
}

之后的列表如下:

{
  "chats": [
    {
      "chatId": "c-u12345-email:[email protected]:74262ac8-...-chat:55023a0f-...-bot:google-flow",
      "email": "[email protected]",
      "title": "Sage mug product shoot",
      "created": "2026-10-18T00:47:54.000Z",
      "updated": "2026-10-18T00:51:01.773Z",
      "running": false
    },
    {
      "chatId": "c-u12345-email:[email protected]:74262ac8-...-chat:1d9d42ed-...-bot:google-flow",
      "email": "[email protected]",
      "title": "Stylish Female Character Action Sequence",
      "created": "2026-10-17T03:50:34.000Z",
      "updated": "2026-10-17T04:57:26.375Z",
      "running": false
    }
  ]
}

删除对话的内容。它返回 204,没有响应体,对话会从列表和 Google Flow 网页应用中消失,而它生成的图片和视频仍保留在项目里:

curl -s -X DELETE "$API/chats/$CHAT" -H "Authorization: Bearer $USEAPI_TOKEN"

一轮运行期间,重命名和删除会返回 409。

第 7 步:审批、指令和默认模型的设置

每个 Google Flow 项目都有 Agent 设置,和 Google Flow 网页应用里的 Agent 面板一样。GET /agent/settings 读取这些设置,同时列出账号的 Google 订阅可用的图片和视频模型,以及在该订阅上生成一张图片或一段视频的费用:

curl -s "$API/settings?email=$EMAIL" -H "Authorization: Bearer $USEAPI_TOKEN"

PUT /agent/settings 只修改你发送的字段。运行之前,我们设置了 ask 模式和默认值:

curl -s -X PUT "$API/settings" \
  -H "Authorization: Bearer $USEAPI_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "'"$EMAIL"'",
    "approval": "ask",
    "imageDefaults": { "model": "nano-banana-2", "aspectRatio": "1:1", "count": 2 },
    "videoDefaults": { "model": "omni-flash", "aspectRatio": "16:9", "count": 1 }
  }'

响应是修改后的项目设置:

{
  "projectId": "74262ac8-a54f-4ad7-80d7-3d44a4d6c6c1",
  "approval": "ask",
  "instructions": [],
  "imageDefaults": { "model": "nano-banana-2", "aspectRatio": "1:1", "count": 2 },
  "videoDefaults": { "model": "omni-flash", "aspectRatio": "16:9", "count": 1 },
  "models": {
    "image": [
      { "model": "nano-banana-pro", "label": "Nano Banana Pro", "credits": 0 },
      { "model": "nano-banana-2-lite", "label": "Nano Banana 2 Lite", "credits": 0 },
      { "model": "nano-banana-2", "label": "Nano Banana 2.1", "credits": 0 }
    ],
    "video": [
      { "model": "omni-flash", "label": "Omni 1.1 Flash", "credits": 4 },
      { "model": "veo-3.1-lite", "label": "Veo 3.1 - Lite", "credits": 5 },
      { "model": "veo-3.1-fast", "label": "Veo 3.1 - Fast", "credits": 10 },
      { "model": "veo-3.1-quality", "label": "Veo 3.1 - Quality", "credits": 100 }
    ]
  }
}

credits 是在该账号订阅上生成一张图片或一段视频的最低费用,所以更长或分辨率更高的视频会更贵:我们 6 秒 720p 的 Omni 1.1 Flash 视频花了 10 积分,8 秒的修改版本则会花 12 积分。你的订阅显示的数字可能不同。设置字段:

  • approval:ask(Agent 停下来并显示费用)或 auto(直接消耗,不询问)。
  • instructions:最多 3 条常驻指令,Agent 在该项目的每个对话中都会遵循,每条可以附带参考图。这个数组会替换项目现有的指令,所以要发送完整列表。
  • imageDefaults 和 videoDefaults:消息没有另外说明时 Agent 使用的模型、宽高比和数量,从 models 中选择。

这些设置适用于项目中的每个对话,包括 Google Flow 网页应用中的对话。

用 AI 助手做同样的事

托管的 Google Flow MCP 服务器以 12 个工具的形式,为 Claude Code、Cursor、VS Code 和其他 MCP 客户端提供同样的对话功能,无需安装任何东西。在 Claude Code 中:

claude mcp add --transport http useapi-google-flow https://api.useapi.net/v1/google-flow/mcp --header "Authorization: Bearer YOUR_API_TOKEN"

然后用普通的话让助手拍杯子的产品图。助手用 flow_agent_chat 发送需求,用 flow_agent_answer_approval 回答 Agent 的积分消耗请求。该服务器在官方 MCP Registry 中的名称是 net.useapi/google-flow。

想先看一个完整的聊天客户端,可以打开在线演示。粘贴你的 API Token,选择账号,就能与 Agent 对话,图片和视频直接显示在对话中,还有附件、审批卡片和设置。它的源代码是 GitHub 上 google-flow-api/demo 里的五个小文件,无需构建,Agent 在线演示页面把每个功能对应到它的 API 调用。

示例

这次运行的成品,未经任何编辑。提示词是 Agent 根据我们的需求自己写的。

Nano Banana 2.1 » 绿色陶瓷杯的两张产品图(第 2 轮)
Google Flow Agent 的结果:浅橡木桌上的哑光鼠尾草绿陶瓷杯,柔和的晨光,由 Nano Banana 2.1 生成
Option 1,“Ceramic coffee mug on table”
Google Flow Agent 的结果:晨光中盛着咖啡的鼠尾草绿杯子特写,旁边有黄铜勺和一本打开的书,由 Nano Banana 2.1 生成
Option 2,特写

两张都是 1024×1024 的 JPEG,在这个账号的订阅上为 0 积分。

Omni 1.1 Flash » 杯中热气升腾的 6 秒视频(第 2 轮)

1280×720,带声音,6 秒,10 积分。

相关教程:Google Flow API 中文教程中的 Veo 3.1 视频部分、用 Omni Flash 生成带原生音频的视频,以及通过 Google Flow API 生成 Nano Banana 图片。

常见问题

  • 有 Google Flow Agent API 吗? 通过 useapi.net 就有:Agent API 可以开始对话、通过 Server-Sent Events 流式接收回复、回答审批并返回图片和视频,支持所有 Google AI 订阅,包括免费账号。Google 只在 Google Flow 网页应用中提供 Flow Agent,自己没有公开 API(截至 2026 年 11 月)。
  • 与 Google Flow Agent 对话要花多少钱? 通过 useapi.net,对话本身不消耗 Flow 积分,Agent 生成的内容按 Google Flow 的常规价格计费,ask 模式会在花费之前显示费用。本次运行中 6 秒 720p 的 Omni 1.1 Flash 视频,在 Google AI Ultra(199.99 美元)上是 0.08 美元,而官方 Gemini API 上是 0.61 美元(截至 2026 年 11 月)。
  • 在 Google Flow 网页应用里开始的对话会出现在 API 中吗? 通过 useapi.net 会,只要它们在同一个项目里。GET /agent/chats 会列出它们,上面的每个接口都能用在这些对话上。通过 API 开始的对话也会出现在网页应用里。要在 Agent 自己的项目以外的项目中工作,请传入 GET /assets/projects/email 返回的 projectId。
  • 可以用 webhook 代替一直打开的流吗? 通过 useapi.net 可以。在 POST /agent/chats、发送消息的调用或审批调用中传入 replyUrl,一轮结束时 API 会发送一次 POST,包含这一轮的消息、媒体、状态和任何待处理的审批。视频到达时通常仍是 queued,所以请通过 GET 或流的 media 事件获取它们的链接。
  • 有哪些限制? 通过 useapi.net,一个对话一次运行一轮,一个账号最多同时运行 3 轮,一轮最长 10 分钟,这是 Google 自己的限制。Google 还会限制每个账号每天的 Agent 消息数,但没有公布具体数字,达到上限后 API 会对该账号返回 429,直到 UTC 午夜。见限制。

结语

有问题欢迎加入我们的 Discord 服务器 或 Telegram 频道。

代码示例见我们的 GitHub 仓库,其中包括 demo/ 中的 Agent 聊天客户端。

AI 助手也可以替你与 Google Flow Agent 对话:托管的 Google Flow MCP 服务器支持 Claude Code、Cursor 和 VS Code,运行在你的 Google Flow 账号上。

开始使用

每月 15 美元的订阅即可使用 useapi.net 上的所有 API:一个 Token,所有服务。每个服务最多绑定 3 个你自己的账号,useapi.net 负责 REST 接口、负载均衡和轮询。需要更多账号?每增加一个订阅每月 10 美元,每个服务再多 3 个账号。

订阅 — 每月 15 美元 用加密货币支付

没有国际信用卡?可以用加密货币订阅(加密货币付款不退款)。价格与批量方案见订阅页面。用 Stripe 付款,首次购买 14 天内、且成功生成少于 50 次可全额退款。已经订阅?请在 Stripe 客户门户 修改数量,无需重新购买。