Чат в браузере или API: что выбрать для своей задачи
Чат в браузере удобен для ручной работы, API — для автоматизации. Цены за токены одинаковые, а разница — в контроле, истории и в том, как растёт стоимость диалога.
5 мин · · API-ключи · разработка · оплата
Чат в браузере или API — выбор, который встаёт перед каждым, кто начинает работать с моделями. В Zukko оба варианта списывают с одного долларового баланса по одним и тем же ценам за токены, но подходят для разных сценариев. Разбираем, когда хватает чата, когда нужен API и как в обоих случаях считается стоимость.
Что такое чат Zukko
Чат открывается в кабинете по адресу zukko.pro/app/chat. Это привычный интерфейс диалога с моделью, подключённый к вашему аккаунту:
- модели — те же, что доступны через API; выбираются в чате из списка;
- оплата — каждый ответ списывается с общего баланса в долларах;
- прозрачность — у ответа видно число токенов и стоимость;
- история — диалоги сохраняются в аккаунте, их можно продолжить или удалить.
Ключ API для чата не нужен: достаточно войти в кабинет с подтверждённой почтой и иметь положительный баланс.
Когда хватает чата
- Вы работаете руками. Задаёте вопрос, читаете ответ, уточняете. Интеграция не нужна.
- Задача разовая или редкая. Разобрать один файл, набросать текст, разобраться в ошибке.
- Вы подбираете промпт. В чате удобно перебирать формулировки и сравнивать ответы разных моделей, прежде чем переносить их в код.
Пример расхода: вопрос с контекстом на 3000 входных токенов и ответ на 1000 выходных на claude-sonnet-5:
(3000 × 0.3 + 1000 × 0.3) / 1 000 000 = $0.0012. На $10 таких запросов поместится 10 / 0.0012 ≈ 8300.
Как растёт стоимость длинного диалога
Модель не «помнит» разговор сама: при каждом новом сообщении в неё заново отправляется вся предыдущая переписка. Поэтому каждое следующее сообщение в длинном диалоге дороже предыдущего.
Пример: 20 сообщений, в каждом вопрос на 200 токенов и ответ на 500, модель claude-sonnet-5.
- Вход на n-м сообщении: 700 × (n − 1) + 200 токенов.
- Сумма входа за 20 сообщений: 700 × 190 + 20 × 200 = 137 000 токенов; выход: 20 × 500 = 10 000.
- Стоимость: (137 000 + 10 000) × 0.3 / 1 000 000 ≈ $0.044.
Те же 20 вопросов в 20 новых диалогах: (4000 + 10 000) × 0.3 / 1 000 000 ≈ $0.0042. Вывод простой: если тема сменилась — начните новый диалог. Это работает и в чате, и в API.
Когда нужен API
- Запросы частые и однотипные. Обработка каждого нового письма, классификация обращений, генерация описаний товаров.
- Модель должна работать без человека. Бот, бэкенд, скрипт по расписанию, CI.
- Нужен контроль. Свой системный промпт, параметры запроса (
max_tokens, формат ответа), обработка ошибок, логирование, повторные попытки. - Нужна обработка пачками. Тысяча документов — это цикл в коде, а не тысяча копипастов.
Стоимость того же запроса через API такая же — $0.0012. API экономит не деньги за токены, а время и ручные ошибки.
Сравнение по удобству
| Аспект | Чат в браузере | API |
|---|---|---|
| Начало работы | Войти в кабинет | Создать ключ, написать код |
| Запрос | Вручную | Программный вызов |
| История | Сохраняется в аккаунте | Логируете сами |
| Контекст диалога | Чат передаёт историю сам | Передаёте messages сами |
| Контроль расходов | Общий баланс | Лимиты на каждый ключ |
| Результат | Читаете и копируете | Сразу в вашей программе |
Минимальный пример API
Python с официальным OpenAI SDK:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.zukko.pro/v1",
api_key=os.environ["OPENAI_API_KEY"], # ключ fetch_...
)
response = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": "Предложи три названия для сервиса заметок"}],
)
print(response.choices[0].message.content)
usage = response.usage
cost = (usage.prompt_tokens + usage.completion_tokens) * 0.3 / 1_000_000 # цена claude-sonnet-5
print(f"Токены: {usage.prompt_tokens} + {usage.completion_tokens}, стоимость ≈ ${cost:.6f}")То же через curl:
curl https://api.zukko.pro/v1/chat/completions \
-H "Authorization: Bearer fetch_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5",
"messages": [{"role": "user", "content": "Привет!"}]
}'Подробнее — в быстром старте и справке по Chat Completions.
Контроль расходов
В чате расход ограничен только балансом. Для API у каждого ключа можно задать дневной и месячный лимит в долларах и список разрешённых моделей. Когда лимит исчерпан, запросы с ключом получают HTTP 429 с кодом key_daily_limit_reached или key_monthly_limit_reached. Если на балансе меньше $0.01, любые запросы получают 402 insufficient_balance. Подробнее — в разделе о лимитах ключей.
Практичный порядок: сначала чат, потом API
- Подберите промпт в чате. Попробуйте несколько формулировок и моделей, посмотрите на стоимость ответов.
- Перенесите финальный вариант в код. Системную инструкцию — в
role: system, примеры — в сообщения. - Создайте отдельный ключ под приложение с лимитами.
- Следите за расходом в разделе «Использование» кабинета.
Модели в чате и в API одни и те же: Claude, GPT и GLM. Актуальный список — GET https://api.zukko.pro/v1/models или страница «Модели» в кабинете.
Создание ключа для API
- Откройте страницу ключей и нажмите «Создать ключ».
- Задайте имя (например,
python-script), при желании — дневной и месячный лимит и разрешённые модели. - Скопируйте ключ
fetch_...сразу: полностью он показывается один раз, при создании. - Сохраните его в переменной окружения, а не в коде.
Частые вопросы
Нужен ли ключ, чтобы пользоваться чатом?
Нет. Чат работает от вашего аккаунта и списывает с общего баланса. Ключ нужен только для запросов к API из программ и инструментов.
Действуют ли лимиты ключа на чат?
Лимиты задаются для ключей и относятся к запросам по API с этим ключом. Чат ограничен балансом аккаунта. Если хотите разделить расходы, используйте отдельные ключи для разных приложений и смотрите расход по ним в кабинете.
Что делать, если ключ утёк?
Отзовите его на странице ключей кнопкой «Отозвать ключ» — он сразу перестанет работать. Затем создайте новый и обновите его в приложении.
Можно ли вести одну и ту же переписку в чате и в API?
Нет, это разные места: история чата хранится в кабинете, а в API историю диалога вы передаёте сами в поле messages. Удачный промпт из чата просто скопируйте в код.
zukko
Платите в 25×
меньше
за Claude Code & ChatGPT
Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.
Похожие статьи
- Свой прокси к нейросети на Node.js: не показывать API-ключ во фронтендеНебольшой сервер на Express между вашим фронтендом и API нейросети: ключ остаётся на сервере, а модели, длина запроса и частота ограничены.
- DeepSeek API на Python: запросы, стриминг, JSON и обработка ошибокГотовый код для DeepSeek V4.1 Flash и V4 Pro на OpenAI SDK: запрос, стриминг, разбор JSON и аккуратная обработка ошибок.
- Gemini API на Python: запросы через OpenAI SDK и OpenAI-форматРабочий пример Gemini API на Python без отдельной библиотеки: меняем base_url в OpenAI SDK, добавляем стриминг и JSON и сравниваем с google-genai.
- Anthropic SDK для Python: base_url, ключ и первый запрос через шлюзОфициальный пакет anthropic для Python нужно только направить на другой адрес. Разбираем base_url, ключ, стриминг, подсчёт токенов, кэш и ошибки.