# Модели

`GET /v1/models`

`GET /v1/models/{id}`

Модели для чата и эмбеддингов с ценами. У модели одна цена, какой бы провайдер ни ответил. В поле model передавайте id: разработчик/модель или только модель, например `gpt-5.6-sol`, если это имя есть у одного разработчика. Иначе ответ 404 `model_not_found` с подсказкой полных id. В ответе model всегда полный id.

- `id` (string) — Имя для поля model, например `openai/gpt-6.1-sol`
- `name` (string) — Название для людей
- `owned_by` (string) — Разработчик, часть id до косой черты
- `created` (integer) — Всегда 0, для сортировки не годится
- `kind` (string) — `chat` для Chat Completions и Responses, `embedding` для Embeddings. Запрос к модели не того kind даёт 404 `model_not_found`. Модели для изображений: `GET /v1/tasks/models`
- `context_length` (integer | null) — Контекст в токенах, null, если неизвестен
- `input_modalities` (array) — `["text"]` или `["text", "image"]`: принимает ли модель изображения в Chat Completions и Responses
- `pricing` (object) — Рубли за 1 млн токенов, числами: `input` за вход, `cached` за вход из кэша, `output` за ответ. `unit` всегда `RUB/1M`

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

```bash
curl https://api.polyapi.ru/v1/models \
  -H "Authorization: Bearer $POLYAPI_KEY"

# одна модель
curl https://api.polyapi.ru/v1/models/openai/gpt-6.1-sol \
  -H "Authorization: Bearer $POLYAPI_KEY"
```

**Ответ**

```json
{
  "object": "list",
  "data": [
    {
      "id": "openai/gpt-6.1-sol",
      "object": "model",
      "created": 0,
      "owned_by": "openai",
      "kind": "chat"
    }
  ]
}
```

Те же модели и цены без ключа: `https://polyapi.ru/api/catalog`. Формат другой: цены в `price.in`, `price.cached`, `price.out` строками, модели для изображений — в `image_models`.

Источник: https://polyapi.ru/docs/models
