ym88659208ym87991671
GigaChat API | Документация для разработчиков

GigaChat API

Обновлено 16 декабря 2024

Справочная документация по REST API нейросетевой модели GigaChat.

О стоимости и условиях использования GigaChat API вы можете узнать в разделе Тарифы и оплата.

Получение токена доступа и авторизация запросов

Запросы к GigaChat API передаются по адресу https://gigachat.devices.sberbank.ru/ и авторизуются с помощью токена доступа по протоколу OAuth 2.0. Токен доступа передается в заголовке Authorization:

curl -L -X GET 'https://gigachat.devices.sberbank.ru/api/v1/models' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <токен_доступа>'

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

Для обращения к моделям в раннем доступе передавайте запросы по адресу https://gigachat-preview.devices.sberbank.ru/.

Чтобы получить токен, отправьте запрос POST /api/v2/oauth:

curl -L -X POST 'https://ngw.devices.sberbank.ru:9443/api/v2/oauth' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Accept: application/json' \
-H 'RqUID: <идентификатор_запроса>' \
-H 'Authorization: Basic ключ_авторизации' \
--data-urlencode 'scope=GIGACHAT_API_PERS'

Где:

  • RqUID — обязательный заголовок, в котором нужно передать уникальный идентификатор запроса в формате uuid4. Идентификатор нужно указать самостоятельно, для этого можно использовать стандартные библиотеки и классы для генерации UUID и GUID.
  • Authorization — обязательный заголовок, в котором нужно передать ключ авторизации — строку, полученную в результате кодирования в base64 идентификатора (Client ID) и клиентского ключа (Client Secret) API.
  • scope — обязательное поле в теле запроса, которое указывает к какой версии API выполняется запрос. Возможные значения:
    • GIGACHAT_API_PERS — доступ для физических лиц.
    • GIGACHAT_API_B2B — доступ для ИП и юридических лиц по платным пакетам.
    • GIGACHAT_API_CORP — доступ для ИП и юридических лиц по схеме pay-as-you-go.

При успешном выполнении запроса GigaChat API вернет токен доступа, который действует в течение 30 минут:

{
"access_token": "eyJhbGci3iJkaXIiLCJlbmMiOiJBMTI4R0NNIiwidHlwIjoiSldUIn0..Dx7iF7cCxL8SSTKx.Uu9bPK3tPe_crdhOJqU3fmgJo_Ffvt4UsbTG6Nn0CHghuZgA4mD9qiUiSVC--okoGFkjO77W.vjYrk3T7vGM6SoxytPkDJw",
"expires_at": 1679471442
}

Запросы на получение токена можно отправлять до 10 раз в секунду.

Как получить ключ авторизации и токен доступа Access token читайте в разделах Быстрый старт для физических лиц и Быстрый старт для ИП и юридических лиц.

Обращение к моделям в раннем доступе

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

Для обращения к таким моделям используйте адрес https://gigachat-preview.devices.sberbank.ru/, а к названию модели, которое передается в поле model, добавьте постфикс -preview.

Подробнее — в разделе Модели GigaChat.

Authentication

Базовая (Basic) аутентификация с помощью ключа авторизации — строки, полученной в результате кодирования в base64 идентификатора (Client ID) и клиентского ключа (Client Secret) API.

Ключ авторизации передается в заголовке Authorization, в запросе на получение токена доступа.

Как получить ключ авторизации и токен доступа Access token читайте в разделах Быстрый старт для физических лиц и Быстрый старт для ИП и юридических лиц.

Security Scheme Type:http
HTTP Authorization Scheme:basic
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.