ガイド

Google Gemini を使う

LLMs Text

Google Gemini の利用

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 errorGoogle 上流の不安定または APIキークォータの問題;後で再試行