Обзор

Быстрый старт

TokSpan совместим с OpenAI — измените базовый URL, чтобы мгновенно получить доступ к 200+ моделям. Также поддерживаются Claude Code / нативный Anthropic, Gemini и OpenAI Responses API — см. ниже.

1

Зарегистрируйтесь и войдите

Зарегистрируйтесь по email на нашей странице регистрации.

2

Создайте API-ключ

Создайте sk- ключ на странице API Keys в панели управления.

3

Измените базовый URL

Направьте базовый URL вашего SDK на один из URL ниже и вызывайте с ключом.

4

Обновить/Добавить ID модели

Перейдите в Model Plaza, чтобы получить ID модели, затем обновите его.

Базовые URL API

TokSpan поддерживает несколько протоколов API. Выберите тот, который уже использует ваш SDK — все форматы принимают один и тот же API-ключ и открывают доступ к 200+ моделям.

Совместимый с OpenAI
https://api.tokspan.com/v1

SDK OpenAI уже включает /v1 и автоматически добавляет /chat/completions.

Нативный Anthropic
https://api.tokspan.com

Используйте корневой адрес хоста — Claude Code и SDK Anthropic сами добавляют /v1/messages.

Совместимый с Gemini
https://api.tokspan.com/v1beta

SDK Google использует нативный протокол 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)
Один ключ — все форматы. Все четыре формата используют один и тот же ключ TokSpan. Баланс и использование общие — просто вызывайте нужную модель.

Использование API TokSpan

SDK не требуется — отправляйте запросы напрямую на совместимый с OpenAI эндпоинт через обычный HTTP:

Все запросы используют одинаковый формат: 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 выполняет трансляцию в нативный формат upstream-провайдера:

  • OpenAI → Claude Messages API — Системные промпты, многошаговые диалоги и определения инструментов автоматически преобразуются
  • OpenAI → Gemini API — Части контента, настройки безопасности и конфигурация генерации транслируются прозрачно
  • Claude → формат OpenAI — Нативные ответы Claude нормализуются до стандартной структуры ответа Chat Completions

Это означает, что вы можете использовать OpenAI Python/Node SDK, LangChain или любую библиотеку, совместимую с OpenAI, для вызова любой модели — независимо от её нативного формата API.

Ограничение ключей и разрешения

Каждый API-ключ может быть ограничен определёнными разрешениями:

  • Модели: Ограничьте, к каким моделям ключ имеет доступ
  • Лимит расходов: Установите жёсткий лимит квоты — ключ автоматически отключается после исчерпания квоты
  • IP-whitelisting: Разрешите запросы только с определённых IP-диапазонов
Примечание по безопасности: Никогда не раскрывайте API-ключ в клиентском коде. Используйте переменные окружения или защищённый бэкенд-прокси. Все запросы к TokSpan шифруются с помощью TLS 1.3.

Что дальше?