概要

クイックスタート

TokSpan は OpenAI 互換です — ベース URL を変更するだけで 200 以上のモデルにすぐアクセスできます。Claude Code / Anthropic ネイティブ、Gemini、OpenAI Responses API もサポートされています。詳細は下記をご覧ください。

1

登録してログイン

メールアドレスで登録ページから登録します。

2

API キーを作成

ダッシュボードの API Keys ページで sk- キーを生成します。

3

ベース URL を変更

SDK のベース URL を下のいずれかの URL に向け、キーで呼び出します。

4

Model ID を更新/追加

Model Plaza に移動して Model ID を取得し、更新してください。

API ベース URL

TokSpan は複数の API プロトコルに対応しています。使用中の SDK に合う形式を選んでください — どの形式も同じ API キーを受け入れ、200 以上のモデルすべてにアクセスできます。

OpenAI 互換
https://api.tokspan.com/v1

OpenAI SDK は /v1 を含み、/chat/completions を自動的に追加します。

Anthropic ネイティブ
https://api.tokspan.com

ホストのルートを使用します — Claude Code と Anthropic SDK が /v1/messages を自動的に追加します。

Gemini 互換
https://api.tokspan.com/v1beta

Google SDK はネイティブの v1beta プロトコル(generateContent)を使用します。

Responses API
https://api.tokspan.com/v1

OpenAI 互換のベース URL を再利用し、/v1/responses を呼び出します。

OpenAI 互換

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://api.tokspan.com/v1",  # ← OpenAI-compatible base URL
)

response = client.chat.completions.create(
    model="MODEL_NAME",  # Replace MODEL_NAME with any model from the catalog
    messages=[{"role": "user", "content": "Hello!"}],
)

print(response.choices[0].message.content)

Anthropic ネイティブ

python
from anthropic import Anthropic

client = Anthropic(
    api_key="sk-your-api-key",
    base_url="https://api.tokspan.com",  # ← Native Anthropic base URL (host root; SDK appends /v1/messages)
)

response = client.messages.create(
    model="MODEL_NAME",  # Replace MODEL_NAME with any Claude model from the catalog
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello!"}],
)

print(response.content[0].text)

Gemini 互換

python
from google import genai

client = genai.Client(
    api_key="sk-your-api-key",
    http_options=genai.types.HttpOptions(
        base_url="https://api.tokspan.com/v1beta",  # ← Gemini base URL
    ),
)

response = client.models.generate_content(
    model="MODEL_NAME",  # Replace MODEL_NAME with any Gemini model from the catalog
    contents="Hello!",
)

print(response.text)

Responses API

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://api.tokspan.com/v1",  # ← Same base URL as OpenAI-compatible
)

response = client.responses.create(
    model="MODEL_NAME",  # Replace MODEL_NAME with any model from the catalog
    input="Hello!",
)

print(response.output_text)
1つのキーですべての形式に対応。4つの形式はすべて同じ TokSpan API キーを使用します。残高と使用量は共有され、好きなモデル名を呼び出すだけです。

TokSpan APIの使用

SDK 不要 — プレーンな HTTP で OpenAI 互換エンドポイントに直接リクエストを送信できます:

すべてのリクエストは同じ形式です:POST https://api.tokspan.com/v1/chat/completions、APIキーをAuthorizationヘッダーに含めます。

python
import requests

def chat(prompt: str, model: str = "MODEL_NAME"):  # Replace MODEL_NAME with any model from the catalog
    response = requests.post(
        "https://api.tokspan.com/v1/chat/completions",
        headers={
            "Authorization": "Bearer sk-your-api-key",
            "Content-Type": "application/json",
        },
        json={
            "model": model,
            "messages": [{"role": "user", "content": prompt}],
        },
    )
    return response.json()["choices"][0]["message"]["content"]

print(chat("Hello! What models are available?"))
typescript
const chat = async (prompt: string, model = 'MODEL_NAME') => {  // Replace MODEL_NAME with any model from the catalog
  const res = await fetch('https://api.tokspan.com/v1/chat/completions', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer sk-your-api-key',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      model,
      messages: [{ role: 'user', content: prompt }],
    }),
  });
  const data = await res.json();
  return data.choices[0].message.content;
};
shell
curl -X POST "https://api.tokspan.com/v1/chat/completions" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_NAME",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

クロスフォーマット変換

TokSpanはバックグラウンドで異なるAPIフォーマット間の変換を自動的に行います。常にOpenAI Chat Completions形式でリクエストを送信するだけで、TokSpanが上流プロバイダーのネイティブ形式への変換を処理します:

  • OpenAI → Claude Messages API — システムプロンプト、マルチターン会話、ツール定義が自動的に再マッピングされます
  • OpenAI → Gemini API — コンテンツパーツ、安全設定、生成設定が透過的に変換されます
  • Claude → OpenAI形式 — Claudeのネイティブレスポンスが標準のChat Completionsレスポンス構造に正規化されます

つまり、OpenAI Python/Node SDK、LangChain、または任意のOpenAI互換ライブラリを使用して、ネイティブAPI形式に関係なくすべてのモデルを呼び出せるということです。

キーの制限と権限

各APIキーは特定の権限に制限できます:

  • モデル:キーがアクセスできるモデルを制限します
  • 利用上限:ハードなクォータを設定します — クォータを使い切るとキーは自動的に無効化されます
  • IPホワイトリスト:特定のIP範囲からのリクエストのみを許可します
セキュリティに関する注意:クライアントサイドのコードでAPIキーを公開しないでください。環境変数または安全なバックエンドプロキシを使用してください。TokSpanへのすべてのリクエストはTLS 1.3で暗号化されます。

次は何を?