GPT Chat — нейросеть без VPN в Беларуси и России

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

REST API для работы с чат-ботами и RAG-системой. Совместимо с OpenAI Chat Completions.

Начните с создания API ключа
Все запросы авторизуются Bearer-токеном. Сгенерируйте ключ в личном кабинете и подставьте его в заголовок Authorization.
Авторизация

Все запросы используют Bearer-токен. Управление ключами — на странице API Ключи .

Authorization: Bearer YOUR_API_KEY
Формат ошибок

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

{
  "message": "Запрос отправлен к модели `nope/nope`, которой нет, проверьте на сайте поддерживаемые модели https://gpt-chat.by/pricing",
  "errors": [
    { "field": "model", "message": "Запрос отправлен к модели `nope/nope`, которой нет..." }
  ]
}
КодКогда
400
Неверный запрос: неизвестная модель, пустой или слишком длинный промпт, неподдерживаемый файл, нарушение любых ограничений полей
401
Нет заголовка Authorization, ключ не найден, отозван или просрочен
402
Не хватает баланса на оценочную стоимость запроса. В теле есть balance, estimatedCost и shortfall
403
Ключ есть, но доступа к этому ресурсу нет
404
Объект не найден: чужая или удалённая коллекция, истёкшая задача генерации
429
Слишком часто. Действует на распознавание речи, презентации и разбор брендбука
500
Ошибка на нашей стороне — запрос можно повторить
Формирование сообщений

Запросы строятся на основе массива messages. Каждое сообщение имеет role (system/user/assistant) и content.

curl https://api.gpt-chat.by/api/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "google/gemma-4",
    "messages": [
      {"role": "user", "content": "Привет! Как дела?"}
    ]
  }'

Пример ответа

{
  "id": "chatcmpl-123",
  "choices": [{
    "message": {
      "role": "assistant",
      "content": "Привет! У меня всё отлично, чем могу помочь?"
    }
  }]
}

Эндпоинты

GET
https://api.gpt-chat.by/api/ai-models
Каталог моделей

Единственный достоверный источник слагов для параметра model: сейчас в каталоге 52 чат-моделей. Авторизация не нужна. Каталоги по типам генерации лежат на отдельных путях: /api/ai-models/images — генерация и редактирование картинок (18), /api/ai-models/videos — видео (20), /api/ai-models/audio — озвучка и музыка (7), /api/ai-models/transcribe — распознавание речи. Слаги из разных каталогов не взаимозаменяемы: модель для /chat/video не подойдёт для /chat/completions.

Параметры запроса

Параметры отсутствуют

Ответы

POST
https://api.gpt-chat.by/api/chat/completions
Chat completions

Отправляет сообщения в AI модель и возвращает ответ. Совместимо с OpenAI Chat Completions API. Перед вашими сообщениями сервис подставляет свой системный промпт: он просит модель рассуждать по-английски, а отвечать на языке пользователя (по умолчанию — русском), и при enableSearch=true добавляет текущую дату с требованием брать факты из результатов поиска. Этот промпт входит в prompt_tokens (~30 токенов) и не отключается — если нужен другой язык ответа, задайте его своим сообщением с role=system или прямо в тексте запроса.

Параметры запроса

json/body
ПараметрТипОбязательныйПо умолчаниюОписание
messagesarray
required
—Массив сообщений, формирующих диалог. Поддерживает текст, изображения и вызов инструментов.
modelstring — google/gemma-4Слаг модели AI (например, google/gemma-4, anthropic/claude-opus-latest, openai/gpt-5.6-sol). Полный список слагов — на /pricing или через GET /api/ai-models.
collectionIduuid — —Идентификатор коллекции RAG для использования ваших документов
temperaturenumber — 0.1Температура генерации (0.1 — 1.0)
streamboolean — falseИспользовать потоковую передачу данных. Ответ идёт как text/event-stream: строки «data: {чанк}», последний чанк несёт usage, поток закрывается строкой «data: [DONE]»
thinkingboolean — falseВключить режим глубоких размышлений (для поддерживаемых моделей)
enableSearchboolean — falseВключить поиск в интернете перед ответом (для поддерживаемых моделей)
searchOptionsobject — nullНастройки веб-поиска: max_results (1–10, по умолчанию 10), engine (native | exa | parallel | perplexity — по умолчанию perplexity: поиск делает поисковый API, а отвечает выбранная вами модель), search_prompt
assistantIduuid — —Идентификатор вашего кастомного ассистента (персоны) — подставляет его системный промпт
useMemoryboolean — trueИспользовать долговременную память пользователя и сохранённые инструкции в контексте ответа
imageConfigobject — —Настройки выходной картинки для chat-capable image-моделей. Объект с полями aspect_ratio (1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9) и image_size (0.5K, 1K, 2K, 4K). modalities выставляются автоматически по модели.
toolsarray — —Список инструментов (функций), которые может вызывать модель

