メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt

Use this file to discover all available pages before exploring further.

TokenLabは、Geminiモデル向けのネイティブなGoogle Gemini API形式をサポートしています。これにより、Google AI SDKとの直接的な互換性が確保されます。

パスパラメータ

model
string
必須
モデル名 (例: gemini-2.5-progemini-2.5-flash)。本番環境の統合では、公開 fileData URL を使う URL ベースの file_data / https メディアパーツを優先してください。 TokenLab は、可能な場合はサポート対象の Gemini ネイティブチャネルをネイティブパスにルーティングし、そのマルチモーダル要求に対してネイティブ対応ルートが利用できない場合は、互換性のある内部変換パスへ自動的にフォールバックします。

クエリパラメータ

key
string
APIキー(ヘッダー認証の代替)。

認証

Geminiエンドポイントは、複数の認証方法をサポートしています:
  • ?key=YOUR_API_KEY クエリパラメータ
  • x-goog-api-key: YOUR_API_KEY ヘッダー
  • Authorization: Bearer YOUR_API_KEY ヘッダー

リクエストボディ

contents
array
必須
会話の内容。各コンテンツオブジェクトには以下が含まれます:
  • role (string):user または model
  • parts (array):コンテンツ part。TokenLab では現在次をサポートします:
    • テキスト part:{ "text": "..." }
    • インライン媒体 part:inlineData / inline_data
    • URL ベースのファイル part:fileData / file_data
媒体 part では、TokenLab は現在 image / audio / video の MIME type を受け付け、Gemini 互換の公共契約として下流へ転送します。usermodel の role 値は大文字小文字を区別せず正規化されます。application/octet-streaminlineData / inline_data は、TokenLab が対応する画像または動画バイト列として識別できる場合のみ受け付けます。それ以外はルーティング前に失敗します。ネイティブ画像出力リクエストでは Google search/maps 系ツールのみ受け付け、非対応のツール組み合わせは上流リトライ前に失敗します。
systemInstruction
object
モデルへのシステム指示。
generationConfig
object
生成設定:
  • temperature (number): サンプリング温度
  • topP (number): 核サンプリング(Nucleus sampling)確率
  • topK (integer): Top-Kサンプリング
  • maxOutputTokens (integer): 最大出力トークン数
  • stopSequences (array): 停止シーケンス
safetySettings
array
セーフティフィルター設定。

レスポンス

candidates
array
生成されたコンテンツの候補。
usageMetadata
object
トークン使用状況の情報。
curl -X POST "https://api.tokenlab.sh/v1beta/models/gemini-2.5-pro:generateContent?key=sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "parts": [{"text": "Hello, Gemini!"}]
      }
    ],
    "generationConfig": {
      "temperature": 0.7,
      "maxOutputTokens": 1024
    }
  }'

マルチモーダル入力例

Gemini のマルチモーダルリクエストでは、媒体を contents[].parts[] に入れ、インラインバイトまたは URL ベースのファイル参照のどちらかで渡します。 現在の公共 Gemini 契約でサポートしている媒体カテゴリ:
  • 画像
  • 音声
  • 動画
インライン媒体では inlineData または inline_data を使い、Base64 化したファイルバイトを渡します。 URL 媒体では fileData または file_data を使い、公開到達可能な https URL を渡します。

画像入力例

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "この画像を説明してください。" },
        {
          "inlineData": {
            "mimeType": "image/jpeg",
            "data": "/9j/4AAQSkZJRgABAQ..."
          }
        }
      ]
    }
  ]
}

音声入力例

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "この音声を文字起こしして要約してください。" },
        {
          "file_data": {
            "mime_type": "audio/mpeg",
            "file_uri": "https://example.com/sample.mp3"
          }
        }
      ]
    }
  ]
}

動画入力例

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "この動画を簡潔に説明してください。" },
        {
          "fileData": {
            "mimeType": "video/mp4",
            "fileUri": "https://example.com/sample.mp4"
          }
        }
      ]
    }
  ]
}
{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {"text": "Hello! How can I assist you today?"}
        ]
      },
      "finishReason": "STOP",
      "safetyRatings": [
        {"category": "HARM_CATEGORY_HARASSMENT", "probability": "NEGLIGIBLE"}
      ]
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 5,
    "candidatesTokenCount": 10,
    "totalTokenCount": 15
  }
}

動画入力の例

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Please describe this video." },
        {
          "fileData": {
            "mimeType": "video/mp4",
            "fileUri": "https://example.com/demo.mp4"
          }
        }
      ]
    }
  ]
}

音声入力の例

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Please describe this audio." },
        {
          "fileData": {
            "mimeType": "audio/mpeg",
            "fileUri": "https://example.com/demo.mp3"
          }
        }
      ]
    }
  ]
}