4AICode 的 Gemini 模型走 OpenAI-compatible chat/completions 协议。用户侧只需要使用自己的 sk-4ai-... token,并把 model 换成 google/gemini-*。平台根据可用性,通过 AI Studio 或 Vertex AI 转发请求。
可用模型
| 模型 | 推荐场景 |
|---|---|
google/gemini-3.1-pro-preview | 复杂推理、长上下文、预览特性 |
google/gemini-3-flash-preview | 更快响应、预览特性 |
google/gemini-2.5-flash | 日常问答、轻量代码、低成本 |
google/gemini-2.5-pro | 复杂任务、代码分析、稳定质量 |
模型路由
请求中使用 google/gemini-* 模型名,平台负责上游路由。当前可用模型与费率以控制台为准;上游额度限制或服务中断可能影响可用性。
Python
from openai import OpenAI
client = OpenAI(
base_url="https://relay.4aicode.net/v1",
api_key="sk-4ai-xxxxxxxxxxxxxxxx",
)
resp = client.chat.completions.create(
model="google/gemini-2.5-flash",
messages=[
{"role": "user", "content": "用一句话介绍 Gemini"},
],
)
print(resp.choices[0].message.content)
TypeScript / Node.js
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://relay.4aicode.net/v1",
apiKey: "sk-4ai-xxxxxxxxxxxxxxxx",
});
const resp = await client.chat.completions.create({
model: "google/gemini-2.5-flash",
messages: [{ role: "user", content: "写一个 TypeScript hello world" }],
});
console.log(resp.choices[0].message.content);
curl
curl https://relay.4aicode.net/v1/chat/completions \
-H "Authorization: Bearer sk-4ai-xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "google/gemini-2.5-flash",
"messages": [
{"role": "user", "content": "ping"}
]
}'
流式输出
curl https://relay.4aicode.net/v1/chat/completions \
-H "Authorization: Bearer sk-4ai-xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "google/gemini-2.5-flash",
"stream": true,
"messages": [
{"role": "user", "content": "写一个 Go hello world"}
]
}'
返回格式仍是 OpenAI SSE:
data: {"choices":[{"delta":{"content":"Hello"}}]}
data: [DONE]
图片输入
Gemini 当前支持 base64 data URL 图片输入:
resp = client.chat.completions.create(
model="google/gemini-2.5-flash",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "描述这张图"},
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,iVBORw0KGgo..."
},
},
],
}],
)
远程 https://... 图片 URL 当前会返回明确错误。先把图片下载并转成 base64 data URL 再发送。
常见错误
| 错误 | 处理 |
|---|---|
model not supported | 确认模型名是上表之一 |
no available google account | 上游 Gemini 服务暂时不可用,请联系支持 |
quota exceeded | 余额或配额不足,充值或联系团队管理员 |
upstream error | Google 上游波动或 API key 额度问题,稍后重试 |