Перейти к основному содержимому

Token Billing

Как рассчитывается стоимость использования API.

Принцип расчёта

Стоимость = (Input токены × Input цена) + (Output токены × Output цена)

Пример для Claude Sonnet 4.5:
- Input: 1000 токенов × $1.50/1M = $0.0015
- Output: 500 токенов × $7.50/1M = $0.00375
- Итого: $0.00525

Что такое токен

Токен — единица текста, используемая моделью.

ЯзыкПримерное соотношение
Английский1 токен ≈ 4 символа
Русский1 токен ≈ 2-3 символа
Код1 токен ≈ 3-4 символа

Примеры:

ТекстТокенов
"Hello, world!"~4
"Привет, мир!"~5
1000 слов (англ.)~750
1000 слов (рус.)~1500

Input vs Output токены

Input токены (prompt)

Всё что отправляете в запросе:

  • System message
  • История диалога (все messages)
  • Контекст документов
  • Изображения (для vision моделей)

Output токены (completion)

Всё что модель генерирует:

  • Ответ модели
  • Thinking токены (для Extended Thinking)
  • Function calls

Пример расчёта

Простой запрос

{
"model": "anthropic/claude-sonnet-4-5-20250929",
"messages": [
{"role": "system", "content": "Ты помощник"}, // ~5 токенов
{"role": "user", "content": "Что такое Python?"} // ~10 токенов
]
}

Расчёт:

  • Input: 15 токенов × $1.50/1M = $0.0000225
  • Output: ~100 токенов × $7.50/1M = $0.00075
  • Итого: ~$0.00077

Длинный диалог

{
"messages": [
{"role": "system", "content": "..."}, // 100 токенов
{"role": "user", "content": "..."}, // 200 токенов
{"role": "assistant", "content": "..."}, // 500 токенов
{"role": "user", "content": "..."}, // 150 токенов
{"role": "assistant", "content": "..."}, // 400 токенов
{"role": "user", "content": "Следующий вопрос"} // 50 токенов
]
}

Input: 100 + 200 + 500 + 150 + 400 + 50 = 1400 токенов

Оптимизация

Длинная история диалога увеличивает input токены. Используйте summarization или prompt caching.

Extended Thinking

{
"model": "anthropic/claude-sonnet-4-20250514-thinking",
"messages": [...],
"reasoning_effort": "high"
}

Ответ:

{
"usage": {
"prompt_tokens": 100,
"completion_tokens": 500,
"thinking_tokens": 2000 // Отдельно учитываются
}
}

Расчёт (Claude Sonnet 4):

  • Input: 100 × $3.00/1M = $0.0003
  • Output: 500 × $15.00/1M = $0.0075
  • Thinking: 2000 × $15.00/1M = $0.03
  • Итого: ~$0.038

Usage в ответе

Каждый ответ API содержит информацию об использовании:

{
"usage": {
"prompt_tokens": 25,
"completion_tokens": 150,
"total_tokens": 175
}
}

Streaming

При stream: true usage приходит в последнем чанке:

data: {"choices":[...],"usage":{"prompt_tokens":25,"completion_tokens":150,"total_tokens":175}}
data: [DONE]

Мониторинг расходов

Через API

curl https://api.aipomogator.ru/api/v1/user/balance \
-H "Authorization: Bearer $API_KEY"

В личном кабинете

История использования доступна в разделе "Биллинг" личного кабинета.

Оптимизация расходов

1. Выбор модели

ЗадачаРекомендуемая модельЭкономия
Простые вопросыClaude 3.5 Haiku90%
КодClaude Sonnet 4.5Базовая
Сложный анализClaude Opus 4.5

2. Prompt Caching

Используйте кэширование для повторяющихся промптов. Подробнее

3. Сокращение контекста

# ❌ Отправляем всю историю
messages = conversation_history # 10000 токенов

# ✅ Сокращаем историю
messages = summarize(conversation_history[-5:]) # 500 токенов

4. Указывайте max_tokens

{
"max_tokens": 500 // Ограничиваем output
}

5. Batch обработка

# ❌ Много мелких запросов
for item in items:
response = client.chat.completions.create(...)

# ✅ Один запрос с batch
response = client.chat.completions.create(
messages=[
{"role": "user", "content": f"Обработай все: {items}"}
]
)

Специальные случаи

Изображения (Vision)

Токены для изображений рассчитываются по размеру:

РазрешениеПримерно токенов
512x512~85
1024x1024~170
2048x2048~680

Embeddings

Только input токены (output = 0):

1000 токенов × $0.02/1M = $0.00002

Генерация изображений

Фиксированная цена за изображение:

МодельРазмерЦена
DALL-E 31024x1024$0.04
DALL-E 31792x1024$0.08
DALL-E 21024x1024$0.02

Аудио

МодельЕдиницаЦена
Whisperминута$0.006
TTS-11K символов$0.015
TTS-1-HD1K символов$0.030

Калькулятор

Используйте таблицу цен для расчёта стоимости запросов.