Skip to main content

Videos

The Videos API allows you to create, manage, and process personalized videos for your customers.

List Videos

GET/videos

Retrieves a list of videos in your account.

Query Parameters

ParameterTypeDescription
pageintegerOptional Page number for pagination (default: 1)
limitintegerOptional Number of items per page (default: 20, max: 100)
statusstringOptional 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

POST/videos

Creates a new personalized video using a template and customer data.

Request Body

ParameterTypeDescription
titlestringRequired The title of the video
template_idstringRequired ID of the template to use
customer_dataobjectRequired Customer data for personalization
ai_messagingobjectOptional AI messaging parameters for personalization
aspect_ratiostringOptional Video aspect ratio (9:16, 16:9, 1:1) (default: 9:16)
project_idstringOptional 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

GET/videos/{video_id}

Retrieves details for a specific video.

Path Parameters

ParameterTypeDescription
video_idstringRequired 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:

StatusDescription
draftThe video has been created but not yet submitted for processing
processingThe video is currently being generated
publishedThe video has been successfully generated and is available
failedThe 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.