Как честно сравнить API-шлюзы: шесть проверок за полчаса

Прайс сравнить легко, но он мало что говорит. Шесть проверок, которые видно за полчаса и которые реально влияют на счёт.

3 мин · · Обновлено · шлюз · сравнение · практика

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

Ниже — шесть проверок, каждая занимает несколько минут.

1. Совпадает ли списание с ответом

Самая важная. Отправьте один запрос без потока и сравните два числа: usage в ответе модели и списание в истории операций.

bash
curl -s https://api.zukko.pro/v1/chat/completions \
  -H "Authorization: Bearer fetch_ваш_ключ" \
  -H "Content-Type: application/json" \
  -d '{"model":"glm-5.3","max_tokens":50,
       "messages":[{"role":"user","content":"Скажи одно слово"}]}' \
  | python3 -c "import sys,json; print(json.load(sys.stdin)['usage'])"

Дальше откройте историю списаний и найдите этот запрос. Числа должны совпасть до токена. Если списано больше — спрашивайте почему, внятного ответа обычно нет.

2. Есть ли история запросов вообще

Звучит банально, но у части посредников её просто нет: баланс уменьшается, а за что — неизвестно. Без разбивки по моделям и запросам вы не сможете ни найти перерасход, ни оспорить списание.

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

3. Что происходит при аварии

Самый показательный пункт и самый редко проверяемый. Спросите напрямую: что я увижу, если поставщик модели ляжет?

Плохой ответ — «ничего, всё всегда работает». Поставщики ложатся у всех, вопрос только в том, как это выглядит с вашей стороны. Хороший ответ звучит конкретно: модель убирается из списка, отказ приходит с понятным текстом и названием работающей замены, состояние видно публично.

Проверить можно так:

bash
curl https://api.zukko.pro/api/status

Если публичного состояния нет вообще, во время следующей аварии вы будете гадать, у кого проблема — у них или у вас.

4. Работают ли вызовы инструментов

Критично для всех, кто пользуется агентами, и почти никем не проверяется заранее. Отправьте запрос с описанием инструмента и убедитесь, что в ответе приходит вызов, а не текст с предложением написать код руками.

Проверять надо в том формате, в котором вы работаете. Anthropic-клиенты ходят на /v1/messages, OpenAI-совместимые — на /v1/chat/completions, и бывает, что в одном формате всё работает, а в другом нет.

5. Оба ли формата поддерживаются

Anthropic-совместимый адрес и OpenAI-совместимый — разные вещи, и от этого зависит, какие инструменты вы сможете подключить. Если поддерживается только один, половина клиентов отпадает.

Заодно уточните, есть ли /v1/models: без него агент не покажет вам список и придётся вбивать имена руками.

6. Можно ли забрать деньги обратно

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

Чего в этом списке нет

Не стоит выбирать по заявленной скорости: она зависит от модели и от нагрузки у поставщика, и цифра на сайте посредника вам ничего не гарантирует. Измерьте сами на своих запросах, если это критично.

Не стоит выбирать и по числу моделей. Три работающие лучше тридцати, из которых половина отвечает model not found.

Что в итоге

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

Zukko проходит все шесть проверок, и это утверждение лучше проверить, чем принять на слово: пополните минимально (от $1) и прогоните список сами.

zukko

Платите в 25×
меньше

за Claude Code & ChatGPT

Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.