跳转到主要内容
Gemini 协议即 Google Gemini API 的原生格式。使用 Google Gen AI SDK 或已有 Gemini 请求时,把主机改为 https://api.laozhang.ai 并换上老张API密钥即可。 如果应用使用 OpenAI SDK 的 messages 格式,请参阅 OpenAI 协议;两种协议的请求体与返回字段不同。

请求地址与认证

模型 ID 位于 URL 中。模型与价格总表中「兼容端点」包含 Gemini 的模型可以使用本协议,调用权限取决于令牌分组。 在令牌管理创建 API Key,计费模式选择按量优先(推荐)或按量计费,然后写入环境变量:
JSON 请求设置 Content-Type: application/json。认证可以使用 Authorization: Bearer,也可以使用 Google SDK 采用的 x-goog-api-key,两者任选其一。
使用 API Key 认证头时,将上面的 Bearer 行替换为:
原生接口使用 AI Studio 风格的 v1beta 路径,不需要 Vertex AI 的 project/location/publisher 路径,也不要在域名后增加 /v1。

使用 Google Gen AI Python SDK

先安装依赖:
base_url 设置为域名根路径,api_version 设置为 v1beta,SDK 会拼接模型路径。timeout 的单位是毫秒。
response.text 适合读取文本答案。需要保留完整消息时,使用 response.candidates,其中可能包含多个内容块。

请求内容

REST JSON 使用 inlineData、mimeType 等 camelCase 名称。Python SDK 类型通常使用 inline_data、mime_type 等 snake_case 名称,不要将两套字段名混用。

读取候选结果

文本响应的主要结构如下:
处理 REST 响应时,遍历候选项的 content.parts,合并其中的 text。finishReason 表示生成结束原因;没有候选项或没有文本时,同时检查 promptFeedback 和其他内容块。 支持图片输出的模型可能返回 inlineData,需要按 mimeType 解码保存;若 SDK 已将内容转为字节,不要再次 Base64 解码。用 Gemini 协议生成和编辑图片的模型与示例见 Nano Banana API 总览。 usageMetadata 提供请求使用量信息,费用可在调用日志查看。缺少某个统计字段不表示对应使用量或费用为零。

流式输出

需要边生成边返回时,把方法换成 streamGenerateContent,并加上查询参数 alt=sse,结果以 SSE 事件流返回:
请求体、事件格式与 SDK 用法见 Google generateContent 文档。

发送图片内容

图片输入通过 parts[].inlineData 传递。使用此格式前,在对应模型说明中确认图片输入要求。以下示例把当前目录中的 input.png 编码为 JSON,请求模型描述图片。 先创建请求文件,只需 Python 标准库:
再发送文件内容:
mimeType 必须与文件内容一致,data 只放 Base64 字符串,不包含 data:image/png;base64, 前缀。用 OpenAI 协议传图的写法见图片理解 API。

发送 PDF 和音频

PDF 和音频同样放在 inlineData 中,写法与图片相同,只需把 mimeType 换成文件的实际类型: 以下示例读取当前目录中的 invoice.pdf,换成音频时把文件名改为 audio.mp3、mimeType 改为 audio/mp3,并修改提示词:
先生成请求文件:
再发送文件内容:
音频按 token 计费,usageMetadata.promptTokensDetails 中列为 AUDIO。只需要把音频转成文字、不需要模型再做理解时,也可以用音频转录接口。

发送视频内容

MP4 视频同样放在 inlineData 中,mimeType 写 video/mp4。已有公网地址或公开 YouTube 视频时,改用 fileData 传链接。模型会同时读取画面和音轨:
完整示例和常用场景见视频理解 API,包括:
  • 上传本地视频与分析视频链接;
  • 按时间戳拆分章节、输出结构化 JSON;
  • 用 videoMetadata 截取片段、调整抽帧率;
  • 多视频对比、流式输出和用 OpenAI SDK 调用。

保留多轮消息

多轮对话按“用户输入 → 模型回复 → 新用户输入”的顺序放入 contents,模型角色写作 model,不是 assistant。保留服务返回的完整模型内容块;存在 thoughtSignature 时原样回传,不要只保存可见文本或自行构造签名。 对于支持函数调用的模型,functionCall 表示模型请求调用函数,应用执行后通过 functionResponse 返回结果。工具声明、结构化输出和思考配置按对应模型文档设置,不要直接套用其他模型的字段和值。

错误处理

超时或服务错误时,先查看调用日志,再决定是否重试。向支持团队提供模型 ID、请求时间及脱敏错误信息即可,不要提供完整密钥。

常见问题

Gemini API 多少钱?需要 Google 账号吗?

不需要 Google 账号或 AI Studio API Key,用老张API密钥即可调用;Gemini 文本模型预付余额、按 token 计费。2026 年 10 月 14 日公开价格配置中,常用模型每 1M tokens:
  • gemini-4-argon:输入 $2,输出 $10
  • gemini-3.8-flash:输入 $0.75,输出 $3.75
  • gemini-2.5-flash:输入 $0.3,输出 $2.4
其余 Gemini 模型及长上下文分档见模型与价格总表,每次请求的实际扣费见调用日志。平台不限制并发、不限速,429 来自上游容量,见并发与 429。

OpenAI 兼容接口能传哪些媒体?

Gemini 模型在 /v1/chat/completions 中的表现:
  • 图片:用 image_url 传 URL 或 Base64 data URL,见图片理解 API。
  • 视频:用 video_url 传 Base64 data URL,见视频理解 API:用 OpenAI SDK 调用。
  • PDF(file 内容块)和音频(input_audio 内容块)会被忽略,请求仍返回 200,模型可能在没看到文件的情况下作答。请改用本页的 inlineData。

Gemini 模型能用 Responses API 吗?

不能。Gemini 模型发到 /v1/responses 会返回 400。使用 OpenAI SDK 时调用 Chat Completions,需要 PDF、音频、视频或视频链接时使用本页的原生接口。

支持 Google File API 吗?

不支持,以下写法都不可用:
  • /upload/v1beta/files 上传接口;
  • files/... 形式的文件引用;
  • SDK 的 client.files.upload()。
本地文件用 inlineData 发送,公网视频用 fileData 传链接。

媒体输入如何计费?

Gemini 文本模型按 token 计费。图片、PDF、音频和视频都换算为输入 token,usageMetadata.promptTokensDetails 按 IMAGE、AUDIO、VIDEO 等类型列出数量。单价见模型与价格总表,每次请求的实际扣费见调用日志。

Veo 和 Nano Banana Pro 能用原生接口吗?

  • Nano Banana Pro:gemini-3-pro-image 支持原生 generateContent,示例见 Nano Banana Pro 图片生成。
  • Veo:截至 2026 年 9 月 28 日不在公开模型目录中,原生 predictLongRunning 请求会返回无可用渠道。视频生成可使用 Wan 2.7 或 Seedance 2.0。

Google 模型走 AI Studio 还是 Vertex?

走 AI Studio。老张API的 Gemini 文本模型和 Nano Banana 图像模型都通过 Google 的 Gemini API(AI Studio)线路调用,不走 Vertex AI。因此:
  • 模型 ID、停止日期和内容安全策略以 Gemini API 文档为准,例如 Google 弃用页;
  • 请求使用 AI Studio 风格的 v1beta 路径,不需要 Vertex 的 project、location 参数;
  • 怀疑上游故障时,先查看 AI Studio 状态页是否有 Gemini API 的故障通报。

相关文档