Skip to main content
GET
/
v1
/
video
/
list
curl -X GET "https://api.slidevid.ai/v1/video/list?type=all&status=completed&limit=50" \
  -H "x-api-key: your_api_key_here"
{
  "success": true,
  "data": {
    "videos": [
      {
        "id": "vid_abc123",
        "name": "Product Tutorial",
        "status": "COMPLETED",
        "url": "https://signed-s3-url.example.com/videos/vid_abc123.mp4",
        "durationInFrames": 6250,
        "projectId": "proj_class_001",
        "thumbnail": "https://cdn.slidevid.ai/thumbnails/vid_abc123.jpg",
        "size": 15728640,
        "progress": 100,
        "message": "Video ready",
        "createdAt": "2024-01-15T10:00:00Z",
        "updatedAt": "2024-01-15T10:05:00Z"
      },
      {
        "id": "vid_def456",
        "name": "Social Media Clip",
        "status": "COMPLETED",
        "url": "https://signed-s3-url.example.com/videos/vid_def456.mp4",
        "durationInFrames": 3750,
        "projectId": "proj_ugc_ads_002",
        "thumbnail": "https://cdn.slidevid.ai/thumbnails/vid_def456.jpg",
        "size": 9437184,
        "progress": 100,
        "message": "Video ready",
        "createdAt": "2024-01-15T11:00:00Z",
        "updatedAt": "2024-01-15T11:03:00Z"
      }
    ],
    "total": 2,
    "limit": 50,
    "offset": 0
  }
}

Overview

This endpoint returns all videos extracted from your projects (excludes templates). It intelligently fetches videos from multiple projects until reaching your requested limit. Each video includes detailed metadata like duration in frames, download URL, and processing status.
Videos are extracted from projects in order. The endpoint will fetch videos from multiple projects to reach your requested limit, or return fewer if no more are available.

Query Parameters

type
string
default:"all"
Filter by project/video type:
  • class: Educational videos
  • ugc_ads: UGC advertising
  • ugc_video: UGC videos
  • script_to_video: Script to Videos
  • hook_demo: Hook + Demo
  • tiktok_slideshow: TikTok slideshows
  • all: All video types (default)
status
string
Filter by video status:
  • draft: Draft videos
  • processing: Currently processing
  • completed: Completed videos
  • failed: Failed videos
limit
number
default:"50"
Maximum number of videos to return (max: 100). The endpoint will fetch from multiple projects until reaching this limit or until no more videos are available.
offset
number
default:"0"
Pagination offset for projects
curl -X GET "https://api.slidevid.ai/v1/video/list?type=all&status=completed&limit=50" \
  -H "x-api-key: your_api_key_here"
{
  "success": true,
  "data": {
    "videos": [
      {
        "id": "vid_abc123",
        "name": "Product Tutorial",
        "status": "COMPLETED",
        "url": "https://signed-s3-url.example.com/videos/vid_abc123.mp4",
        "durationInFrames": 6250,
        "projectId": "proj_class_001",
        "thumbnail": "https://cdn.slidevid.ai/thumbnails/vid_abc123.jpg",
        "size": 15728640,
        "progress": 100,
        "message": "Video ready",
        "createdAt": "2024-01-15T10:00:00Z",
        "updatedAt": "2024-01-15T10:05:00Z"
      },
      {
        "id": "vid_def456",
        "name": "Social Media Clip",
        "status": "COMPLETED",
        "url": "https://signed-s3-url.example.com/videos/vid_def456.mp4",
        "durationInFrames": 3750,
        "projectId": "proj_ugc_ads_002",
        "thumbnail": "https://cdn.slidevid.ai/thumbnails/vid_def456.jpg",
        "size": 9437184,
        "progress": 100,
        "message": "Video ready",
        "createdAt": "2024-01-15T11:00:00Z",
        "updatedAt": "2024-01-15T11:03:00Z"
      }
    ],
    "total": 2,
    "limit": 50,
    "offset": 0
  }
}

Video Status

Each video has one of these statuses:
Video is created but not yet processing
Video is currently being generated (usually 2-5 minutes)
Video is ready! Download URL is available
Video generation failed - check the message field for details

Pagination

For large video lists, use pagination:
Pagination Example
async function getAllVideos() {
  const allVideos = [];
  let offset = 0;
  const limit = 100;
  
  while (true) {
    const response = await fetch(
      `https://api.slidevid.ai/v1/video/list?limit=${limit}&offset=${offset}`,
      { headers: { 'x-api-key': API_KEY } }
    );
    
    const { videos, total } = await response.json().data;
    allVideos.push(...videos);
    
    if (allVideos.length >= total) break;
    offset += limit;
  }
  
  return allVideos;
}

Use Cases

Dashboard View

Build a video management dashboard

Status Monitoring

Track video processing status

Analytics

Analyze video creation trends

Bulk Operations

Manage multiple videos at once

Filtering Examples

# Get all completed videos
curl "https://api.slidevid.ai/v1/video/list?status=completed" \
  -H "x-api-key: your_api_key_here"

Authorizations

x-api-key
string
header
required

Query Parameters

type
enum<string>
default:all

Filter by project/video type. Use 'all' to get videos from all project types.

Available options:
class,
ugc_ads,
ugc_video,
script_to_video,
hook_demo,
tiktok_slideshow,
all
status
enum<string>

Filter by video status

Available options:
draft,
processing,
completed,
failed
limit
integer
default:50

Maximum number of projects to fetch (results will include all videos from those projects)

Required range: x <= 100
offset
integer
default:0

Pagination offset for projects

Response

200 - application/json

Videos retrieved successfully

success
boolean
Example:

true

data
object