# Short Videos API Short videos are now separated from regular videos in studio and admin endpoints. Existing list/search endpoints no longer return shorts. Use the dedicated endpoints below to manage short videos. ## Studio Short Videos ### `GET /studio/v1/videos/shorts` Returns a paginated list of short videos for the authenticated creator's channel. **Auth:** Requires creator authorization. **Query Parameters:** | Parameter | Type | Required | Default | Description | |------------|----------|----------|---------|--------------------------| | `page` | `int` | Yes | - | Page number (1-based) | | `pageSize` | `int` | No | `10` | Items per page | | `q` | `string` | No | `null` | Search by name/description | **Example Request:** ``` GET /studio/v1/videos/shorts?page=1&pageSize=10 GET /studio/v1/videos/shorts?page=1&q=highlights ``` **Response:** ```json { "items": [ { "id": "abc123", "name": "My Short Video", "thumbnailUrl": "https://...", "status": 0, "visibility": 0, "createdAt": "2026-03-20T12:00:00Z" } ], "totalCount": 25 } ``` The response DTO is `SearchStudioListVideoDto` -- the same type returned by `GET /studio/v1/videos/search`. --- ## Admin Short Videos ### `GET /admin/v1/videos/shorts` Returns a paginated list of all short videos across all channels. **Auth:** Requires admin authorization. **Query Parameters:** | Parameter | Type | Required | Default | Description | |------------|----------|----------|---------|------------------------------------| | `page` | `int` | Yes | - | Page number (1-based) | | `pageSize` | `int` | Yes | - | Items per page | | `q` | `string` | No | `null` | Search by video name, channel name, or video ID | **Example Request:** ``` GET /admin/v1/videos/shorts?page=1&pageSize=10 GET /admin/v1/videos/shorts?page=1&pageSize=10&q=channelname ``` **Response:** ```json { "items": [ { "id": "abc123", "name": "My Short Video", "channelName": "Some Channel", "status": 0, "createdAt": "2026-03-20T12:00:00Z" } ], "totalCount": 42 } ``` The response DTO is `AdminListVideoDto` -- the same type returned by `GET /admin/v1/videos/`. --- ## Breaking Changes The following existing endpoints now **exclude** short videos (`IsShort = true`): | Endpoint | Effect | |---------------------------------------|---------------------------------| | `GET /studio/v1/videos/search` | Shorts excluded from results | | `GET /studio/v1/videos/vod` | Shorts excluded from VOD list | | `GET /admin/v1/videos/` | Shorts excluded from admin list | If your frontend previously displayed shorts from these endpoints, migrate to the new `/shorts` endpoints above.