TokenCode は Google Gemini API プロトコルに互換です。Google AI SDK または Gemini プロトコル互換の任意のクライアントから直接接続できます。
https://tokencode.dev
Gemini プロトコルでは URL クエリパラメータによる認証を使用します:
ヘッダーによる認証も使用可能です:
Gemini 互換のコンテンツ生成エンドポイント。
curl "https://tokencode.dev/v1beta/models/gemini-2.5-pro:generateContent?key=sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"parts": [
{"text": "量子コンピューティングについて説明して"}
]
}
],
"generationConfig": {
"temperature": 0.7,
"maxOutputTokens": 1024
}
}'
リクエストパラメータ:
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
| contents | array | はい | 会話履歴を含むコンテンツ配列 |
| generationConfig | object | いいえ | 生成設定 |
| generationConfig.temperature | number | いいえ | サンプリング温度(0-2) |
| generationConfig.maxOutputTokens | integer | いいえ | 最大出力 Token 数 |
| generationConfig.topP | number | いいえ | 核サンプリング確率 |
| generationConfig.topK | integer | いいえ | Top-K サンプリング |
| generationConfig.stopSequences | array | いいえ | ストップシーケンス |
| systemInstruction | object | いいえ | システム命令 |
| tools | array | いいえ | Function Calling ツール定義 |
レスポンス例:
{
"candidates": [
{
"content": {
"parts": [
{"text": "量子コンピューティングは量子力学の原理を利用した..."}
],
"role": "model"
},
"finishReason": "STOP",
"index": 0
}
],
"usageMetadata": {
"promptTokenCount": 25,
"candidatesTokenCount": 128,
"totalTokenCount": 153
},
"modelVersion": "gemini-2.5-pro"
}
ストリーミングコンテンツ生成エンドポイント。
curl "https://tokencode.dev/v1beta/models/gemini-2.5-pro:streamGenerateContent?key=sk-your-api-key&alt=sse" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"parts": [
{"text": "量子コンピューティングについて説明して"}
]
}
]
}'
ストリーミングレスポンスは SSE 形式を使用し、各イベントには部分的な生成内容が含まれます。
利用可能な Gemini モデル一覧を返します。
curl "https://tokencode.dev/v1beta/models?key=sk-your-api-key"
Gemini プロトコルエンドポイントから Google 以外のモデルを呼び出すと、TokenCode が自動的にプロトコル変換を行います:
import google.generativeai as genai
genai.configure(
api_key="sk-your-api-key",
client_options={"api_endpoint": "https://tokencode.dev"}
)
model = genai.GenerativeModel("gemini-2.5-pro")
response = model.generate_content("こんにちは!")
print(response.text)
const { GoogleGenerativeAI } = require("@google/generative-ai");
const genAI = new GoogleGenerativeAI("sk-your-api-key");
// カスタム Base URL の設定
const model = genAI.getGenerativeModel({ model: "gemini-2.5-pro" });
Gemini はネイティブでマルチモーダル入力に対応しています:
model = genai.GenerativeModel("gemini-2.5-pro")
response = model.generate_content([
"この画像を説明して",
{"inline_data": {"mime_type": "image/png", "data": "<base64-encoded-image>"}}
])
エラーレスポンスは Gemini エラー形式に従います:
{
"error": {
"code": 400,
"message": "API key not valid",
"status": "INVALID_ARGUMENT"
}
}
| HTTP ステータスコード | 意味 |
|---|---|
| 400 | リクエストパラメータが無効 |
| 401 | 認証失敗 |
| 403 | 権限不足 |
| 404 | モデルが存在しない |
| 429 | レート制限または残高不足 |
| 500 | サーバー内部エラー |