Skip to main content
GET
/
v1
/
video
/
list
curl -X GET "https://api.slidevid.ai/v1/video/list?status=completed&limit=10" \
  -H "x-api-key: your_api_key_here"
{
  "success": true,
  "data": {
    "videos": [
      {
        "id": "proj_abc123",
        "videoId": "proj_abc123",
        "name": "Product Tutorial",
        "type": "class",
        "status": "completed",
        "thumbnail": "https://cdn.tryslidevid.ai/thumbnails/abc123.jpg",
        "progress": 100,
        "message": "Video completed successfully",
        "avatarId": "avatar_sarah_01",
        "avatarMode": "library",
        "voiceId": "tzX5paJ07p5hyWFcU3uG",
        "voiceMode": "library",
        "musicId": "1",
        "musicMode": "library",
        "videoSettings": {
          "aspectRatio": "ratio_9_16",
          "caption": {
            "disabled": false,
            "preset": "classic"
          }
        },
        "script": "Hello! Welcome to this tutorial...",
        "createdAt": "2024-01-15T10:00:00Z",
        "updatedAt": "2024-01-15T10:05:00Z",
        "usedCredits": 5
      }
    ],
    "total": 1,
    "limit": 50,
    "offset": 0
  }
}

Overview

This endpoint returns all videos (projects) you’ve created, excluding templates. Use this to retrieve your video history, check statuses, and manage your content.
This endpoint only returns regular videos. For templates, use List Templates.

Query Parameters

type
string
Filter by video type:
  • class: Educational videos
  • ugc_ads: UGC advertising
  • ugc_video: UGC videos
  • ai_short: AI shorts
  • hook_demo: Hook + Demo
  • tiktok_slideshow: TikTok slideshows
status
string
Filter by status:
  • draft: Draft videos
  • processing: Currently processing
  • completed: Completed videos
  • failed: Failed videos
limit
number
default:"50"
Number of results (max: 100)
offset
number
default:"0"
Pagination offset
curl -X GET "https://api.slidevid.ai/v1/video/list?status=completed&limit=10" \
  -H "x-api-key: your_api_key_here"
{
  "success": true,
  "data": {
    "videos": [
      {
        "id": "proj_abc123",
        "videoId": "proj_abc123",
        "name": "Product Tutorial",
        "type": "class",
        "status": "completed",
        "thumbnail": "https://cdn.tryslidevid.ai/thumbnails/abc123.jpg",
        "progress": 100,
        "message": "Video completed successfully",
        "avatarId": "avatar_sarah_01",
        "avatarMode": "library",
        "voiceId": "tzX5paJ07p5hyWFcU3uG",
        "voiceMode": "library",
        "musicId": "1",
        "musicMode": "library",
        "videoSettings": {
          "aspectRatio": "ratio_9_16",
          "caption": {
            "disabled": false,
            "preset": "classic"
          }
        },
        "script": "Hello! Welcome to this tutorial...",
        "createdAt": "2024-01-15T10:00:00Z",
        "updatedAt": "2024-01-15T10:05:00Z",
        "usedCredits": 5
      }
    ],
    "total": 1,
    "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>

Filter by video type

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

Filter by status

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

Number of results

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

Pagination offset

Response

200

Success