Platform Guide
TikTok
TikTok is a video-led publishing surface with a small number of important platform-specific controls. UniPost keeps those controls under `platform_options.tiktok` while preserving a consistent top-level request shape.
Overview
TikTok supports a single video or a photo carousel depending on the upload mode. Text-only posts are not supported, and image/video mixing is not supported in one publish request.
Supported capabilities
| Capability | Supported | Notes |
|---|---|---|
| Text-only posts | X | TikTok is media-first |
| Photo carousel | ✓ | Up to 35 images |
| Video posts | ✓ | Single video |
| Threads | X | Not applicable |
| Privacy options | ✓ | Use `platform_options.tiktok` |
| Analytics | Partial | Depends on connected account access |
Requirements
| Field | Required | Limits | Notes |
|---|---|---|---|
| media_urls | Required | 1 video OR up to 35 images | Primary publish surface |
| caption | Optional | 2,200 chars | Pair with media |
| platform_options.tiktok.privacy_level | Optional | privacy enum | Controls audience visibility |
| platform_options.tiktok.upload_mode | Optional | pull_from_url / file_upload | Use file_upload if CDN domain is not registered |
Platform-specific options
| Option | Values | Notes |
|---|---|---|
| platform_options.tiktok.privacy_level | SELF_ONLY / PUBLIC_TO_EVERYONE / MUTUAL_FOLLOW_FRIENDS / FOLLOWER_OF_CREATOR | Audience visibility |
| platform_options.tiktok.photo_cover_index | 0-based number | Which image becomes the carousel cover |
Example requests
The examples below are intentionally small and copyable. They show the request body only, assuming a standard POST /v1/social-posts call with Bearer auth.
Video post
{
"caption": "How we built it",
"account_ids": ["sa_tiktok_1"],
"media_urls": ["https://cdn.example.com/build.mp4"],
"platform_options": {
"tiktok": {
"privacy_level": "PUBLIC_TO_EVERYONE"
}
}
}Photo carousel
{
"caption": "Lookbook 📸",
"account_ids": ["sa_tiktok_1"],
"media_urls": [
"https://cdn.example.com/look-1.jpg",
"https://cdn.example.com/look-2.jpg",
"https://cdn.example.com/look-3.jpg"
],
"platform_options": {
"tiktok": {
"privacy_level": "PUBLIC_TO_EVERYONE",
"photo_cover_index": 0
}
}
}Common validation errors
| Code | What it means |
|---|---|
| media_required | TikTok requires video or image carousel media |
| mixed_media_unsupported | Do not mix image and video in one publish body |
| invalid_upload_mode | TikTok upload mode is not recognized |
Related reference
Once you know the correct request shape for this platform, move to the API reference for the full endpoint contract, response schema, and validation payload shape.