# YandexGPT API (Yandex AI Studio): Подключиться через OpenAI-совместимый Responses API

Сценарий из mcp-everything. Актуально на 2026-10-24.

Если код уже написан под OpenAI — переключить его на модели Yandex AI Studio с минимальными правками.

1. Нужны роли ai.assistants.editor и ai.languageModels.user у сервисного аккаунта.
2. Отправь запрос: POST /v1/responses с model = gpt://<ID каталога>/<модель>, input — текстом запроса, temperature и max_output_tokens.
3. Текст ответа — в элементах output с type = output_text, поле text.
4. Через тот же API доступны и открытые модели (DeepSeek, Qwen, gpt-oss) — но часть из них доступна ограниченное время, проверяй список перед интеграцией.

```bash
curl -X POST https://ai.api.cloud.yandex.net/v1/responses \
  -H "Authorization: Api-Key $YANDEX_API_KEY" \
  -H 'Content-Type: application/json' \
  --max-time 60 \
  -d '{
        "model": "gpt://'"$YANDEX_FOLDER_ID"'/yandexgpt-5-lite",
        "temperature": 0.5,
        "max_output_tokens": 800,
        "input": "Придумай 3 названия для кофейни у вокзала."
      }'
```

## Базовые URL

- Боевой (Foundation Models API): `https://ai.api.cloud.yandex.net`
- Операции (результат асинхронных запросов): `https://operation.api.cloud.yandex.net`

## Авторизация

Тип: Bearer-токен

- IAM-токен (аккаунт на Яндексе, федеративный, локальный или сервисный аккаунт): `Authorization: Bearer <IAM-токен>`
- API-ключ (только сервисный аккаунт): `Authorization: Api-Key <API-ключ>`

Для генерации текста нужна роль `ai.languageModels.user` или выше; для Responses API — `ai.assistants.editor` и `ai.languageModels.user`.

## Методы сценария

### POST /v1/responses — Responses API (OpenAI-совместимый)

Текст ответа — в элементах с `"type": "output_text"` (поле `text`).

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `model` | body | string | да | URI модели gpt://<идентификатор_каталога>/<модель> |
| `input` | body | string | да | Запрос к модели |
| `temperature` | body | number | нет | Температура генерации |
| `max_output_tokens` | body | integer | нет | Лимит токенов в ответе |

Пример запроса:

```
curl \
--request POST https://ai.api.cloud.yandex.net/v1/responses \
--header "Authorization: Api-Key ${YANDEX_API_KEY}" \
--header "Content-Type: application/json" \
--max-time 60 \
--data '{
    "model": "gpt://'"${YANDEX_FOLDER_ID}"'/'"${YANDEX_MODEL}"'",
    "temperature": 0.8,
    "max_output_tokens": 1500,
    "input": "Придумай 3 необычные идеи для стартапа в сфере путешествий."
}'
```

## Нюансы

- Старые URI `.../yandexgpt/latest` и `.../yandexgpt/rc` работают до окончания поддержки; после этого запросы по устаревшему URI возвращают `400 Bad Request` — автоматического переключения на новую версию нет.
- Часть открытых моделей доступна ограниченное время (gpt-oss-120b и gpt-oss-20b — до 30 октября 2026 года); список проверяйте перед интеграцией.
- `maxTokens`, `dim` и счётчики токенов в ответах передаются строками (int64).
- Дообученные модели: `gpt://<идентификатор_каталога>/yandexgpt-lite/latest@<суффикс>`.

## Другие сценарии

- [Сгенерировать текст по запросу](https://mcp-everything.ru/integrations/yandexgpt/scenarios/sgenerirovat-tekst-po-zaprosu.md)
- [Извлечь данные из текста в JSON](https://mcp-everything.ru/integrations/yandexgpt/scenarios/izvlech-dannye-iz-teksta-v-json.md)
- [Обработать много запросов в асинхронном режиме](https://mcp-everything.ru/integrations/yandexgpt/scenarios/obrabotat-mnogo-zaprosov-v-asinhronnom.md)
- [Семантический поиск по своим текстам](https://mcp-everything.ru/integrations/yandexgpt/scenarios/semanticheskiy-poisk-po-svoim-tekstam.md)

---

Если этого недостаточно — официальная документация: https://aistudio.yandex.ru/ru/docs/ai-studio/
Вся интеграция одним документом: https://mcp-everything.ru/integrations/yandexgpt.md
