APIPace 文档 API 参考

接入 Gemini CLI

Gemini CLI 目前接不过来。 不是因为改不了地址——地址是能改的,是因为它要的接口这里只开了一小部分。

地址确实能改

Gemini CLI 官方支持用环境变量覆盖 base URL:

export GOOGLE_GEMINI_BASE_URL="https://api.apipace.com"

所以问题不在这儿。

卡在两处

一、它要 streamGenerateContent,这里只开了 generateContent

Gemini CLI 的主对话走流式,这里一律 400:

curl "https://api.apipace.com/v1beta/models/gemini-2.5-pro:streamGenerateContent" \
  -H "x-api-key: ak-…" -H "content-type: application/json" \
  -H "Idempotency-Key: probe-1" -d '{"contents":[{"role":"user","parts":[{"text":"hi"}]}]}'
{"error":{"code":400,"status":"INVALID_REQUEST","execution_state":"not_started",
 "message":"only generateContent is enabled","request_id":"req_01M2M84C9AJJ4BC1B7ZGSYY559"}}

countTokens 同样 400,GET /v1beta/models 是 404。

二、鉴权头对不上

Gemini CLI 把 key 发成 x-goog-api-key,这里只认 Authorization: Bearer 和 x-api-key:

{"error":{"code":"AUTH_FAILED","message":"missing credentials: send Authorization: Bearer ak-...","request_id":"req_01M2M8AZ79E5GHY9K232D7GB0W"}}

再加上这里的 /v1beta 要求每个请求带 Idempotency-Key,而 Gemini CLI 不会带。三条凑在一起,不是改配置能解决的。

那 Gemini 在这里怎么用

直接打原生接口,非流式、单次生成,视频理解可用:

curl "https://api.apipace.com/v1beta/models/gemini-2.5-pro:generateContent" \
  -H "x-api-key: $APIPACE_KEY" \
  -H "content-type: application/json" \
  -H "Idempotency-Key: my-task-0001" \
  -d '{"contents":[{"role":"user","parts":[{"text":"用一句话介绍杭州"}]}],
       "generationConfig":{"maxOutputTokens":256}}'

完整说明、视频示例、幂等与找回规则见 Gemini 原生接口。

Google 官方的 google-genai SDK 也能指过来,但只有 generate_content 这一条路能走,而且要自己补上 Idempotency-Key 头。批处理脚本可以,交互式 agent 不行。

想在终端里用 agent

看 Claude Code(Anthropic 协议,原生支持)或 Cline(OpenAI 兼容)。Gemini 系列在这里适合的是批量任务:长文档理解、视频理解、一次性生成,不是聊天循环。