# GET /models

Каталог моделей с регионами, ценами в PnP, контекстом и возможностями. Ключ не нужен.

`GET /api/v1/models`

Возвращает все модели, которые можно вызвать сейчас. API-ключ не нужен; список кешируется на 60 секунд, лимит — 120 запросов в минуту с одного IP-адреса.

## Ответ

```json
{
  "data": [
    {
      "id": "google/gemma-3-4b-it",
      "name": "Google: Gemma 3 4B",
      "description": "…",
      "context_length": 131072,
      "architecture": { "input_modalities": ["text", "image"], "output_modalities": ["text"], "modality": "text+image->text" },
      "pricing": { "prompt": "0.0000000176", "completion": "0.0000000704", "request": "0", "input_cache_read": "0" },
      "pricing_currency": "PnP",
      "top_provider": { "context_length": 131072, "max_completion_tokens": 8192 },
      "supported_parameters": ["max_tokens", "temperature", "top_p", "stop", "response_format"],
      "routes": [
        {
          "provider": "global",
          "pricing": { "prompt": "0.0000000176", "completion": "0.0000000704", "request": "0", "input_cache_read": "0" },
          "context_length": 131072,
          "max_completion_tokens": 8192,
          "zdr": true
        }
      ]
    }
  ]
}
```

| Поле                                                        |                                                                                                                            |
| ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `id`                                                        | ID, который передается в `model`.                                                                                          |
| `context_length`                                            | Сколько входных и выходных токенов модель принимает вместе.                                                                |
| `architecture.input_modalities`                             | Что принимает модель: `text`, `image`, `file`, `audio`, `video`.                                                           |
| `pricing`                                                   | PnP за токен (`prompt`, `completion`, `input_cache_read`) и за запрос (`request`) с учетом наценки: самый дешевый маршрут. |
| `supported_parameters`                                      | Поля запроса, которые поддерживает модель.                                                                                 |
| `routes[].provider`                                         | Регион: `global` или `ru`.                                                                                                 |
| `routes[].pricing`                                          | Цены маршрута.                                                                                                             |
| `routes[].context_length`, `routes[].max_completion_tokens` | Контекст и лимит ответа маршрута.                                                                                          |
| `routes[].zdr`                                              | `true`, если у маршрута есть эндпоинт без хранения данных, см. [Без хранения данных (ZDR)](/docs/ru/zero-data-retention).  |

## Пример

```bash
curl -s https://router.nodul.ru/api/v1/models | jq '.data[] | {id, prompt: .pricing.prompt}'
```