Ответы

POST
https://api.gpt-chat.by/api/chat/image
Сгенерировать изображение

Стоимость зависит от выбранной модели (обычно ~$0.04–0.20 за изображение). Списывается с баланса.

Параметры запроса

json/body
ПараметрТипОбязательныйПо умолчаниюОписание
promptstring
required
—Текстовое описание желаемого изображения (1—2000 символов)
modelstring — google/gemini-2.5-flash-imageСлаг image-модели: google/gemini-2.5-flash-image, google/gemini-3-flash-image, google/gemini-3.1-flash-image-preview, openai/gpt-5.4-image-2 и др.
aspectRatiostring — —Соотношение сторон: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9. Если не указано — решает модель.
imageSizestring — —Разрешение: 1K, 2K, 4K. Зависит от модели (для google/gemini-2.5-flash-image доступно только 1K).

Ответы

POST
https://api.gpt-chat.by/api/chat/image/edit
Отредактировать изображение

Принимает одно (image) или несколько (images[], до 3) исходных изображений и текстовое описание правки. Стоимость ~$0.11.

Параметры запроса

multipart/form-data
ПараметрТипОбязательныйПо умолчаниюОписание
promptstring
required
—Описание правки (5—600 символов)
imagefile
на выбор
—Одно исходное изображение (JPG, PNG, WebP), максимум 10 МБ
images[]file[]
на выбор
—Несколько исходных изображений (JPG, PNG, WebP), до 3 файлов, каждый ≤10 МБ. Используйте вместо image для мультиизображений.
modelstring — google/gemini-2.5-flash-imageСлаг image-модели для редактирования

Ответы

POST
https://api.gpt-chat.by/api/chat/video
Сгенерировать видео

Возвращает taskId для поллинга через GET /api/chat/video/status/{taskId}. Длительность, разрешение и стоимость зависят от выбранной модели.

Параметры запроса

json/body
ПараметрТипОбязательныйПо умолчаниюОписание
promptstring
required
—Текстовое описание видео (1—2000 символов)
modelstring — alibaba/wan-2.6Слаг видео-модели: alibaba/wan-2.6, alibaba/wan-2.7, google/veo-3.1, google/veo-3.1-fast, bytedance/seedance-1-5-pro, bytedance/seedance-2.0, bytedance/seedance-2.0-fast, black-forest-labs/flux-3-video, openai/sora-2-pro, kwaivgi/kling-v3.0-pro, kwaivgi/kling-v3.0-std, x-ai/grok-imagine-video.
resolutionstring — —Разрешение: 480p, 720p, 1080p. Набор зависит от модели; если не указано — берётся дефолт модели.
durationinteger — —Длительность в секундах. Допустимые значения зависят от модели; если не указано — дефолт модели.

Ответы

POST
https://api.gpt-chat.by/api/chat/video/image
Видео из изображения

Принимает исходное изображение и описание движения. Возвращает taskId для поллинга. Стоимость зависит от выбранной модели.

Параметры запроса

multipart/form-data
ПараметрТипОбязательныйПо умолчаниюОписание
imagefile
required
—Исходный файл (JPG, PNG, WebP), максимум 10 МБ
promptstring
required
—Описание желаемого движения/анимации (5—600 символов)
modelstring — alibaba/wan-2.6Слаг видео-модели с поддержкой image-to-video: alibaba/wan-2.6, alibaba/wan-2.7, google/veo-3.1, google/veo-3.1-fast, bytedance/seedance-1-5-pro, bytedance/seedance-2.0, black-forest-labs/flux-3-video, openai/sora-2-pro, kwaivgi/kling-v3.0-pro и др.
resolutionstring — —Разрешение: 480p, 720p, 1080p. Набор зависит от модели; если не указано — дефолт модели.
durationinteger — —Длительность в секундах. Допустимые значения зависят от модели; если не указано — дефолт модели.

