TikTok is a video-led publishing surface with a small number of important platform-specific controls. UniPost keeps those under `platform_options.tiktok` while preserving a consistent top-level request shape.
Single video or photo carousel publishing with privacy controls.
TikTok account requirementWhite-label/public-use requirement: your TikTok app must pass audit before posting to non-allowlisted accounts. Sandbox apps are limited to allowlisted accounts.
At a glance
Publishing
Supported
Scheduling
Supported
Analytics
Limited
Inbox
Not supported
Connection
OAuth — Quickstart and White-label both supported
Feature matrix
Feature
Support
Notes
Video posts
✓
Single video
Photo carousel
✓
Up to 35 images
Scheduling
✓
Use scheduled_at
Privacy options
✓
Use platform_options.tiktok
Analytics
Partial
Post engagement + view count require TikTok analytics scopes. Those analytics scopes are approved for production and requested for newly connected accounts; reconnect older accounts before relying on live analytics.
Text-only posts
X
TikTok is media-first
Threads
X
Not applicable
Inbox / comments
X
Not part of the UniPost inbox today
Known constraints
Limitation
Why
Daily safety cap
50 publishes/day per connected TikTok account (UTC reset). Failed posts do not count toward the cap.
Audit required for public use
TikTok Content Posting API apps must pass audit before posting to non-allowlisted accounts
Analytics scopes are approved
Production OAuth requests user.info.profile, user.info.stats, and video.list for newly connected accounts. Reconnect older accounts if they were authorized before these scopes were available.
No text-only posts
TikTok is strictly media-led
Inbox is not supported
Comments and DMs are not in UniPost inbox today
Publishing
Ready to publish?Use the shared Publishing guide for hosted URLs, local file uploads, preflight validation, and async publish status. Then use the TikTok examples below for platform-specific payload shape.
Publish examples by surface
Each example calls POST/v1/posts with Bearer auth. Swap the account_ids for your own, then copy the snippet for your language.
Video post
Photo carousel
Media & field requirements
Field
Required
Limits
Notes
media_urls or media_ids
Required
1 video OR up to 35 images
Use media_urls for hosted assets or media_ids for local files uploaded via POST/v1/media. This is the 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 the CDN domain is not registered with TikTok. For local files uploaded through POST/v1/media, UniPost manages the TikTok transfer details after POST/v1/posts.
Hosted URLs: pass the public URL in media_urls. Local files: reserve an upload with POST/v1/media, PUT the bytes to the returned upload_url, then publish with media_ids. Full flow in the Publishing guide.
Managed upload noteFor TikTok file_upload, upload the complete local video to UniPost with POST/v1/media and publish with media_ids. UniPost automatically handles TikTok's downstream chunk sizing and sequential transfer, including videos larger than 64 MB; do not split files or send TikTok chunk_size / total_chunk_count yourself. TikTok photo posts are staged through UniPost's media proxy before TikTok pulls them, so customers do not need to register their own CDN URL prefix for photo carousels.
Media specifications
Per-surface limits for text, images, and video. These are the source of truth UniPost uses for preflight validation and media optimization — treat hard-limit values as enforced and "recommended" values as platform guidance.
file_upload lets UniPost upload the video bytes to TikTok and handle downstream chunking automatically.
platform_options.tiktok.photo_cover_index
0-based number
Which image becomes the carousel cover
Analytics
Metric
Support
Notes
Video views
Partial
Requires video.list; this scope is approved for production and requested for newly connected accounts
Likes
Partial
Requires video.list; this scope is approved for production and requested for newly connected accounts
Comments
Partial
Requires video.list; this scope is approved for production and requested for newly connected accounts
Shares
Partial
Requires video.list; this scope is approved for production and requested for newly connected accounts
Impressions
X
TikTok exposes views, not display impressions
Reach
X
Not exposed by TikTok
Saves
X
Not exposed by TikTok
Connection modes
Pick the setup that matches how the account is owned. Quickstart is fastest when you publish to your own accounts; Connect Sessions are for customer-owned account onboarding; Hosted Connect branding controls the UniPost-hosted pre-OAuth page, while Platform Credentials control the upstream app identity and quota. Full setup details in Quickstart, Connect Sessions, Hosted Connect, and Platform Credentials.
Mode
Best for
App / credentials
Availability
Quickstart
Fast setup — UniPost handles OAuth
UniPost-managed app
Free / paid quota
Hosted Connect
Customer account onboarding with optional profile branding
Shared app or workspace Platform Credentials
Branding starts on Basic
White-label/public-use requirement: your TikTok app must pass audit before posting to non-allowlisted accounts. Sandbox apps are limited to allowlisted accounts.