Videos
The Videos API allows you to find specific videos and retrieve lists of videos from your account.
Find Video
Retrieves details for a specific video by ID.
Arguments
| Parameter | Type | Description |
|---|---|---|
| id | ID! | Required ID of the video to find |
Example Query
query {
viewer {
video(id: "VmlkZW86MjM=") {
id
displayName
videoTemplate {
id
name
}
videoType
description1
thumbnail
videoUrl
renderStatus
createdAt
updatedAt
}
}
}
Response
{
"data": {
"viewer": {
"video": {
"id": "VmlkZW86MjM=",
"displayName": "Q1 Product Introduction",
"videoTemplate": {
"id": "VmlkZW9UZW1wbGF0ZToxMg==",
"name": "Product Introduction Template"
},
"videoType": "marketing",
"description1": "Introduction to our new Q1 product lineup",
"thumbnail": "https://cdn.sixtyseconds.video/thumbnails/video-23.jpg",
"videoUrl": "https://cdn.sixtyseconds.video/videos/video-23.mp4",
"renderStatus": "completed",
"createdAt": "2024-01-20T14:30:45Z",
"updatedAt": "2024-01-20T14:35:12Z"
}
}
}
}
List Videos
Retrieves a paginated and filterable list of videos with access control based on user roles.
Arguments
| Parameter | Type | Description |
|---|---|---|
| filter | VideoListFilterInput | Required Filter and pagination options |
VideoListFilterInput
| Field | Type | Description |
|---|---|---|
| search | String | Optional Search term to filter videos by name or description |
| status | String | Optional Filter videos by processing status |
| folderId | ID | Optional Filter videos by folder ID |
| page | Int | Optional Page number for pagination (default: 1) |
| limit | Int | Optional Maximum number of videos to return per page (default: 10) |
Example Query
query {
viewer {
videos(filter: {
search: "product",
status: "completed",
page: 1,
limit: 10
}) {
items {
id
displayName
videoTemplate {
name
}
thumbnail
renderStatus
createdAt
}
total
page
limit
pages
}
}
}
Response
{
"data": {
"viewer": {
"videos": {
"items": [
{
"id": "VmlkZW86MjM=",
"displayName": "Q1 Product Introduction",
"videoTemplate": {
"name": "Product Introduction Template"
},
"thumbnail": "https://cdn.sixtyseconds.video/thumbnails/video-23.jpg",
"renderStatus": "completed",
"createdAt": "2024-01-20T14:30:45Z"
},
{
"id": "VmlkZW86MjU=",
"displayName": "Product Demo for Enterprise",
"videoTemplate": {
"name": "Product Demo Template"
},
"thumbnail": "https://cdn.sixtyseconds.video/thumbnails/video-25.jpg",
"renderStatus": "completed",
"createdAt": "2024-01-22T10:15:30Z"
}
],
"total": 2,
"page": 1,
"limit": 10,
"pages": 1
}
}
}
}
Video Fields
The Video object contains the following fields:
| Field | Type | Description |
|---|---|---|
| id | ID | Unique identifier for the video |
| slug | String | URL-friendly identifier for the video |
| displayName | String | Display name of the video |
| videoTemplate | VideoTemplate | Template used to create the video |
| videoJobs | [VideoJob] | Processing jobs associated with the video |
| metaFields | [VideoMeta] | Metadata fields for the video |
| videoType | String | Type of the video |
| description1 | String | Primary description of the video |
| animatedGif | String | URL to an animated GIF preview |
| thumbnail | String | URL to the video thumbnail |
| videoUrl | String | URL to the video file |
| aspectRatio | String | Aspect ratio of the video |
| renderStatus | String | Current rendering status |
| renderProgressStatus | String | Detailed rendering progress status |
| createdAt | DateTime | Creation date of the video |
| updatedAt | DateTime | Last update date of the video |
| videoFolders | [VideoFolder] | Folders containing this video |
Video Rendering Status
A video can have one of the following rendering status values:
| Status | Description |
|---|---|
| pending | The video is queued for processing |
| processing | The video is currently being generated |
| completed | The video has been successfully rendered |
| failed | The video rendering process encountered an error |
Working with Videos
Access Control
Access to video data is controlled by user permissions:
- Users can access videos they created or videos associated with their brand
- Organisation admins can access videos of all brands in their organisation
- Global administrators can access any video in the system
Video Organization
Videos can be organized into folders for better management. Use the folderId parameter in the videos query to filter videos by folder.
Video Publishing
After a video is successfully rendered, it can be published for public viewing. Published videos receive a public URL that can be shared with customers or embedded in websites.
Video Analytics
The SixtySeconds platform tracks engagement metrics for your videos, including:
- View counts
- Watch time
- Completion rates
- Click-through rates for calls to action
These analytics help you understand how your audience engages with your content and optimize future videos for better performance.