Ответы

GET
https://api.gpt-chat.by/api/chat/video/status/{taskId}
Статус видео-задачи

Поллинг задачи. Когда status="done", в первом ответе вернётся HTTPS-ссылка на mp4 и обновлённый баланс. Дальше задача считается доставленной.

Параметры запроса

path/string
ПараметрТипОбязательныйПо умолчаниюОписание
taskIdstring
required
—Идентификатор задачи, полученный при вызове /chat/video или /chat/video/image

Ответы

POST
https://api.gpt-chat.by/api/chat/voice/transcribe
Распознать речь

Принимает короткое аудио (≤1 МБ, ~60 секунд). Rate-limited.

Параметры запроса

multipart/form-data
ПараметрТипОбязательныйПо умолчаниюОписание
voicefile
required
—Аудиофайл (webm, ogg, mp3, wav, mp4, m4a), максимум 1 МБ

Ответы

POST
https://api.gpt-chat.by/api/chat/audio
Сгенерировать аудио

Озвучивает текст или генерирует аудио по описанию. Возвращает аудио как data-URL и ссылку на файл, а также транскрипт. Списывает баланс согласно длительности и модели.

Параметры запроса

json/body
ПараметрТипОбязательныйПо умолчаниюОписание
promptstring
required
—Текст для озвучивания или описание для генерации аудио (от 1 до 4000 символов)
modelstring — openai/gpt-audio-miniМодель озвучки: openai/gpt-audio-mini, openai/gpt-audio, google/gemini-3.1-flash-tts-preview, hexgrad/kokoro-82m, mistralai/voxtral-mini-tts-2603; музыка: google/lyria-3-*
voicestring — alloyГолос озвучивания для моделей OpenAI: alloy, ash, ballad, coral, echo, fable, onyx, nova, sage, shimmer, verse. Если не указан — используется alloy
durationnumber — 30Длительность аудио в секундах (до 300; для каждой модели свой максимум)
formatstring — mp3Формат выходного аудио: mp3, wav, opus, flac
imageUrlurl — —Ссылка на изображение-референс (поддерживается только моделями Google Lyria)

Ответы

POST
https://api.gpt-chat.by/api/chat/file/extract
Извлечь текст из файла

Принимает документ и возвращает извлечённый текст. Текст обрезается до 200 000 символов.

Параметры запроса

multipart/form-data
ПараметрТипОбязательныйПо умолчаниюОписание
filefile
required
—Документ: pdf, doc, docx, odt, rtf, fb2, pptx, ppt, odp, csv, tsv, xls, xlsx, ods, txt, md, markdown, json, xml, yaml, yml, log, cs, py, js, mjs, ts, tsx, jsx, vue, php, java, kt, swift, go, rb, rs, c, cpp, h, hpp, sql, sh, bash, ps1, css, scss, less, ini, toml, conf, html, htm. Максимум 50 МБ

Ответы

POST
https://api.gpt-chat.by/api/rag/collections
RAG: создать коллекцию

Создаёт новую коллекцию — папку раздела «Мои файлы», по документам которой модель будет отвечать (дообучения модели не происходит)

Параметры запроса

json/body
ПараметрТипОбязательныйПо умолчаниюОписание
namestring
required
—Название коллекции

Ответы

GET
https://api.gpt-chat.by/api/rag/collections
RAG: список коллекций

Возвращает список всех коллекций текущего пользователя

Параметры запроса

Параметры отсутствуют

Ответы

GET
https://api.gpt-chat.by/api/rag/collections/{collectionId}
RAG: получить коллекцию

Возвращает информацию о конкретной коллекции

Параметры запроса

path/string
ПараметрТипОбязательныйПо умолчаниюОписание
collectionIduuid
required
—Идентификатор коллекции

Ответы

PUT
https://api.gpt-chat.by/api/rag/collections/{collectionId}
RAG: изменить коллекцию

Обновляет название коллекции и, при необходимости, привязывает Telegram-бота

Параметры запроса

