Назад в блог

Начало работыИнструкция

Первый запрос к OpenAI-совместимому API в Postman

Отправьте запрос chat/completions из Postman с ключом в переменной и прочитайте ответ и поле usage.

Автор: CheapTokens TeamОпубликовано 4 мин чтения

Тело запроса в Postman с id модели и одним сообщением для API CheapTokens
Содержание
  1. Настройка в четыре хода
  2. Нажмите Send и прочитайте ответ
  3. Сколько стоит первый запрос
  4. Если не работает

У вас есть API-ключ, и хочется увидеть, что на самом деле уходит по сети, прежде чем писать код. Для этого Postman и хорош: вписали адрес, ключ и JSON, нажали Send — ответ появился ниже. В CheapTokens запрос выглядит так: POST https://api.cheaptokens.dev/v1/chat/completions, ключ в Authorization: Bearer и JSON с названием модели.

Шаги ниже опираются на документацию Postman (v12, последняя версия на сайте документации, проверено 31 октября 2026). Если удобнее терминал, тот же запрос разобран в статье Первый запрос к API CheapTokens.

Тело запроса в Postman: id модели, одно сообщение пользователя, max_tokens
Raw JSON тела первого запроса

Настройка в четыре хода#

Нужно немного: базовый адрес, ключ, id модели и одно сообщение. Первые два Postman хранит в переменных, поэтому сам ключ в запрос не вставляется.

Расставьте по порядку

Расставьте настройку Postman по порядку

  1. Задайте переменные base_url и api_key
  2. Создайте HTTP-запрос: POST на {{base_url}}/chat/completions
  3. На вкладке Authorization выберите Bearer Token и впишите {{api_key}}
  4. На вкладке Body выберите raw > JSON, вставьте тело и нажмите Send

Немного подробностей по каждому ходу.

Создайте запрос. Нажмите значок Add в левой панели и выберите HTTP. Метод по умолчанию GET — переключите на POST и введите адрес. Переменные в Postman пишутся {{имя_переменной}}; в документации пример — {{base_url}}. Задайте base_url как https://api.cheaptokens.dev/v1, и поле адреса станет {{base_url}}/chat/completions. Postman хранит переменные как строки, для нашего случая этого достаточно.

Добавьте ключ. Откройте вкладку Authorization, в списке Auth Type выберите Bearer Token, а в поле Token впишите {{api_key}}. Postman отправит его в заголовке Authorization в формате Bearer. Документация советует то же: хранить токен в переменной и обращаться по имени. Почему это важная привычка — в статье Как хранить API-ключ безопасно.

Напишите тело. На вкладке Body выберите raw, а в выпадающем списке — JSON. Для raw-тела Postman сам ставит нужный Content-Type, добавлять этот заголовок не нужно. Вставьте:

json
{
  "model": "deepseek-ai/DeepSeek-V4-Flash-0731",
  "messages": [
    { "role": "user", "content": "Explain in one sentence what a token is." }
  ],
  "max_tokens": 200
}

id модели — полный gateway_id из документации CheapTokens; короткое имя вроде deepseek-flash не принимается. max_tokens ограничивает длину ответа, так что первый тест не растянется. И ещё деталь Postman: комментарии // и /* */ в JSON-теле перед отправкой удаляются, поэтому тело можно подписать для коллеги.

Нажмите Send и прочитайте ответ#

Если всё верно, в панели ответа будет JSON в формате OpenAI Chat Completions. Важны два места:

  • choices[0].message.content — текст ответа.
  • usage — prompt_tokens (что вы отправили) и completion_tokens (что написала модель). Именно за это списываются деньги, поэтому посмотрите на него уже в первом запросе.

Загляните и в choices[0].finish_reason. stop — модель закончила сама; length — ответ упёрся в max_tokens и обрезан. Если видите его, увеличьте лимит или прочитайте Ответ ИИ обрывается: finish_reason «length» и max_tokens.

Попробуйте, не открывая ответ:

Попробуйте самиПопробуйте: вы поставили max_tokens равным 5 и нажали Send. Что будет в finish_reason?Показать ответ

Будет length: пяти токенов на целую фразу не хватит, и ответ обрежется. Верните 200 — станет stop.

Сколько стоит первый запрос#

Допустим, запрос выше занимает около 30 токенов на входе, а ответ — около 100 на выходе (пример, а не замер; настоящие числа покажет ваше поле usage). На DeepSeek-V4-Flash это $0.00001 по текущей цене, и цена одинакова в любое время суток. Цены за 1M токенов — в живой таблице на странице цен.

Тот же запрос в Postman подойдёт, чтобы попробовать другую модель. Замените только строку model, например на zai-org/GLM-5.3-Flash (контекст 390K, до 8 192 токенов в ответе), и снова нажмите Send. Баланс один на все модели, так что больше ничего не меняется: тот же адрес, тот же ключ.

Если не работает#

Postman показывает код статуса рядом с ответом. Обычные причины:

Найдите пары

Сопоставьте симптом и причину

  • 401 UnauthorizedКлюч не задан, с опечаткой или {{api_key}} пуст, потому что переменная не определена
  • 404 Not FoundНеверный адрес: проверьте, что base_url оканчивается на /v1, а путь — /chat/completions
  • Ошибка, где упоминается модельid модели сокращён; возьмите полный, например deepseek-ai/DeepSeek-V4-Flash-0731

Есть две проверки именно для Postman. Если приходит 401 или адрес выглядит неверно, проверьте, что base_url и api_key заданы в выбранном окружении. А если ключ верный, но всё равно 401, снова откройте вкладку Authorization: Auth Type должен быть Bearer Token, а не No Auth. Подробнее про эти коды — Ошибка API 401 или 404. Не знаете, какой id брать? Список моделей через GET /v1/models покажет все.

Когда результат устраивает, нажмите Save, назовите запрос и выберите коллекцию. В следующий раз достаточно поменять поле content или строку model, чтобы сравнить ответы. Полное описание API — в документации CheapTokens.