---
title: Claude API через LiteLLM
description: "Claude API через LiteLLM: оставьте префикс anthropic/, направьте api_base на router.apitoken.sale и платите за токены на 50% меньше."
url: https://apitoken.sale/ru/docs/learn/claude-api-litellm
language: ru
---

# Используйте Claude API через LiteLLM

Подключение Claude API через LiteLLM к apiToken.sale сводится к одному параметру: LiteLLM нативно говорит протокол Anthropic Messages, поэтому вы оставляете префикс anthropic/ у модели и переопределяете только api_base. Тот же формат запросов и ответов, но на 50% дешевле за токен — и при вызове litellm.completion() из скрипта, и когда LiteLLM-прокси стоит перед всем вашим стеком.

## Направьте litellm.completion() на эндпоинт со скидкой

LiteLLM уже реализует Anthropic Messages API, поэтому маршрутизация Claude через apiToken.sale — это один дополнительный аргумент: оставьте префикс anthropic/ у модели, задайте api_base на шлюз и передайте предоплаченный ключ. Запросы и ответы сохраняют стандартный формат Anthropic — меняются только эндпоинт и цена за токен: расходы на Claude фиксированно на 50% ниже прайса.

```
import litellm

response = litellm.completion(
    model="anthropic/claude-opus-4-8",
    api_base="https://router.apitoken.sale",
    api_key="sk-pool-•••",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello"}],
    stream=True,
)
for chunk in response:
    print(chunk.choices[0].delta.content or "", end="")
```

Здесь работают три вещи. Префикс anthropic/ выбирает Anthropic-провайдера LiteLLM, поэтому max_tokens, temperature, tools и стриминг мапятся на Messages API ровно так же, как в апстриме, — а max_tokens в этом API обязателен, так что задавайте его явно, а не полагайтесь на дефолты. api_base переопределяет, куда уходят запросы, для каждого вызова. А api_key — это ваш ключ шлюза: один и тот же sk-pool-… работает со всеми поддерживаемыми моделями Claude, поэтому переход между claude-opus-4-8, claude-sonnet-5 и claude-haiku-4-5 — это смена строки, а не новая интеграция.

> На практике кусаются две ловушки. Никогда не убирайте префикс anthropic/: голый claude-opus-4-8 заставляет LiteLLM угадывать провайдера, и при неверной догадке уйдёт не тот протокол или отклонится ключ. И читайте ключ из окружения (api_key=os.environ["APITOKEN_KEY"]), а не вставляйте его в ноутбуки и конфиги, которые окажутся в git.

## Один LiteLLM-прокси для всех сервисов, которым нужен Claude

Прямые вызовы нормальны для одиночного скрипта. Когда Claude нужен нескольким сервисам, ноутбукам и кодинг-агентам, запустите LiteLLM как прокси: один YAML-файл хранит эндпоинт и ключ, каждый клиент общается с прокси через OpenAI-совместимый интерфейс LiteLLM, а апстрим-трафик остаётся на протоколе Anthropic.

```
# config.yaml
model_list:
  - model_name: claude-opus-4-8
    litellm_params:
      model: anthropic/claude-opus-4-8
      api_base: https://router.apitoken.sale
      api_key: sk-pool-•••
  - model_name: claude-haiku-4-5
    litellm_params:
      model: anthropic/claude-haiku-4-5
      api_base: https://router.apitoken.sale
      api_key: sk-pool-•••
router_settings:
  fallbacks:
    - claude-opus-4-8:
        - claude-haiku-4-5
```

1. Установите proxy-экстра и сохраните YAML выше как config.yaml: pip install "litellm[proxy]".
2. Запустите шлюз: litellm --config config.yaml --port 4000.
3. Направьте любой OpenAI-совместимый клиент на http://localhost:4000 с model="claude-opus-4-8" — прокси превратит вызов в запрос Anthropic Messages на https://router.apitoken.sale.
4. Следите за расходом в панели apiToken.sale: использование записывается по каждому ключу с детализацией до токенов, так что один ключ прокси даёт единую строку расходов по всем сервисам за ним.

Блок router_settings оправдывает свои две строки: если claude-opus-4-8 падает с ошибкой или недоступен, LiteLLM повторяет запрос на claude-haiku-4-5, а не отдаёт сбой клиенту. Для долгоживущих агентов, которые держат сессию часами, этот фолбэк — разница между тихим ретраем и мёртвым процессом.

## Стриминг, вызов инструментов и промпт-кеширование переживают переход

Возможности, которые обычно ломаются за транслирующим слоем, здесь продолжают работать: шлюз отдаёт нативный Anthropic Messages API, а не перекодирует ваш трафик в другой протокол. Всё, что LiteLLM умеет выразить в терминах Anthropic, доезжает до модели без изменений.

- Стриминг: stream=True отдаёт те же инкрементальные server-sent events, так что потокенные UI и агенты ведут себя идентично.
- Вызов инструментов: tools, tool_choice и round-trip с tool_result мапятся на стандартные блоки Messages — агентам с function calling не нужны доработки.
- Промпт-кеширование: брейкпоинты cache_control работают, как описано в апстрим-документации, а чтения из кеша тарифицируются по кеш-ставкам со страниц моделей.

