Gemini 模型 CLI 接入
Gemini 系列模型适合通用对话、低成本任务、长文本处理和多模态输入。AIRouter 通过 OpenAI 兼容接口提供 Gemini 模型接入,实际可用模型 ID 以「模型广场」和 /v1/models 返回结果为准。
接入前准备
安装 Gemini CLI
npm install -g @google/gemini-cli
gemini --version
如果提示 npm 不存在,请先安装 Node.js LTS 版本,再重新运行安装命令。
配置 Gemini CLI
打开 Gemini CLI 配置目录:
| 系统 | 打开方式 |
|---|---|
| Windows | 在 CMD 中运行 start "" "%USERPROFILE%\.gemini" |
| macOS | 在终端中运行 open "$HOME/.gemini" |
| Linux | 在终端中运行 mkdir -p "$HOME/.gemini" && cd "$HOME/.gemini" |

在目录中创建或编辑 .env:
GOOGLE_GEMINI_BASE_URL=https://aigc.aochengcloud.com/gemini
GEMINI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
GEMINI_MODEL=gemini-2.5-flash
保存后关闭当前 Gemini CLI 进程,重新打开终端运行:
gemini

兼容地址说明
Gemini CLI 使用 Gemini 原生协议,不是普通 OpenAI /v1 接口。若 https://aigc.aochengcloud.com/gemini 不可用,请以平台公告或售后提供的 Gemini CLI 专用地址为准。
API 调用环境变量
如果你只是通过 curl 调用 OpenAI 兼容接口,可以使用下面的环境变量:
export AIROUTER_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
export AIROUTER_BASE_URL="https://aigc.aochengcloud.com/v1"
先查询当前 API Key 可用的 Gemini 模型:
curl -s "$AIROUTER_BASE_URL/models" \
-H "Authorization: Bearer $AIROUTER_API_KEY" \
| jq -r '.data[].id' \
| grep -i 'gemini'
如果本机没有 jq,可以直接查看完整响应:
curl "$AIROUTER_BASE_URL/models" \
-H "Authorization: Bearer $AIROUTER_API_KEY"
注意
不要固定使用旧模型名,例如 gemini-pro 或 gemini-pro-vision。模型名称、价格和权限可能会调整,请以实时查询结果为准。
基础调用
将 model 替换为你查到的 Gemini 模型 ID:
curl "$AIROUTER_BASE_URL/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AIROUTER_API_KEY" \
-d '{
"model": "gemini-2.5-flash",
"messages": [
{
"role": "user",
"content": "用一句话介绍 Gemini 适合处理什么任务。"
}
]
}'
流式输出
curl -N "$AIROUTER_BASE_URL/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AIROUTER_API_KEY" \
-d '{
"model": "gemini-2.5-flash",
"stream": true,
"messages": [
{
"role": "user",
"content": "请分 3 点说明 Gemini 模型的使用场景。"
}
]
}'
图片理解
如果模型支持图片输入,可以使用 OpenAI 兼容的 image_url 格式。下面示例使用远程图片地址:
curl "$AIROUTER_BASE_URL/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AIROUTER_API_KEY" \
-d '{
"model": "gemini-3.1-pro-preview",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "请描述这张图片的主要内容,并识别其中的文字。"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/screenshot.png"
}
}
]
}
]
}'
如果要使用本地图片,可以先转成 Base64 data URL。下面示例适用于常见的 macOS/Linux shell:
IMAGE_DATA=$(base64 -i screenshot.png | tr -d '\n')
curl "$AIROUTER_BASE_URL/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AIROUTER_API_KEY" \
-d "{
\"model\": \"gemini-3.1-pro-preview\",
\"messages\": [
{
\"role\": \"user\",
\"content\": [
{
\"type\": \"text\",
\"text\": \"请分析这张图片。\"
},
{
\"type\": \"image_url\",
\"image_url\": {
\"url\": \"data:image/png;base64,$IMAGE_DATA\"
}
}
]
}
]
}"
文本处理
可以把本地文本文件内容作为输入。下面示例会总结 notes.txt:
NOTES=$(cat notes.txt)
jq -n --arg notes "$NOTES" '{
model: "gemini-2.5-flash",
messages: [
{
role: "user",
content: ("请用 3 句话总结下面内容:\n\n" + $notes)
}
]
}' | curl "$AIROUTER_BASE_URL/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AIROUTER_API_KEY" \
-d @-
选择建议
| 场景 | 建议 |
|---|---|
| 日常对话 | 选择响应快、价格低的 Gemini 模型 |
| 文本总结 | 关注上下文长度和输入价格 |
| 图片理解 | 选择带 Vision 或图片能力的 Gemini 模型 |
| 成本敏感 | 先用低价模型跑小流量,再根据效果升级 |
| 生产调用 | 把模型 ID 做成配置项,避免模型调整时修改脚本 |
常见问题
Q: 查不到 Gemini 模型?
A: 先确认 API Key 是否有效、账号余额是否充足、API Key 是否设置了模型限制。如果 /v1/models 中没有 Gemini 模型,请联系售后确认账号分组是否开放。
Q: 图片调用失败怎么办?
A: 确认模型支持图片输入,并检查图片 URL 是否可访问。如果使用 Base64,请确认 MIME 类型和编码格式正确。
Q: 调用提示模型不存在?
A: 重新执行 /v1/models 查询模型 ID,确认没有使用旧模型名,例如 gemini-pro 或 gemini-pro-vision。