# История генераций в медиа-разделе

## Запрос

```
GET /api/v1/api/media/generations/
Authorization: Bearer <access_token>
```

### Query-параметры

| Параметр    | Обязательный | По умолчанию | Описание |
|-------------|--------------|--------------|----------|
| `store`     | да           | —            | Тип раздела: `image`, `video`, `audio`, `voice_clone` |
| `page_size` | нет          | 10           | Размер страницы (макс. 50) |
| `cursor`    | нет          | —            | Есть в `next`/`previous`  |

Первая страница:

```
GET /api/v1/api/media/generations/?store=image
GET /api/v1/api/media/generations/?store=image&page_size=20
```

## Пример ответа `200`

Запрос:

```
GET /api/v1/api/media/generations/?store=image&page_size=2
```

Ответ:

```json
{
  "next": "https://api.example.com/api/v1/api/media/generations/?cursor=cD0yMDI2LTA3LTE2KzE3JTNBMjAlM0EyNi41Nzk2MDMlMkIwMCUzQTAw&page_size=2&store=image",
  "previous": null,
  "results": [
    {
      "uid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "content": "кот в космосе",
      "file": "https://cdn.example.com/messages/flux_42.png",
      "from_model": true,
      "created_at": "2026-07-16T17:20:26+03:00",
      "elapsed_time": "0:00:12",
      "is_favourite": false,
      "is_sent": true,
      "info": {},
      "model": "flux"
    },
    {
      "uid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "content": "портрет в стиле аниме",
      "file": "https://cdn.example.com/messages/midjourney_42.png",
      "from_model": true,
      "created_at": "2026-07-16T16:20:26+03:00",
      "elapsed_time": "0:00:18",
      "is_favourite": true,
      "is_sent": true,
      "info": {},
      "model": "midjourney"
    }
  ]
}
```

Следующая страница — GET на значение `next`:

```
GET https://api.example.com/api/v1/api/media/generations/?cursor=cD0yMDI2LTA3LTE2KzE3JTNBMjAlM0EyNi41Nzk2MDMlMkIwMCUzQTAw&page_size=2&store=image
```

Последняя страница (`next: null`, есть `previous`):

```json
{
  "next": null,
  "previous": "https://api.example.com/api/v1/api/media/generations/?cursor=cD0yMDI2LTA3LTE2KzIyJTNBMjAlM0EyNi41Nzk2MDMlMkIwMCUzQTAwJnI9VHJ1ZSZvPTE%3D&page_size=2&store=image",
  "results": [
    {
      "uid": "c3d4e5f6-a7b8-9012-cdef-123456789012",
      "content": "закат над горами",
      "file": "https://cdn.example.com/messages/flux_41.png",
      "from_model": true,
      "created_at": "2026-07-15T18:00:00+03:00",
      "elapsed_time": "0:00:10",
      "is_favourite": false,
      "is_sent": true,
      "info": {},
      "model": "flux"
    }
  ]
}
```

Пустой раздел:

```json
{
  "next": null,
  "previous": null,
  "results": []
}
```

Сортировка: по `created_at` убыванию (сначала новые).
