Назад в блог

API и SDKИнструкция

Anthropic Python SDK и CheapTokens: Messages API

Установите Anthropic Python SDK, укажите base_url CheapTokens, отправьте запрос messages.create, задайте max_tokens.

Автор: CheapTokens TeamОпубликовано Обновлено 2 мин чтения

Код на Python: подключение Anthropic SDK к CheapTokens через base_url
Содержание
  1. Что понадобится
  2. Установка SDK
  3. Создание клиента
  4. Первый запрос
  5. max_tokens обязателен
  6. Смена модели
  7. Что дальше

Если ваш код уже работает на Anthropic Python SDK, переписывать его ради другой модели не нужно. CheapTokens поддерживает Anthropic Messages API: вы меняете настройки клиента, а client.messages.create(...) остаётся как есть. В этом руководстве — путь от пустой папки до скрипта, который печатает ответ.

Что понадобится#

  • Python 3.10 или новее (требование SDK).
  • API-ключ CheapTokens. Если ключа ещё нет, прочитайте «Что такое API-ключ и как его безопасно хранить».
  • Один баланс на все модели и никаких пиковых часов: один и тот же скрипт стоит одинаково в любое время суток.

Установка SDK#

bash
pip install anthropic
export CHEAPTOKENS_API_KEY="your-key"

Храните ключ в переменной окружения, а не в файле с кодом.

Создание клиента#

От стандартной настройки Anthropic отличаются две вещи: ключ и base_url.

python
import os
import anthropic

client = anthropic.Anthropic(
    api_key=os.environ["CHEAPTOKENS_API_KEY"],
    base_url="https://api.cheaptokens.dev",
)

SDK сам добавляет путь /v1/messages, поэтому base_url — это хост без /v1. (Адрес в стиле OpenAI, https://api.cheaptokens.dev/v1, нужен для OpenAI SDK; см. «Первый запрос к API через CheapTokens».)

Первый запрос#

python
message = client.messages.create(
    model="deepseek-ai/DeepSeek-V4-Flash-0731",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Explain what a token is in two sentences."}
    ],
)

print(message.content[0].text)
print(message.stop_reason, message.usage.input_tokens, message.usage.output_tokens)

id модели берите из документации CheapTokens: у разных провайдеров имена отличаются. Здесь — DeepSeek-V4-Flash: контекст 380K и до 32 768 токенов в одном ответе, это удобно для длинных ответов и агентных циклов.

Ответ лежит в message.content — это список блоков, текст в первом. usage показывает, сколько входных и выходных токенов потрачено: именно за них списываются деньги.

max_tokens обязателен#

В отличие от OpenAI API, messages.create не запустится без max_tokens. Параметр ограничивает длину ответа:

  • Если значение слишком мало, ответ обрывается, а message.stop_reason равен "max_tokens" вместо "end_turn".
  • Для DeepSeek-V4-Flash можно поставить до 32 768 — для длинных ответов вроде целых файлов или отчётов.
  • Платите за реально сгенерированные токены, а не за выставленный лимит.

Если ответ обрывается на полуслове, подробности — в статье «Почему ответ ИИ обрывается на полуслове?».

Смена модели#

Меняется только строка model, остальной скрипт тот же. Выбирайте под задачу:

  • DeepSeek-V4-Flash: длинные ответы и агентные циклы, одна цена в любое время суток, до 32 768 токенов в ответе.
  • GLM-5.3-Flash: недорогие повседневные запросы и код, контекст 390K, до 8 192 токенов в ответе.
  • MiniMax-M2.7: недорогая работа агентов и кода, контекст 180K, до 8 192 токенов в ответе.

Список доступных id возвращает GET https://api.cheaptokens.dev/v1/models, например zai-org/GLM-5.3-Flash и MiniMaxAI/MiniMax-M2.7.

Текущие цены MiniMax-M2.7 за 1M токенов: $0.05 за вход и $0.15 за выход. MiniMax-M2.7 дешевле OpenRouter в сумме, с учётом входа и выхода. Ниже — стоимость запроса на 2 000 входных и 500 выходных токенов на каждой модели, данные берутся из прайса:

Модель Стоимость OpenRouter
GLM-5.3-Flash $0.00006 $0.00012
DeepSeek-V4-Flash $0.00008 $0.00017
MiniMax-M2.7 $0.00018 $0.0012

2 000 входных и 500 выходных токенов всего. Цены за 1M токенов актуальны и меняются вместе с нашими тарифами; столбец OpenRouter показывает справочные цены для той же нагрузки.

GLM-5.3-Flash и MiniMax-M2.7 дешевле OpenRouter в сумме, с учётом входа и выхода.

Что дальше#

Создайте ключ и запустите скрипт из раздела «Первый запрос». Когда он напечатает ответ, подставляйте другие значения model и сравнивайте модели на своей задаче.