Справочник по 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-трафика пока нет.