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不一样)
/v1/messages;要 OpenAI 形状用 /chat/completions。
请求
{model} 是模型 slug(例如 gemini-3-5-flash)。流式请用配套的 :streamGenerateContent 路径 —— 见下文 流式。
请求头
Body
响应
响应字段
计费类请求头
与其他端点一致的信封:流式 [#streaming]
用配套路径:streamGenerateContent:
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/wav、audio/mp3)和视频(video/mp4)parts 的用法相同。
跨模型路由
路径中的{model} 段接受 任意 ByteSpike 目录模型 —— 网关把 Gemini 形状翻译成各模型的原生协议:
responseSchema约束需要模型支持结构化输出;否则返回 400unsupported_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: