TikTok’s Content Posting API lets an approved app publish videos and photos to a creator’s TikTok. Until TikTok audits the app, every post is private and only 5 users a day can post. The posting screen must show the creator’s own privacy options with none pre-selected, and get consent first. SkedCast’s TikTok app has passed the audit.
Key takeaways
- Before TikTok audits an app, every post is SELF_ONLY (private), only 5 users can post in 24 hours, and their accounts must be private.
- The posting screen must show the creator’s nickname, offer only the privacy levels TikTok returns for that creator with none pre-selected, and get express consent with a preview.
- Videos: MP4, WebM or MOV, up to 10 minutes and 4 GB through the upload endpoint; a creator typically gets about 15 Direct Post posts a day across all apps.
- Each user access token can make 6 Direct Post requests a minute.
- SkedCast’s TikTok app has passed TikTok’s audit, so its posts can go out publicly.
On this page
What is the TikTok Content Posting API?
The API TikTok gives apps to publish to a creator’s account. Its Direct Post endpoint publishes a video or a photo post straight to the profile with a caption, privacy level and interaction settings; the app sends the file in chunks or gives TikTok a URL on a domain it has verified. The creator signs in with TikTok and grants the app access first.

What happens before TikTok audits an app?
Posting is locked down. TikTok’s guidelines say every post from an unaudited client is limited to private viewing (SELF_ONLY), whatever privacy level the request sends; only up to 5 users can post through it in a 24-hour window; and each of their accounts must be private at the time. Passing TikTok’s audit, which checks the app against TikTok’s terms, lifts those limits. TikTok publishes no turnaround time for the audit, and an audited app still has a 24-hour cap on active creators, set from the usage it described in its application.
What must the posting screen show?
TikTok’s Content Sharing Guidelines set the rules for the screen a creator posts from:
Creator info
Fetch the creator’s info when the screen opens, show their nickname, and stop if they cannot post right now.
Video length
Check the video against the creator’s own maximum duration, max_video_post_duration_sec.
Privacy
Offer only the levels TikTok returns in privacy_level_options, in a dropdown with no default; the creator must pick one.
Interactions
Comment, Duet and Stitch start unchecked, and any the creator turned off in TikTok are greyed out; photo posts show only Comment.
Commercial content
The disclosure toggle starts off; when on, the creator picks Your brand, Branded content or both, and branded content cannot be private.
Consent
Show a preview and a declaration linking TikTok’s Music Usage Confirmation (and its Branded Content Policy when it applies), send nothing until the creator consents, add no watermarks, and say processing can take a few minutes.
What fields does a Direct Post request take?
The post_info object of the Direct Post request:
| Field | What it does |
|---|---|
| privacy_level | Required. PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR or SELF_ONLY, within the creator’s options |
| title | The caption, up to 2,200 UTF-16 characters |
| disable_comment, disable_duet, disable_stitch | Turn off comments, Duets or Stitches for the post |
| video_cover_timestamp_ms | The frame used as the cover; the first frame if unset |
| brand_content_toggle | Required. A paid partnership promoting a third party |
| brand_organic_toggle | The creator promoting their own business |
| is_aigc | Marks the post as AI-generated and adds TikTok’s label |
What are the TikTok API video specs and limits?
From TikTok’s media transfer guide and Direct Post reference:
| Item | Limit |
|---|---|
| Video formats | MP4 (recommended), WebM, MOV |
| Video codecs | H.264 (recommended), H.265, VP8, VP9 |
| Frame rate and size | 23 to 60 FPS, 360 to 4,096 pixels each side |
| Video length | Up to 10 minutes through the upload endpoint; the creator’s own limit applies on posting |
| Video file size | Up to 4 GB, uploaded in 1 to 1,000 chunks of 5 to 64 MB |
| Photos | WebP or JPEG, up to 1080p and 20 MB each |
| Requests | 6 Direct Post requests a minute per user access token |
| Posts per creator | About 15 Direct Post posts a day, shared across every app |
How does SkedCast post to TikTok?
Through the Content Posting API, with an app that has passed TikTok’s audit, so posts can go out to everyone. The composer asks who can view each video with nothing pre-selected, offers Your Brand and Branded Content separately, the AI-generated disclosure, and Comment, Duet and Stitch controls, and checks the video before it is scheduled: up to 10 minutes and a caption of up to 2,200 characters. See the TikTok scheduler, how to schedule TikTok posts and the publishing API access matrix for other platforms.
Sources
FAQ
- Can an unaudited TikTok app post publicly?
- No. Every post from an unaudited client is private (SELF_ONLY), whatever privacy level it requests, and only up to 5 users can post in 24 hours, from private accounts, until the app passes TikTok’s audit.
- How long does TikTok’s Content Posting API audit take?
- TikTok publishes no turnaround time for the audit in its Content Posting API documentation.
- Can an app pre-select public visibility on TikTok?
- No. The app must show the privacy levels TikTok returns for that creator, in a dropdown with no default, so the creator picks one.
- How many posts a day can you make through the TikTok API?
- A creator account typically has about 15 Direct Post posts a day, shared across every app that posts for it, and each access token can make 6 requests a minute.
- How long can a video posted through the TikTok API be?
- Up to 10 minutes and 4 GB through the upload endpoint, within the creator’s own maximum, which the app reads from TikTok before posting.
- How do you mark a TikTok post as AI-generated through the API?
- Set is_aigc to true on the Direct Post request; TikTok adds its AI-generated label to the post.