Skip to main content
Google 原生协议。逐字讲 Gemini generateContent 的 REST 契约,所以 google-generativeai Python SDK 和 @google/generative-ai JS SDK 都能 原样使用 —— 切换 base URL 和你的 apiKey 即可。跨厂商模型(Claude、 GPT、DeepSeek、Doubao)在底下被翻译成 Gemini 形状。

何时使用

以下情况选这个端点:
  • google-generativeai / Gemini SDK 客户端的直接替换
  • Gemini 独有的特性 比如带 Gemini 风格 JSON schema 的 responseSchema,或 safetySettings
  • 已经围绕 contents[].parts[] 组织代码 的项目(和 OpenAI / Anthropic 的 messages 不一样)
要走 Anthropic 形状打同样的模型,用 /v1/messages;要 OpenAI 形状用 /chat/completions

请求

路径中的 {model} 是模型 slug(例如 gemini-3-5-flash)。流式请用配套的 :streamGenerateContent 路径 —— 见下文 流式

请求头

Body

响应

响应字段

计费类请求头

与其他端点一致的信封:
详见 API 参考总览

流式 [#streaming]

用配套路径 :streamGenerateContent
响应是 SSE(alt=sse),每一帧带部分 candidates payload:
(不带 alt=sse 时,响应是一个 JSON 数组的帧 —— SDK 的默认行为。)

工具调用 [#tool-calling]

Gemini 的 tools[].functionDeclarations[] 形状。两次请求轮转:

第一轮 —— 提供工具

响应包含一个 functionCall part:
注意这里的 args结构化对象,不是 JSON 字符串(与 OpenAI 的 tool_calls.arguments 不同)。

第二轮 —— 回传工具结果

多模态(图像 / 音频 parts)

把 base64 编码的图像直接内联到 user 消息的 part 上:
外部存储的文件用 fileData.fileUri(要求文件可通过 HTTPS 公开访问)。多模态模型上音频(audio/wavaudio/mp3)和视频(video/mp4)parts 的用法相同。

跨模型路由

路径中的 {model} 段接受 任意 ByteSpike 目录模型 —— 网关把 Gemini 形状翻译成各模型的原生协议:
注意:
  • responseSchema 约束需要模型支持结构化输出;否则返回 400 unsupported_feature
  • safetySettings 仅在 Gemini 模型上被尊重 —— 在 Claude / GPT / DeepSeek 上被静默忽略(它们有自己的安全栈)。
  • 不论用哪个模型,usageMetadata 字段名始终是 Gemini 形状。
完整目录:GET /v1/models。按模型计价:bytespike.ai/pricing

错误

所有非 2xx 响应 免费。Body 形状与 Gemini 的错误信封一致:

SDK 示例

google-generativeai Python SDK,base URL 指向 ByteSpike: