跳转到主要内容

概述

Google 提供 @google/genai(JavaScript / TypeScript)和 google-genai(Python)两套官方 SDK,覆盖 Gemini API 的全部端点。将 baseUrl 指向 AIHubMix 网关并替换为平台 API Key,即可通过原生 SDK 调用 Interactions、Embeddings、Context Caching 等 OpenAI 兼容层未覆盖的能力,无需改动任何业务代码。

快速开始

安装

Interactions API 要求 @google/genai >= 2.0.0google-genai >= 2.0.0。低版本 SDK 的请求会被 Google 后端拒绝(legacy Interactions schema no longer supported)。

初始化客户端

baseUrl 固定为 https://aihubmix.com/gemini,与 OpenAI 兼容端点 https://aihubmix.com/v1 不同。

Interactions API

Interactions 是 Gemini 新一代推理接口,返回结构化的 Interaction 对象,支持文本生成、原生图像生成(Nano Banana)及多步推理。目前已支持同步模式interactions.create());异步模式(Background Interactions:get / cancel / delete)敬请期待。

文本生成

调用 interactions.create() 发起推理,返回的 Interaction 对象提供 output_text 便捷属性,直接获取模型最后一段文本输出。

原生图像生成

通过 response_format 配置输出模态为图像。返回的 Interaction 对象提供 output_image 便捷属性,其 data 字段为 Base64 编码的图像数据。
  • 推荐模型 gemini-3.1-flash-image(Nano Banana 2,通用生图模型)。
  • response_modalities 值必须为小写 ['text', 'image'];大写为 generateContent API 的写法,在 Interactions API 中会返回 400
  • 勿传 delivery: 'inline'400 Image delivery mode is not supported),Interactions API 默认即以 inline 方式返回图像数据。
response_format 参数:

流式输出

传入 stream: true 启用 Server-Sent Events(SSE)流式传输。事件按以下顺序到达:
增量文本通过 event.delta.text 获取,事件类型字段为 event_type
JavaScript

Embeddings

通过 embedContent 端点获取文本或多模态内容的向量表示(embedding)。
如需 OpenAI 兼容的 /v1/embeddings 端点,请参阅 向量嵌入

embedContent

批量获取 Embeddings

embedContentcontents 参数传入 Content 数组,即可一次调用获取多条文本的 embedding:
JavaScript

可用模型与参数

gemini-embedding-001 支持通过 config.taskType 指定嵌入用途,优化特定下游任务的向量质量:
gemini-embedding-2-preview 不支持 taskType 参数,改为在 prompt 中通过前缀指定任务类型(如 search_query: ...search_document: ...)。

Context Caching(显式缓存)

显式缓存(Explicit Caching)允许开发者手动创建、查询、引用和删除 CachedContent 对象,适用于需要在多次请求间复用同一段长上下文的场景。与隐式缓存不同,显式缓存由应用侧主动管理生命周期。
显式缓存仅适用于 generateContent API。Interactions API 仅支持隐式缓存。
未配置存储定价的模型会被网关拦截缓存创建请求(context caching is not available for model),以防止存储费用漏收。主流模型(gemini-2.5-flash、gemini-2.5-pro 等)均已配置。

创建 CachedContent

通过 caches.create() 创建缓存。ttl(Time-To-Live)控制缓存有效期,到期后自动清除。

在 generateContent 中引用缓存

cache.name 传入 cachedContent(JS)或 cached_content(Python)参数,即可在推理时命中缓存。命中的 token 数会体现在 usageMetadata.cachedContentTokenCount 中。

查询与删除


已支持能力矩阵


常见问题

SDK 版本过低。@google/genai 须 >= 2.0.0,google-genai 须 >= 2.0.0。执行 npm install @google/genai@latestpip install -U google-genai 升级至最新版本。
部分早期模型名称(如 gemini-2.5-flash-image-preview)在 Interactions API 上已下线。请使用当前可用的模型标识符,如 gemini-3.1-flash-image(Nano Banana 2)。generateContent API 不受影响。
Interactions API 的 response_modalities 值必须为小写("text""image")。大写 "TEXT" / "IMAGE"generateContent API 的写法,在 Interactions API 中不被接受。
不可用。SDK 的 vertexai: true 模式要求 GCP OAuth + project / location 参数,与 apiKey 互斥(SDK 抛出 Project/location and API key are mutually exclusive)。通过 AIHubMix 接入时使用 Gemini Developer API 形态即可,后端自动路由。
网关对未配置存储定价的模型会拦截 caches.create() 请求,以防止存储费用漏收。主流模型(gemini-2.5-flash、gemini-2.5-pro 等)均已配置;如遇此错误,请确认该模型是否支持显式缓存。

更新时间:2026-07-07