TikTok Slideshow
Create TikTok-style slideshow videos with text overlays and custom positioning
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
Endpoint
Required Fields
Optional Fields
base: Standard quality, faster processingpro: Higher quality, more accurate synchronization
/v1/music/list (max 30 characters)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):Best Practices
Text Positioning
Slide Duration
Text Readability
Image Quality
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.media: String must contain at least 1 character(s) | Missing media ID | Provide media ID for each slide |
slides.0.duration: Number must be between 1 and 10 | Invalid duration | Duration must be between 1 and 10 seconds |
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 |
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
Video Details
Webhooks Guide
UGC Ads
Authorizations
Body
Array of slides (1-50 slides). Each slide contains a media ID and optional text elements.
1 - 50 elementsProject name (1-100 characters). If not provided, a name will be auto-generated.
1 - 100Voiceover script (max 10,000 characters). Required if using avatar/voice. Must be provided together with avatarId, voiceId, and lipsyncModel.
10000Avatar ID from /v1/avatar/list (max 30 characters). Required if using voice. Must be provided together with script, voiceId, and lipsyncModel.
30Voice ID from /v1/voice/list (max 30 characters). Required if using avatar. Must be provided together with script, avatarId, and lipsyncModel.
30Lipsync model quality. Required if using avatar/voice. Must be provided together with script, avatarId, and voiceId.
base, pro Music ID from /v1/music/list (max 30 characters)
30Voice audio settings. Used when generating voiceover. Default values are used if not provided.
HTTPS URL for status notifications (max 500 characters)
500Custom metadata object (max 5KB)