Начало работыИнструкция
Первый запрос к API из VS Code: файл .http и ключ из .env
Отправьте первый запрос к CheapTokens из VS Code через REST Client, держите ключ вне git и найдите текст ответа и расход токенов.

Содержание
Первый запрос к CheapTokens можно отправить, не выходя из VS Code: поставьте расширение REST Client, напишите файл .http, положите ключ в .env рядом и нажмите Ctrl+Alt+R. Ответ откроется в панели рядом с файлом, а текст ответа и число токенов — два поля, которые легко найти в ответе.
Если редактор и так открыт, это проще, чем ставить ещё одну программу ради «Hello» модели. А сам запрос лежит в обычном текстовом файле: завтра его можно запустить снова или отдать коллеге в коммите (без ключа). Другие способы отправить тот же запрос — в статьях Первый запрос через HTTPie и Первый запрос к CheapTokens.
Поставьте расширение и положите ключ в .env#
REST Client — это расширение humao.. В VS Code нажмите F1, введите ext install, найдите rest-client и установите. (Сверено с README расширения 9 ноября 2026 года.)
Теперь ключ. В README описано {{$dotenv NAME}}: оно берёт значение из файла .env, который лежит в одной папке с вашим .http. Нам это и нужно — в файле запроса ключа не будет. Заведите папку для опыта и положите в неё два файла.
.env:
CHEAPTOKENS_API_KEY=paste-your-key-here.gitignore:
.envСоздайте ключ в личном кабинете CheapTokens и вставьте вместо заглушки. Зачем нужна строка в .gitignore и что делать, если ключ всё же попал в коммит, — в статье Как хранить API-ключ безопасно.
Расставьте по порядку
Расставьте настройку по порядку
Перетащите элементы или используйте стрелки
- Установить расширение REST Client
- Добавить .env в .gitignore
- Положить ключ в .env рядом с .http
- Нажать Ctrl+Alt+R на запросе
Напишите файл .http#
Создайте в той же папке first.http. Синтаксис короткий: строка запроса (POST URL HTTP/, метод можно не указывать — по умолчанию GET), затем заголовки Имя: значение до первой пустой строки, после пустой строки — тело. Запросы разделяет строка из трёх и более #.
### First request
POST https://api.cheaptokens.dev/v1/chat/completions
Authorization: Bearer {{$dotenv CHEAPTOKENS_API_KEY}}
Content-Type: application/json
{
"model": "zai-org/GLM-5.3-Flash",
"messages": [{ "role": "user", "content": "Hello" }]
}Обратите внимание на три вещи. Адрес — база API CheapTokens https:/ плюс /. Модель указана полным id zai-: контекст 390K, до 8 192 токенов в одном ответе. А ключ — только заглушка {{$dotenv …}}, так что файл можно коммитить.

Если .env у вас не подхватился, в README есть и {{$processEnv NAME}} — оно читает переменную из окружения вашего компьютера.
Отправьте и найдите ответ#
Нажмите «Send Request» над строкой запроса или Ctrl+Alt+R (Cmd+Alt+R на macOS). Можно ещё щёлкнуть правой кнопкой или вызвать F1. Ответ откроется в отдельной панели. Если удобнее обычная вкладка, где можно искать и сворачивать текст, поставьте в настройках rest- в true.
Ответ — стандартный JSON chat completions. В первый день важны два места:
choices[0].— текст ответа. Рядомmessage. content finish_reasonговорит, почему модель остановилась:lengthзначит, что ответ оборвал лимит токенов.usage— число токенов этого запроса: сколько вы отправили и сколько написала модель. За это вы и платите, поэтому заглядывайте сюда каждый раз.

Попробуйте самиПопробуйте: как понять, что ответ оборвался?Показать ответ
Посмотрите на finish_reason в ответе. Если там length, модель упёрлась в лимит токенов раньше, чем закончила. Добавьте в тело строку "max_tokens" или увеличьте её и отправьте снова.
Чтобы почувствовать деньги: допустим, вы отправляете такой запрос 100 раз, по 1 000 токенов на входе и 300 на выходе (допущение для примера, не замер).
| Модель | Вход $/1M | Выход $/1M | За запрос | 100 запросов | OpenRouter, 100 запросов |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.000032 | $0.0032 | $0.0058 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.000045 | $0.0045 | $0.0112 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.000095 | $0.0095 | $0.114 |
1 000 входных и 300 выходных токенов на запрос. Цены за 1M токенов актуальны и меняются вместе с нашими тарифами; столбец OpenRouter показывает справочные цены для той же нагрузки.
Таблица показывает живую цену этой нагрузки на каждой модели и столбец OpenRouter для сравнения. Одинокий «Hello» стоит намного меньше.
Смените модель одной строкой#
Удобство текстового файла: поменяли строку — отправили снова. Замените id модели на deepseek- (контекст 380K, до 32 768 токенов в ответе, одна цена в любое время суток, в сумме дешевле OpenRouter с учётом входа и выхода) и ещё раз нажмите Ctrl+Alt+R. То же тело, тот же ключ, другой ответ и другой usage.
Хотите оставить обе? Вставьте второй запрос ниже под строкой ### с другим id модели. У каждого запроса своя ссылка Send Request, так что их можно запустить по очереди и сравнить. Не уверены в id? Список моделей через GET /v1/models покажет точные строки.
Если не работает#
Найдите пары
Сопоставьте признак и причину
Нажмите на элемент слева, затем на его пару
- 401 UnauthorizedКлюч пустой или неверный, часто потому что .env лежит не в одной папке с .http
- 404 Not FoundОпечатка в пути URL или в id модели
- Ответ оборвался на полуслове, finish_reason равен lengthДостигнут лимит токенов, увеличьте max_tokens
По первым двум пунктам проверки разобраны в статье Ошибка API 401 или 404: ключ, base URL или id модели. Подробности запроса — в документации CheapTokens, актуальные цены — на странице цен.
Вот и весь процесс: один файл, один ключ в .env, одно сочетание клавиш. Дальше можно добавить системное сообщение, поменять max_tokens или превратить то же тело в код на любом языке.