json/body + path/string
ПараметрТипОбязательныйПо умолчаниюОписание
collectionIduuid
required
—Идентификатор коллекции
namestring — —Новое название коллекции
telegramTokenstring — —Токен Telegram-бота вида <bot_id>:<token> для отправки уведомлений

Ответы

DELETE
https://api.gpt-chat.by/api/rag/collections/{collectionId}
RAG: удалить коллекцию

Удаляет коллекцию и все связанные с ней документы

Параметры запроса

path/string
ПараметрТипОбязательныйПо умолчаниюОписание
collectionIduuid
required
—Идентификатор коллекции

Ответы

POST
https://api.gpt-chat.by/api/rag/collections/{collectionId}/documents
RAG: загрузить документ

Добавляет новый документ в указанную коллекцию

Параметры запроса

multipart/form-data + path/string
ПараметрТипОбязательныйПо умолчаниюОписание
collectionIduuid
required
—Идентификатор коллекции
urlurl
на выбор
—Ссылка на интернет ресурс (имя документа берётся из URL)
filefile
на выбор
—Файл: pdf, doc, docx, odt, rtf, fb2, pptx, ppt, odp, csv, tsv, xls, xlsx, ods, txt, md, markdown, json, xml, yaml, yml, log, cs, py, js, mjs, ts, tsx, jsx, vue, php, java, kt, swift, go, rb, rs, c, cpp, h, hpp, sql, sh, bash, ps1, css, scss, less, ini, toml, conf, html, htm. Максимум 50 MB (имя документа берётся из имени файла)

Ответы

DELETE
https://api.gpt-chat.by/api/rag/collections/{collectionId}/documents/{documentId}
RAG: удалить документ

Удаляет конкретный документ из коллекции

Параметры запроса

json/body + path/string
ПараметрТипОбязательныйПо умолчаниюОписание
collectionIduuid
required
—Идентификатор коллекции
documentIduuid
required
—Идентификатор документа

Ответы

GET
https://api.gpt-chat.by/api/assistants
Ассистенты: список

Возвращает ассистентов (персон) аккаунта. Поле id отсюда подставляется в параметр assistantId у POST /api/chat/completions.

Параметры запроса

Параметры отсутствуют

Ответы

POST
https://api.gpt-chat.by/api/assistants
Ассистенты: создать

Создаёт персону с собственным системным промптом.

Параметры запроса

json/body
ПараметрТипОбязательныйПо умолчаниюОписание
namestring
required
—Название ассистента
systemPromptstring
required
—Системный промпт персоны
descriptionstring — —Короткое описание
modelstring — —Модель по умолчанию (слаг из GET /api/ai-models)
iconstring — —Имя иконки для интерфейса

Ответы

PUT
https://api.gpt-chat.by/api/assistants/{assistantId}
Ассистенты: изменить

Полностью перезаписывает поля ассистента. Чужой id даёт 404.

Параметры запроса

json/body + path/string
ПараметрТипОбязательныйПо умолчаниюОписание
assistantIduuid
required
—Идентификатор ассистента
namestring
required
—Название ассистента
systemPromptstring
required
—Системный промпт персоны

Ответы

DELETE
https://api.gpt-chat.by/api/assistants/{assistantId}
Ассистенты: удалить

Удаляет персону аккаунта.

Параметры запроса

path/string
ПараметрТипОбязательныйПо умолчаниюОписание
assistantIduuid
required
—Идентификатор ассистента

Ответы

GET
https://api.gpt-chat.by/api/profile/memory
Память: список

Факты и инструкции, которые подмешиваются в контекст при useMemory=true в POST /api/chat/completions.

Параметры запроса

Параметры отсутствуют

Ответы

POST
https://api.gpt-chat.by/api/profile/memory
Память: добавить

Добавляет факт или инструкцию в долговременную память аккаунта.

Параметры запроса

json/body
ПараметрТипОбязательныйПо умолчаниюОписание
contentstring
required
—Текст записи

Ответы

DELETE
https://api.gpt-chat.by/api/profile/memory/{memoryId}
Память: удалить

Удаляет одну запись долговременной памяти.

Параметры запроса

path/string
ПараметрТипОбязательныйПо умолчаниюОписание
memoryIduuid
required
—Идентификатор записи

Ответы