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

Шаг 1 — получите ключ

  1. Зарегистрируйтесь на speshu.ai.
  2. Пополните баланс в профиле. Без положительного остатка платный запрос вернёт 402 insufficient_quota.
  3. Создайте ключ в разделе API-ключи на speshu.ai/profile.
Ключ начинается с sk- и показывается один раз — сохраните его сразу. Формат ключа, заголовки и отзыв разобраны на странице Аутентификация.
cURL

Шаг 2 — проверьте ключ

Один запрос к балансу доказывает, что ключ принят, и сразу показывает, сколько денег на счёте.
cURL
Ответ с суммами — ключ рабочий. Ответ 401 с кодом invalid_api_key — ключ неверный, отозван или истёк. Формат ответа разобран на странице Баланс.

Шаг 3 — первый запрос

Берите модель из каталога и сразу используйте её в запросе. Смысл этого шага — объяснить, почему модель берётся из каталога, а не зашивается константой в коде.
Ответ приходит в формате OpenAI Chat Completions:
usage.cost.total_cost — это ровно та сумма в рублях, которая списана с вашего кошелька за этот запрос. Разбор поля — на странице Тарификация и оплата.
Официальный SDK OpenAI работает как есть: достаточно поменять base_url на https://speshu.ai/api/v1 и передать ключ. Код клиента переписывать не нужно.

Выбор модели

Не зашивайте идентификаторы моделей в код. Состав каталога меняется: модели появляются, уходят и отключаются, а идентификаторы переименовываются — и запросы начинают падать с 404 model_not_found без предупреждения. Берите id из ответа GET /api/v1/models и подставляйте его в поле model как есть, без префикса провайдера:
cURL
Python
Модели для изображений, видео, аудио и музыки живут в отдельном каталоге — GET /api/v1/media/models. Как выбирать по цене, контекстному окну и возможностям, разобрано на странице Модели и цены, формат ответов — в Каталоге моделей и Каталоге медиа-моделей.
Неизвестный идентификатор даёт 404 с кодом model_not_found. Полный разбор кодов — на странице Ошибки.

Потоковый ответ

Добавьте stream: true к тому же запросу — токены придут по мере генерации. Флаг -N у curl отключает буферизацию вывода, без него вы увидите весь ответ разом в самом конце:
cURL
Здесь используется $MODEL из шага 3 — выполните те команды в том же терминале, и переменная будет в области видимости.
Полный разбор кадров, usage в последнем кадре и поведение при обрыве — в гайде Потоковая передача.

Генерация изображения

Медиа работает асинхронно: вы создаёте задачу, получаете taskId и опрашиваете статус. Модель берётся из медиа-каталога.
cURL
Заголовок Idempotency-Key нужен для безопасного повтора: новый ключ означает новую задачу и повторное списание. Подробности — в Создании задачи и Статусе задачи.

Что проверить, если не работает

Ключ не передан, в нём опечатка, он отозван или истёк. Проверьте заголовок Authorization: Bearer и раздел API-ключи в профиле. Формат ключа и его отзыв — на странице Аутентификация.
Баланс неположительный. Проверьте остаток через GET /api/v1/balance и пополните его в профиле. Деньги за отказ не списываются: проверка баланса идёт до обращения к модели. Подробности — на странице Тарификация и оплата.
Идентификатор не найден в GET /api/v1/models либо модель сейчас отключена. Возьмите id из ответа каталога и подставьте его без изменений. Подробности — на странице Модели и цены.
Входные токены плюс зарезервированный выход превышают context_length выбранной модели. Уменьшите max_completion_tokens, сократите историю диалога или возьмите модель с окном побольше. Повтор с теми же аргументами не поможет. Полный разбор — на странице Ошибки.

Дальше

Модели и цены

Как выбрать модель под задачу

Тарификация и оплата

Как считается стоимость и списываются деньги

Введение в API

Базовый URL, заголовки, форматы ответов

Начало работы

Пополнение счёта и организация в кабинете