ДокументацияКак платить меньше

Как платить меньше

СценарииСредний12 мин

Десять приёмов: первые экономят в разы, последние страхуют от сюрпризов. Вы платите за токены входа и выхода, выход обычно в 4–5 раз дороже. Цены — в Модели и цены.

1Дешёвая модель для простых задач

Сортировку заявок, поиск телефона в письме, короткий перевод, орфографию отдайте deepseek-v4.1-flash, qwen3.8-flash или claude-haiku-5-5. claude-sonnet-5 и claude-opus-5-5 оставьте для кода, длинных рассуждений и важных текстов. Прогоните 20–30 своих запросов через дешёвую и сильную модель: разницы нет — берите дешёвую. Подробнее — Как выбрать модель.

Пример: разобрать 10 000 обращений по темам — claude-opus-5-5 $4.80, claude-haiku-5-5 $0.29, deepseek-v4.1-flash $0.17.

2Дешёвый исполнитель, сильный проверяющий

Черновик пишет дешёвая модель, сильная только проверяет и выносит короткий вердикт. Как собрать — Оркестрация агентов.

Пример: 1000 описаний товаров — всё на claude-opus-5-5 $5.60; пишет deepseek-v4.1-flash, проверяет claude-opus-5-5 — $2.96.

3Кэш промпта: неизменное — в начало

Инструкцию и базу знаний ставьте в начало запроса, а вопрос, дату, имя — в конец. Кэш работает сам, cache_control не нужен. Время в первой строке инструкции ломает кэш.

  • claude-sonnet-5 и claude-opus-5-5: в тесте из кэша читалось 40–70% повторяющейся части. Чтение кэша у Opus 5.5 — $0.08 вместо $0.8 за 1 млн токенов.
  • Первая запись чуть дороже обычного входа (у Sonnet $0.5 вместо $0.4 за 1 млн), окупается со второго-третьего повтора.
  • У DeepSeek кэш стоит как обычный вход. У claude-haiku-5-5 кэш в тесте не срабатывал.

Пример: бот на claude-sonnet-5 с инструкцией на 20 000 токенов, 1000 вопросов в день — $8.64 в день без кэша, $3.60–5.76 с кэшем.

4Канал Standard для запросов без повторов

claude-sonnet-5-standard и claude-opus-5-5-standard берут одну цену за любой токен, вход и выход: $0.2 у Sonnet и $0.3 у Opus за 1 млн. Скидки за кэш нет. Выгодно, когда каждый запрос новый и модель много пишет: перевод, анкеты, описания, письма. Для бота с большой постоянной инструкцией невыгодно: чтение кэша у обычного Sonnet ($0.04) дешевле.

Пример: перевести 1000 документов — claude-sonnet-5 $7.20, claude-sonnet-5-standard $1.20.

5Кэш ответов X-Zukko-Cache: true

С этим заголовком точно такой же запрос (модель, текст, настройки) Zukko отдаст из сохранённого ответа бесплатно. Пригодится при перезапуске упавшего пайплайна.

  • Хранится 7 дней, только успешный ответ до 2 МБ. Кэш свой у каждого аккаунта.
  • В ответе будут X-Zukko-Cache: hit и X-Zukko-Cost-Micros: 0, в историю расходов он не попадает.
  • Для Claude используйте заголовок, а не temperature: 0: новые модели Claude могут отклонять нестандартные temperature.

Пример: пайплайн на 1000 строк упал на 600-й — перезапуск без кэша $2.00, с кэшем $0.80. Подробнее — Лимиты ключа, идемпотентность и кэш.

6Idempotency-Key: повтор не спишет дважды

Передайте уникальное значение — повтор с тем же значением вернёт сохранённый ответ без второго списания.

  • Работает для /v1/chat/completions, /v1/messages и /v1/responses. Ответ хранится 24 часа.
  • То же значение с другим текстом запроса получит 422 idempotency_conflict.
  • Повторяйте после того, как первый запрос завершился или упал. Два одновременных запроса оплачиваются оба.
python
resp = client.chat.completions.create(
    model="deepseek-v4.1-flash",
    messages=[{"role": "user", "content": f"Определи тональность отзыва: {review_text}"}],
    extra_headers={"Idempotency-Key": f"reviews-2026-10-26-row-{row_id}"},
)

Пример: 10 000 запросов, 3% повторов из-за обрывов сети — без ключа лишние $0.90 за прогон, с ключом $0.

7Короткие ответы

Попросите в инструкции: «Отвечай в 2–3 предложениях», «Только JSON, без пояснений». max_tokens — только страховка: модель оборвётся на полуслове, ставьте с запасом. Рассуждение для простых задач не включайте.

Пример: бот на claude-sonnet-5, 1000 ответов в день, ответ с ~600 до ~200 токенов — экономия ~$24 в месяц.

8Короткая история переписки

Модель каждый раз получает всю переписку заново. Отправляйте последние 10–20 сообщений или раз в 20 сообщений заменяйте старые выжимкой от дешёвой модели. Инструкцию держите первой — она останется в кэше.

python
MAX_MESSAGES = 10

def build_messages(system_prompt, history):
    # Инструкция всегда первая, из переписки — только последние сообщения
    return [{"role": "system", "content": system_prompt}] + history[-MAX_MESSAGES:]

Пример: 1000 диалогов по 40 сообщений на claude-sonnet-5 — $49 с полной историей, $21 с окном в 10 сообщений.

9Лимиты на ключ

В кабинете задайте ключу потолок расхода в день и месяц (после него запросы получают 429 и ничего не стоят) и список разрешённых моделей. Заведите отдельный ключ на каждого бота, агента или подрядчика. Лимиты мягкие: последний запрос может немного превысить потолок.

Пример: агент в цикле на claude-opus-5-5 тратит ~$53 в час. С дневным лимитом $2 потери — около $2.

10Следите за расходами

Запустите пример дважды — второй ответ придёт из кэша, стоимость будет 0:

import os
from openai import OpenAI

client = OpenAI(base_url="https://api.zukko.pro/v1", api_key=os.environ["ZUKKO_API_KEY"])

raw = client.chat.completions.with_raw_response.create(
    model="deepseek-v4.1-flash",
    messages=[{"role": "user", "content": "Столица Франции? Ответь одним словом."}],
    max_tokens=100,
    extra_headers={"X-Zukko-Cache": "true"},
)
resp = raw.parse()
print(resp.choices[0].message.content)
print("Кэш:", raw.headers.get("X-Zukko-Cache", "нет"))
print("Стоимость, $:", int(raw.headers.get("X-Zukko-Cost-Micros", "0")) / 1_000_000)
Как платить меньше · Документация Zukko