Create TikTok Slideshow
Videos
TikTok Slideshow
Create TikTok-style slideshow videos with text overlays and custom positioning
POST
Create TikTok Slideshow
Try it out! Use the API playground on the right to test the TikTok Slideshow endpoint directly.
Overview
TikTok Slideshow videos combine multiple images or video clips with text overlays, voiceovers, and music to create engaging social media content. Perfect for:- Storytelling with visual elements
- Product showcases with descriptions
- Educational content with slides
- Social media posts with multiple images
- Presentation-style videos
Each slide can contain up to 10 text elements with custom positioning, styling, and animations.
Endpoint
Required Fields
Array of slides for the slideshow (1-50 slides)
Video aspect ratio:
ratio_9_16: Vertical (TikTok, Reels, Shorts) - Defaultratio_16_9: Horizontal (YouTube)ratio_1_1: Square (Instagram)
Language code (exactly 2 characters, e.g., “en”, “es”)
Optional Fields
Project name (1-100 characters). If not provided, a name will be auto-generated.
Voiceover script for the slideshow (max 10,000 characters). If provided, requires
voiceId.Voice ID for narration from
/v1/voice/list (max 30 characters). Required if script is provided.Avatar ID to appear in the video from
/v1/avatar/list (max 30 characters)Background music ID from
/v1/music/list (max 30 characters)Webhook URL for status notifications (max 500 characters, must be HTTPS)
Custom metadata object (max 5KB JSON)
Request Examples
Basic Slideshow
Advanced with Avatar and Music
Response
Webhook Notification
When your video is ready, we’ll POST to your webhook URL (if configured):Webhook Payload
Best Practices
Text Positioning
Canvas dimensions depend on aspect ratio. For 9:16 (1080x1920), ensure coordinates are within bounds.
Slide Duration
Keep slides between 2-5 seconds for optimal engagement.
Text Readability
Use high contrast colors and appropriate font sizes (24-48px) for mobile viewing.
Image Quality
Use high-resolution images (1080px width minimum) for best results.
Coordinate System
The coordinate system for text positioning varies by aspect ratio:| Aspect Ratio | Canvas Size | Description |
|---|---|---|
ratio_9_16 | 1080 x 1920 | Vertical (TikTok/Reels) |
ratio_16_9 | 1920 x 1080 | Horizontal (YouTube) |
ratio_1_1 | 1080 x 1080 | Square (Instagram) |
x: 100, y: 150, width: 880, height: 100 creates a full-width text near the top.
Error Handling
| Error | Description | Solution |
|---|---|---|
slides: At least one slide is required | Empty or missing slides array | Provide at least 1 slide |
slides: Cannot have more than 50 slides | Too many slides | Limit to 50 slides maximum |
slides.0.url: String must contain at least 1 character(s) | Missing or empty slide URL | Provide valid HTTPS URL for each slide |
slides.0.mediaId: String must contain at least 1 character(s) | Missing media ID | Provide unique media ID for each slide |
slides.0.mediaType: Invalid enum value | Invalid media type | Use image or video |
slides.0.texts: Cannot have more than 10 text elements | Too many texts per slide | Limit to 10 text elements per slide |
slides.0.texts.0.text: String must contain at least 1 character(s) | Missing or empty text content | Provide text content (1-500 characters) |
slides.0.texts.0.x: Number must be greater than or equal to 0 | Invalid X position | X position must be within canvas bounds (0-canvas width) |
slides.0.texts.0.width: Number must be greater than or equal to 10 | Invalid width | Width must be at least 10 pixels |
slides.0.texts.0.height: Number must be greater than or equal to 10 | Invalid height | Height must be at least 10 pixels |
slides.0.duration: Number must be greater than or equal to 0.1 | Invalid duration | Duration must be between 0.1 and 60 seconds |
voiceId: Voice "X" not found | Invalid voice ID | Use valid voice ID from /v1/voice/list |
avatarId: Avatar "X" not found | Invalid avatar ID | Use valid avatar ID from /v1/avatar/list |
musicId: Music "X" not found | Invalid music ID | Use valid music ID from /v1/music/list |
webhook: Must be a valid HTTPS URL | Invalid webhook URL | Ensure webhook URL uses HTTPS |
Not enough credits | Insufficient credits | Top up your account credits |
Next Steps
List Videos
View all your created videos
Video Details
Check your video processing status
Webhooks Guide
Learn how to handle webhook notifications
UGC Ads
Create UGC-style advertisement videos
Authorizations
Body
application/json
Array of slides (1-50 slides)
Required array length:
1 - 50 elementsVideo aspect ratio
Available options:
ratio_9_16, ratio_16_9, ratio_1_1 Language code (exactly 2 characters, e.g., en, es, fr)
Required string length:
2Project name (1-100 characters). If not provided, a name will be auto-generated.
Required string length:
1 - 100Voiceover script (max 10,000 characters)
Maximum string length:
10000Voice ID from /v1/voice/list (max 30 characters)
Maximum string length:
30Avatar ID from /v1/avatar/list (max 30 characters)
Maximum string length:
30Music ID from /v1/music/list (max 30 characters)
Maximum string length:
30HTTPS URL for status notifications (max 500 characters)
Maximum string length:
500Custom metadata object (max 5KB)