smartaipack
Документация SmartAIPack

API Reference

Базовый адрес, заголовки, форматы запросов и ответов, рабочие пути, выбор модели и проверка расхода.

API принимает запросы к разным моделям через один базовый адрес и один ключ организации. В этом справочнике собраны опубликованные пути, обязательные заголовки, минимальный формат запроса генерации и основные поля ответа.

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

Базовый адрес

Используйте базовый адрес:

https://route.smartaipack.ru/v1

К нему добавляется путь конкретной операции. Например, полный адрес для Chat Completions:

https://route.smartaipack.ru/v1/chat/completions

Не добавляйте /v1 дважды. Ключ передавайте только с сервера или из защищённого окружения; не помещайте его в браузерный код, репозиторий или журнал приложения.

Запросы

Формат запроса генерации

Для POST /v1/chat/completions обязательны как минимум точный идентификатор модели и массив сообщений. Каждое сообщение содержит роль и текст:

{
  "model": "gpt-5.5",
  "messages": [
    {
      "role": "user",
      "content": "Объясни в двух предложениях, что такое API."
    }
  ]
}

Значение model в примере замените на точный идентификатор из каталога моделей. Не сокращайте и не переименовывайте его.

Минимальный запрос через curl:

curl https://route.smartaipack.ru/v1/chat/completions \
  -H "Authorization: Bearer $AI_GATEWAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.5",
    "messages": [
      {"role": "user", "content": "Ответь одним словом: работает?"}
    ]
  }'

Заголовки

ЗаголовокЗначениеНазначение
AuthorizationBearer <API_KEY>Авторизация ключом AI Gateway.
Content-Typeapplication/jsonПередача тела запроса в JSON.

Сырой ключ показывается один раз при создании. Если ключ отозван, истёк или приостановлен из-за нулевого баланса, запрос не будет допущен. Условия списания опубликованы на странице цен.

Ответы

Формат Chat Completions

Успешный ответ POST /v1/chat/completions имеет совместимую с Chat Completions структуру. Текст результата находится в choices[0].message.content:

{
  "id": "chatcmpl_example",
  "object": "chat.completion",
  "model": "gpt-5.5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Работает."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 15,
    "completion_tokens": 3,
    "total_tokens": 18
  }
}

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

Причина завершения

Поле finish_reason объясняет, почему модель закончила формирование варианта ответа. Значение stop означает штатное завершение. Другие значения обрабатывайте как часть ответа конкретной модели: не считайте любой непустой текст признаком полного результата.

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

Данные об использовании и стоимости

Ответ модели может содержать объект usage со счётчиками входных, выходных и общих токенов. Точный состав полей зависит от пути и поставщика, поэтому интеграция не должна предполагать, что каждый ответ содержит одинаковый набор счётчиков.

API-ответ модели не следует использовать как источник рублёвой стоимости: AI Gateway не обещает отдельное поле цены в таком ответе. Фактический расход по запросам проверяйте в разделе Использование, а стоимость за период и разбивку по моделям и ключам — в Аналитике.

Поддерживаемые пути

Метод и путьДля чего использоватьОсновные поля запроса
GET /v1/modelsПолучить список доступных идентификаторов моделей.Тело не требуется.
POST /v1/chat/completionsДиалоги и обычная генерация через формат Chat Completions.model, messages
POST /v1/responsesГенерация через формат Responses.model, input
POST /v1/messagesЗапросы в формате Messages только к моделям Claude/Anthropic.model, max_tokens, messages
POST /v1/embeddingsПолучить векторное представление текста.model, input
POST /v1/rerankПересортировать документы по соответствию запросу.model, query, documents

GET /v1/models возвращает короткий список доступных model ID. В нём не нужно искать цены, размер контекста или полный перечень возможностей: эти данные находятся в каталоге и на странице цен.

Путь /v1/messages принимает только модели Claude/Anthropic. Для других моделей выбирайте путь, опубликованный в каталоге. Неизвестные пути /v1/* не входят в гарантированную поверхность API.

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

  1. Определите операцию: генерация, Messages для Claude/Anthropic, векторизация или пересортировка документов.
  2. Откройте Модели и найдите модель, у которой опубликован нужный путь.
  3. Скопируйте точный model ID или request_model_id выбранного поставщика.
  4. Отправьте короткий проверочный запрос и найдите его в Использовании.
  5. Перед рабочей нагрузкой проверьте цену в каталоге и итоговую рублёвую стоимость в Аналитике.

Обычный идентификатор модели оставляет маршрут AI Gateway по умолчанию для выбранного пути. Идентификатор конкретного поставщика закрепляет запрос за этим вариантом; при его ошибке другой поставщик автоматически не подставляется. Подробнее эта логика разобрана в руководстве по моделям.

Если запрос отклонён, сначала проверьте ключ, положительный баланс, точность model ID и поддержку пути выбранной моделью. Если проблема сохраняется, обратитесь в поддержку и передайте время запроса, путь, модель и код ошибки — без полного API-ключа.

На этой странице