Перейти к содержанию

Справочник API

Полный справочник по endpoints ClaudeHub API.

Базовый URL

https://api.claudehub.fun

Аутентификация

Все API запросы требуют аутентификации с использованием вашего API ключа в заголовке x-api-key:

x-api-key: sk-hub-YOUR_KEY

Обзор Endpoints

Endpoint Метод Формат Описание
/v1/messages POST Anthropic Создать сообщение
/v1/messages/count_tokens POST Anthropic Подсчитать токены
/v1/models/info GET Anthropic Информация о моделях
/v1/chat/completions POST OpenAI Чат completion
/v1/models GET OpenAI Список моделей
/v1/system/balance GET System Проверить баланс

Формат Anthropic

Создание сообщения

Создать новое сообщение используя модели Claude.

Endpoint: POST /v1/messages

Заголовки:

x-api-key: sk-hub-YOUR_KEY
anthropic-version: 2023-06-01
content-type: application/json

Тело запроса:

{
  "model": "claude-sonnet-4-20250514",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "Привет, Claude!"
    }
  ],
  "system": "Ты полезный ассистент",
  "temperature": 1.0,
  "stream": false
}

Параметры:

Параметр Тип Обязательный Описание
model string Да ID модели (см. поддерживаемые модели)
max_tokens integer Да Максимум токенов для генерации (1-32000)
messages array Да Массив объектов сообщений
system string Нет Системный промпт
temperature float Нет Температура сэмплирования (0-1, по умолчанию: 1.0)
stream boolean Нет Включить streaming (по умолчанию: false)

Ответ (без streaming):

{
  "id": "msg_01XYZ...",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Привет! Чем могу помочь?"
    }
  ],
  "model": "claude-sonnet-4-20250514",
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 10,
    "output_tokens": 25
  }
}

Пример:

import anthropic

client = anthropic.Anthropic(
    api_key="sk-hub-YOUR_KEY",
    base_url="https://api.claudehub.fun/v1"
)

message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Объясни рекурсию"}
    ]
)

print(message.content[0].text)
curl https://api.claudehub.fun/v1/messages \
  -H "x-api-key: sk-hub-YOUR_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "Объясни рекурсию"}
    ]
  }'

Подсчёт токенов

Оценить количество токенов для сообщения без генерации ответа.

Endpoint: POST /v1/messages/count_tokens

Ответ:

{
  "input_tokens": 15
}

Оценка токенов

Этот endpoint использует эвристическую оценку (~1 токен на 3.5 символа). Фактическое количество токенов может немного отличаться.


Информация о моделях

Получить подробную информацию о доступных моделях.

Endpoint: GET /v1/models/info

Ответ:

{
  "models": [
    {
      "id": "claude-opus-4.6",
      "name": "Claude Opus 4.6",
      "max_input": 200000,
      "max_output": 32000,
      "supports_vision": true,
      "supports_thinking": true
    }
  ]
}

Формат OpenAI

Chat Completions

Создать chat completion используя OpenAI-совместимый формат.

Endpoint: POST /v1/chat/completions

Тело запроса:

{
  "model": "claude-sonnet-4-20250514",
  "messages": [
    {
      "role": "user",
      "content": "Привет!"
    }
  ],
  "max_tokens": 1024,
  "temperature": 1.0,
  "stream": false
}

Ответ:

{
  "id": "msg_01XYZ...",
  "object": "chat.completion",
  "created": 1709398765,
  "model": "claude-sonnet-4-20250514",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Привет! Чем могу помочь?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 15,
    "completion_tokens": 10,
    "total_tokens": 25
  }
}

Системные Endpoints

Проверка баланса

Проверить текущий баланс кредитов.

Endpoint: GET /v1/system/balance

Ответ:

{
  "balance": 1250.50,
  "currency": "credits"
}

Поддерживаемые модели

ID модели Название Вход Выход Vision Thinking
claude-opus-4.6 Claude Opus 4.6 200K 32K
claude-opus-4-20250514 Claude Opus 4 200K 32K
claude-sonnet-4-20250514 Claude Sonnet 4 200K 16K
claude-haiku-3-5-20241022 Claude Haiku 3.5 200K 8K

Алиасы моделей:

Вы можете использовать короткие алиасы для удобства:

  • claude-opus-4claude-opus-4-20250514
  • claude-sonnet-4claude-sonnet-4-20250514
  • claude-haiku-3-5claude-haiku-3-5-20241022

Коды ошибок

Код Ошибка Описание
400 Bad Request Неверный формат запроса или параметры
401 Unauthorized Неверный или отсутствующий API ключ
402 Payment Required Недостаточно кредитов
404 Not Found Модель или endpoint не найден
429 Too Many Requests Превышен лимит запросов
500 Internal Server Error Ошибка сервера
502 Bad Gateway Ошибка upstream провайдера

Формат ответа с ошибкой:

{
  "error": "Недостаточно кредитов. Пожалуйста, пополните баланс."
}

Лучшие практики

1. Используйте подходящий max_tokens

Устанавливайте разумные лимиты max_tokens для контроля расходов:

# Хорошо: конкретный лимит
message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=500,  # Достаточно для большинства ответов
    messages=[...]
)

2. Выбирайте правильную модель

Используйте наиболее экономичную модель для вашей задачи:

  • Простые запросы → Haiku 3.5
  • Общие задачи → Sonnet 4
  • Сложные рассуждения → Opus 4 или 4.6

3. Реализуйте обработку ошибок

Всегда обрабатывайте ошибки корректно:

try:
    message = client.messages.create(...)
except anthropic.APIError as e:
    if e.status_code == 402:
        print("Недостаточно кредитов")
    elif e.status_code == 401:
        print("Неверный API ключ")

Нужна помощь?