Это важнее всего для инструментов, построенных поверх LiteLLM, а не для самого LiteLLM: многие кодинг-агенты и фреймворки гоняют свой Anthropic-трафик через него и наследуют эндпоинт со скидкой из той же конфигурации — без правок собственного кода.

## Добавьте GPT, Gemini и Kimi в тот же model_list

Ключ шлюза мультипровайдерный, поэтому настроенный вами прокси — не только для Claude. Добавьте по записи на каждую полосу провайдера — и все модели будут тратить один и тот же предоплаченный баланс: ни второго аккаунта, ни второго ключа для ротации.

```
# additional model_list entries
  - model_name: gpt-5.6-terra
    litellm_params:
      model: openai/gpt-5.6-terra        # OpenAI-compatible lane
      api_base: https://router.apitoken.sale/v1
      api_key: sk-pool-•••
  - model_name: gemini-3.6-flash
    litellm_params:
      model: gemini/gemini-3.6-flash     # native Gemini lane
      api_base: https://router.apitoken.sale
      api_key: sk-pool-•••
```

Модели Kimi ездят по тем же двум полосам — Anthropic Messages или универсальный OpenAI-совместимый эндпоинт, — так что одно развёртывание LiteLLM может обслуживать поддерживаемые модели Claude, GPT, Gemini и Kimi одновременно. Каждый провайдер сохраняет протокол, который LiteLLM для него уже говорит; новым здесь оказываются только base URL и ключ.

## Что меняется при переходе — и что остаётся идентичным

Смена эндпоинта намеренно скучна, и стоит точно обозначить, какие части стека это замечают, а какие — нет.

| Слой | Что вы задаёте | Что происходит |
| --- | --- | --- |
| ID моделей | anthropic/claude-opus-4-8, anthropic/claude-sonnet-5, anthropic/claude-haiku-4-5 | Те же ID, что в апстриме; префикс выбирает протокол Anthropic |
| Эндпоинт | https://router.apitoken.sale | Нативный Anthropic Messages API, а не трансляция в формат OpenAI |
| Возможности | Стриминг, вызов инструментов, промпт-кеширование | Ведут себя так же, как с официальным эндпоинтом |
| Цена | На 50% ниже прайса за токен | Действует для каждой поддерживаемой модели Claude на том же предоплаченном балансе |
| Учёт | Один ключ sk-pool-… | Расход по ключу с детализацией до токенов в панели |

## Спланируйте бюджет трафика до масштабирования

Биллинг предоплаченный: вы пополняете баланс, и каждый запрос списывает свою точную стоимость в токенах — модели Claude по ставке со скидкой. Никакого месячного обязательства, которое нужно оценивать заранее, поэтому помодельный трекинг расходов в LiteLLM — приятное дополнение, а не инструмент выживания: авторитетные цифры живут в панели apiToken.sale с разбивкой по ключам и детализацией до токенов.

Прежде чем направлять весь флот на прокси, прогоните через один ключ репрезентативный день трафика и считайте реальное потребление с панели; экстраполируйте от реальных токенов, а не от арифметики прайс-листа. Калькулятор стоимости по ссылке ниже делает ту же математику заранее, если вы знаете примерный состав запросов.

[Цены по моделям, включая кеш-ставки](/models)

[Оцените стоимость вашего LiteLLM-трафика в бесплатном калькуляторе](/tools/claude-api-cost-calculator)

## Частые вопросы

### Как задать кастомный base URL для Anthropic в LiteLLM?

Передайте api_base напрямую в litellm.completion() или задайте его в litellm_params в model_list прокси. LiteLLM будет отправлять запросы в формате Anthropic Messages на этот эндпоинт — для apiToken.sale это https://router.apitoken.sale.

### Нужно ли сохранять префикс anthropic/ у модели при маршрутизации Claude через шлюз?

Да. Используйте anthropic/claude-opus-4-8 (или любую поддерживаемую модель), чтобы LiteLLM применил протокол Anthropic; меняются только эндпоинт и ключ, а без префикса LiteLLM начнёт угадывать провайдера.

### Работает ли стриминг LiteLLM с кастомным api_base?

Да. stream=True возвращает те же инкрементальные события Anthropic через шлюз, так что потокенный рендеринг и агентские циклы ведут себя ровно как с официальным эндпоинтом.

### Может ли один LiteLLM-прокси обслуживать Claude, GPT и Gemini одновременно?

Да. Один ключ apiToken.sale покрывает поддерживаемые модели Claude, GPT, Gemini и Kimi; добавьте каждого провайдера отдельной записью в model_list — модели anthropic/ и gemini/ на https://router.apitoken.sale, модели openai/ на https://router.apitoken.sale/v1.

### Как настроить фолбэк между моделями Claude в LiteLLM?

Используйте router_settings.fallbacks в конфиге прокси, связав основное развёртывание с резервным — например, claude-opus-4-8 с claude-haiku-4-5. Обе записи указывают на тот же шлюз и ключ, так что ретрай остаётся на балансе со скидкой.

---
Get a key: https://apitoken.sale/register
More guides: https://apitoken.sale/ru/docs/learn
