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

Справочник по API

GatifyAI предоставляет эндпоинт chat completions, совместимый с SDK OpenAI — направьте существующий клиент OpenAI на GatifyAI, и всё просто заработает, без специальной клиентской библиотеки.

Базовый URL

Каждый запрос отправляется на:

https://gatifyai.com/api/v1

Аутентификация

Создайте ключ на странице API-ключи и отправляйте его как bearer-токен в заголовке Authorization. Хранится только хэш вашего ключа — скопируйте его при создании, так как GatifyAI больше не сможет его показать.

Быстрый старт

Минимальный запрос на curl, Python или TypeScript:

curl https://gatifyai.com/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_NAME",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

Ограничение ключа определёнными моделями

По умолчанию новый ключ может использовать любую бесплатную модель GatifyAI, с тем же автоматическим переключением, что и в веб-чате, если модель недоступна. Вместо этого можно ограничить ключ конкретной моделью или коротким списком — тогда ключ будет использовать только модели из этого списка, в указанном вами порядке, независимо от того, какую модель запрашивает запрос. Запрос модели вне этого списка вернёт ошибку 400 с указанием моделей, которые ключу действительно разрешено использовать.

Общение от имени персонажа

Передайте model: "persona/<slug>", чтобы общаться от имени персонажа, опубликованного в галерее сообщества — его личность и предпочитаемые модели используются автоматически, но всё ещё ограничены разрешёнными моделями вашего ключа, если вы их задали. Слаг персонажа и готовый пример можно найти на его собственной странице, во вкладке API.

{
  "model": "persona/senior-engineer",
  "messages": [{"role": "user", "content": "Review my code."}]
}

Стриминг и без него

Установите stream: true, чтобы получать токены по мере генерации, точно как в формате стриминга OpenAI (Server-Sent Events, завершается [DONE]). Опустите этот параметр или установите false, чтобы дождаться полного ответа в виде одного JSON-объекта — это поведение по умолчанию.

Ошибки

Ошибки соответствуют формату ошибок OpenAI: {"error": {"message": "...", "type": "..."}}. 401 означает отсутствующий, недействительный или отозванный ключ. 400 означает, что сам запрос некорректен — чаще всего нераспознанная модель, неопубликованный/неизвестный слаг персонажа или модель вне разрешённого списка вашего ключа. 502 означает, что ни одна из кандидатных моделей не ответила.

{
  "error": {
    "message": "This API key may only use: llama-3.1-8b:free",
    "type": "invalid_request_error"
  }
}

Ограничения частоты запросов

Запросы к API учитываются в том же лимите частоты чата на аккаунт, что и веб-приложение — отдельной квоты для API-трафика пока нет.