Videos
The Videos API allows you to create, manage, and process personalized videos for your customers.
List Videos
Retrieves a list of videos in your account.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| page | integer | Optional Page number for pagination (default: 1) |
| limit | integer | Optional Number of items per page (default: 20, max: 100) |
| status | string | Optional Filter by video status (draft, processing, published, failed) |
Response
{
"data": [
{
"id": "vid_12345abcde",
"title": "Welcome Message for John",
"status": "published",
"duration": 58.5,
"created_at": "2025-02-15T10:30:00Z",
"url": "https://cdn.sixtyseconds.video/videos/vid_12345abcde.mp4",
"thumbnail": "https://cdn.sixtyseconds.video/thumbnails/vid_12345abcde.jpg"
},
{
"id": "vid_67890fghij",
"title": "Product Demo for Enterprise",
"status": "processing",
"duration": null,
"created_at": "2025-02-16T14:25:00Z",
"url": null,
"thumbnail": null
}
],
"pagination": {
"total": 42,
"page": 1,
"limit": 20,
"next_page": 2,
"prev_page": null
}
}
Create Video
Creates a new personalized video using a template and customer data.
Request Body
| Parameter | Type | Description |
|---|---|---|
| title | string | Required The title of the video |
| template_id | string | Required ID of the template to use |
| customer_data | object | Required Customer data for personalization |
| ai_messaging | object | Optional AI messaging parameters for personalization |
| aspect_ratio | string | Optional Video aspect ratio (9:16, 16:9, 1:1) (default: 9:16) |
| project_id | string | Optional Project to assign this video to |
Example Request
{
"title": "Welcome Message for Sarah",
"template_id": "tmpl_welcome_message",
"customer_data": {
"first_name": "Sarah",
"last_name": "Johnson",
"company": "Acme Inc.",
"product_tier": "Enterprise",
"usage_stats": {
"logins": 12,
"features_used": ["dashboard", "reports", "analytics"]
}
},
"ai_messaging": {
"tone": "professional",
"length": "medium",
"focus_points": ["product_benefits", "next_steps"]
},
"aspect_ratio": "9:16"
}
Response
{
"id": "vid_67890fghij",
"title": "Welcome Message for Sarah",
"status": "processing",
"created_at": "2025-03-03T14:25:30Z",
"template_id": "tmpl_welcome_message",
"aspect_ratio": "9:16",
"estimated_completion": "2025-03-03T14:27:30Z"
}
Get Video
Retrieves details for a specific video.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| video_id | string | Required The ID of the video to retrieve |
Response
{
"id": "vid_12345abcde",
"title": "Welcome Message for John",
"status": "published",
"duration": 58.5,
"created_at": "2025-02-15T10:30:00Z",
"updated_at": "2025-02-15T10:35:12Z",
"template_id": "tmpl_welcome_message",
"project_id": "proj_onboarding_2025",
"aspect_ratio": "9:16",
"url": "https://cdn.sixtyseconds.video/videos/vid_12345abcde.mp4",
"thumbnail": "https://cdn.sixtyseconds.video/thumbnails/vid_12345abcde.jpg",
"customer_data": {
"first_name": "John",
"last_name": "Smith",
"company": "XYZ Corp",
"product_tier": "Professional",
"usage_stats": {
"logins": 5,
"features_used": ["dashboard", "reports"]
}
},
"ai_messaging": {
"tone": "friendly",
"length": "short",
"focus_points": ["getting_started", "key_features"]
},
"analytics": {
"views": 12,
"completion_rate": 0.85,
"engagement_score": 8.2,
"average_watch_time": 45.3
}
}
Video Status
A video can have one of the following status values:
| Status | Description |
|---|---|
| draft | The video has been created but not yet submitted for processing |
| processing | The video is currently being generated |
| published | The video has been successfully generated and is available |
| failed | The video generation process encountered an error |
Working with Videos
Video Personalization
The SixtySeconds platform allows you to create personalized videos by combining templates with customer data. The customer_data object can contain any fields that you want to use for personalization, such as names, company information, usage statistics, and more.
AI Messaging
The optional ai_messaging object allows you to control the AI-generated messaging in your videos:
- tone: The tone of the messaging (friendly, professional, enthusiastic, etc.)
- length: The desired length of the messaging (short, medium, long)
- focus_points: Key topics to emphasize in the messaging
Video Processing Time
Video generation time varies based on complexity, length, and current system load. Most videos are processed within 1-3 minutes. The response to the create video endpoint includes an estimated_completion timestamp.
Video Storage and Expiry
Published videos are stored indefinitely on our CDN by default. If you need to set custom retention policies, please contact our support team.
Webhooks
You can set up webhooks to receive notifications when video status changes. See the Webhooks documentation for more information.