md-platform

shorts-integration.md
View raw Back to list

Shorts (Short-Form Videos) - Frontend Integration Guide

Overview

Short-form videos (Shorts) are regular videos with isShort: true. They use the existing video infrastructure for creation, editing, and interactions (reactions, comments, subscriptions, reports). Two new feed endpoints return only short videos.

What Changed

New field on all video responses

Every video DTO (VideoDto, ListVideoDto) now includes:

{
  "isShort": true | false
}

This field is present on all existing video endpoints — no changes needed to parse it.

New endpoints

Method Path Description
GET /client/v1/shorts Paginated shorts feed
GET /mobile/v1/shorts Paginated shorts feed (mobile)

Query parameters:

Param Type Default Description
page int required Page number
pageSize int 10 Items per page
channelId string? null Filter by channel

Response: Same Pagination<ListVideoDto> format as /client/v1/videos/vod.

{
  "items": [
    {
      "id": "abc123",
      "handle": "my-short-video",
      "name": "Quick Tutorial",
      "isShort": true,
      "type": 2,
      "status": 3,
      "duration": "00:00:45",
      "thumbnail": "https://...",
      "channel": { "id": "...", "name": "...", "handle": "...", "image": "..." },
      "metrics": { "likes": 0, "views": 0, ... }
    }
  ],
  "totalCount": 1
}

Studio (Creating/Managing Shorts)

Use the existing video endpoints — no separate studio routes for shorts.

Creating a short

POST /studio/v1/videos/ with isShort: true:

{
  "title": "My Short Video",
  "type": 2,
  "isShort": true,
  "scheduledAt": "2026-03-20T00:00:00Z",
  "visibility": 0,
  "downloadUrl": "https://...",
  "description": { "blocks": [] }
}

Editing/Deleting a short

Use the same endpoints as regular videos:

Listing shorts in studio

Use GET /studio/v1/videos/vod — the response now includes isShort on each item. Filter client-side, or use GET /studio/v1/videos/search?q=...&type=2 and filter by isShort.

Interactions

All interactions work through existing video endpoints — a short is just a video:

Action Endpoint
Get/create/delete reactions /client/v1/videos/{id}/reactions
Get/create/delete comments /client/v1/videos/{id}/comments
Get/create/delete subscriptions /client/v1/videos/{id}/subscriptions
Report POST /client/v1/videos/{id}/reports
Watch single short GET /client/v1/videos/{id}
Short details GET /client/v1/videos/{id}/details

Key Points