4AICode の Gemini モデルは OpenAI 互換の chat/completions プロトコルを使用します。ユーザーは自身の sk-4ai-... トークンを使い、model を google/gemini-* に変更するだけです。プラットフォームは可用性に応じて AI Studio または Vertex AI 経由でリクエストをルーティングします。
利用可能なモデル
| モデル | 推奨用途 |
|---|---|
google/gemini-3.1-pro-preview | 複雑な推論、長コンテキスト、プレビュー機能 |
google/gemini-3-flash-preview | より速い応答、プレビュー機能 |
google/gemini-2.5-flash | 日常の Q&A、軽量コーディング、低コスト |
google/gemini-2.5-pro | 複雑なタスク、コード分析、安定した品質 |
モデルルーティング
リクエストで google/gemini-* モデル名を使用してください。プラットフォームが上流ルーティングを管理します。現在のモデル可用性と価格はコンソールに表示されます。上流のクォータ制限やサービス中断は可用性に影響する場合があります。
Python
from openai import OpenAI
client = OpenAI(
base_url="https://relay.4aicode.com/v1",
api_key="sk-4ai-xxxxxxxxxxxxxxxx",
)
resp = client.chat.completions.create(
model="google/gemini-2.5-flash",
messages=[
{"role": "user", "content": "Introduce Gemini in one sentence"},
],
)
print(resp.choices[0].message.content)
TypeScript / Node.js
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://relay.4aicode.com/v1",
apiKey: "sk-4ai-xxxxxxxxxxxxxxxx",
});
const resp = await client.chat.completions.create({
model: "google/gemini-2.5-flash",
messages: [{ role: "user", content: "Write a TypeScript hello world" }],
});
console.log(resp.choices[0].message.content);
curl
curl https://relay.4aicode.com/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.com/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": "Write a 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": "Describe this image"},
{
"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キークォータの問題;後で再試行 |