SuperAPI AI 工具集

gemini-webhooks

编程与开发

查看项目

更新于 10-15 22:14

技能介绍

用途:接收并验证 Google Gemini API 的 Webhook,用于批处理(Batch API)、视频生成(Veo)和 Interactions API 等长时运行操作的通知,替代轮询。

主要能力:处理 batch.succeeded、batch.failed、batch.cancelled、batch.expired、video.generated、interaction.completed、interaction.requires_action、interaction.failed、interaction.cancelled 等事件。遵循 Standard Webhooks 规范,每次投递含 webhook-id、webhook-timestamp、webhook-signature 三个请求头;签名基于 webhook-id.webhook-timestamp.body,使用 HMAC-SHA256,密钥以 whsec_ 前缀的 base64 编码形式在创建 Webhook 时返回一次。

使用方式:提供 Express、Next.js App Router、FastAPI 三种实现示例。验证要点:必须使用原始请求体(如 express.raw())计算签名;时间戳偏差超过 5 分钟应拒绝以防重放;签名头可能含空格分隔的多个 v1 条目(密钥轮换期间),任一匹配即通过。环境变量为 GEMINI_API_KEY 与 GEMINI_WEBHOOK_SECRET。本地开发可用 npx hookdeck-cli listen 3000 gemini --path /webhooks/gemini 建立隧道。

限制与说明:Gemini 支持静态(项目级、HMAC 对称签名)与动态(按任务、RS256 JWT、需对照 Google JWKS 验证)两种投递模式,示例均针对静态模式。Gemini 采用至少一次投递,需自行实现幂等;失败会以指数退避重试 24 小时。具体事件字段与完整参考暂未提供。