TikTok Scheduler: What Publishes and What Stays Private
TikTok’s Content Posting API has no scheduling field. A Direct Post call publishes when it is made, so every scheduler on the market is doing the same thing underneath: holding the post in its own database and calling TikTok when the clock reaches the minute you picked. That part is solved. What still decides whether a client’s video goes out publicly, on the day you promised, is the audit status of the app making the call, the account’s own visibility, and a daily posting cap that every tool touching that account draws from.
For the agency deciding whether TikTok belongs in the same queue as everything else.
In short
- The API publishes on command. The calendar lives in the tool, so judge the tool by its queue.
- Unaudited apps post privately, to at most 5 accounts in 24 hours. Public posting needs an audited app, a public account and Everyone visibility.
- About 15 posts per creator per 24 hours, shared across every API client. A queue that ignores the shared count promises posts it cannot deliver.
Every TikTok scheduler is a clock in front of one API call
POST /v2/post/publish/video/init/ starts the publish pipeline when the request lands. There is no future timestamp in the payload, and the video is live when TikTok finishes processing it, not at a time you passed in. TikTok’s own web uploader does schedule, from 15 minutes to 10 days ahead, but no published endpoint writes into that queue, and a post scheduled there cannot be edited afterward. If a vendor page suggests TikTok schedules on its behalf, it is describing a timer it wrote.
That changes how you compare tools. Two schedulers calling the same endpoint differ in what surrounds the call: whether the post is held when the account’s privacy options change, whether a failed attempt is retried without creating a duplicate, whether anyone sees the caption before it goes out. The API contract is the same everywhere. The differences live in the queue. The endpoint detail sits in the TikTok scheduling API write-up, including the request sequence and the fields worth storing per attempt.
Audit status decides whether the post is public
TikTok splits API clients into audited and unaudited. An unaudited client can publish only with SELF_ONLY viewership, and only to 5 users in a 24 hour window. Public posting requires an audited client, an account set to public, and Everyone selected on the post itself, per TikTok’s content sharing guidelines.
Only one of those belongs to the tool you buy. The audit attaches to the API client, the app that makes the call, so PostSider’s Direct Post audit passing in September 2026 covers every account that authorizes it. What does not transfer is the account state. A private account returns FOLLOWER_OF_CREATOR in place of PUBLIC_TO_EVERYONE, which means the public option is not on the menu for that creator, whatever the calendar says. The launch notes cover that audit in more detail.
An unaudited client still works. It posts to a private audience with a five-account ceiling, which is a reasonable test environment and an unusable client deliverable. If the client runs several brands, ask how many creator accounts the tool can publish for in a day. The audit covers the app, not an unlimited roster.
Fifteen posts a day is a shared ceiling
TikTok caps Direct Post publishing at roughly 15 posts per creator account in a 24 hour window, and the docs state that the limit is shared across all API clients using Direct Post. The number varies by creator, so treat 15 as the shape of the ceiling rather than a quota you can spend to the unit. The next post in the window returns spam_risk_too_many_posts.
Shared is the word that breaks calendars. If the client’s community manager runs a second scheduling tool, or a dashboard next to an automated worker, both draw on the same budget, and your local counter is a guess about a number you do not control. A batch of 20 videos to one account in one afternoon publishes about 15 of them. The rest arrive after the day’s capacity is spent, which is a timing problem rather than a content problem. Posts a human makes inside the app sit outside the Direct Post budget, which is why an account can look quiet all week and still hit the ceiling on launch day.
A queue should hold the overflow, keep the file and caption intact, retry after the window rolls, and show the person who scheduled it that the post was deferred. Two habits make that worse: retrying in a tight loop inside the same window, and marking the post failed so someone uploads it by hand and creates a duplicate. Capacity is worth showing before the 19th post is added, not after.
Photo carousels are a different endpoint
Photo posts go to /v2/post/publish/content/init/ with media_type set to PHOTO, and the payload rules change with it. Up to 35 images in one post, JPEG or WebP only, 20 MB per file, 1080 pixels per side, and PULL_FROM_URL as the only transfer method, per the photo post reference and the media transfer guide.
The transfer rule is the one that catches agencies. PULL_FROM_URL means TikTok fetches the images from a host whose domain or URL prefix is verified inside the developer app, over https, with no redirects, and the URL has to stay reachable while the download runs. A scheduler serving assets from its own CDN can verify that host once. A scheduler that passes through signed links from a client’s bucket fails at the init call, and the failure reads as a media problem rather than a permissions one.
Before queueing a carousel, the tool should check the count against 35, the format, the file size, the pixel dimensions, and whether each URL resolves without a redirect at publish time. The init call is all or nothing, so a carousel that fails on the 34th image publishes nothing. Duet and stitch are unavailable on photo posts, and the title field is capped at 90 UTF-16 runes against a 4,000 character description, so a long video caption needs trimming before it fits.
What to check before you promise a client a TikTok calendar
Five questions, asked in this order, catch most of the failures that surface after a calendar is signed.
- Is the account public, and is it the account the client intends to post from? A private account has no
Everyoneoption, and the scheduler cannot grant one. - Which API client publishes, and did it pass TikTok’s audit? If not, every post is private and the five-account ceiling applies.
- What visibility does the tool send by default, and does it show what TikTok returned for that account? A hardcoded default fails on the first private account it meets.
- How many TikTok posts per account per day does the plan assume, and what else touches that account? Write the number down next to the shared ceiling.
- Who approves the post before the call is made? There is no draft state after publish, so approval has to happen upstream. The client approval workflow covers the sign-off side.
The TikTok publishing details list what the composer exposes per post, including the privacy and interaction settings that have to be chosen before a job can be queued.
The queue is the product, the API is the pipe
Day to day, TikTok work is queue work. A job needs a retry that does not duplicate a post, an approval step before the call, and a preview that shows the caption at the length TikTok actually displays. The differences from LinkedIn and Instagram are in how failures present themselves. LinkedIn returns an error when a version header or a Page role is wrong, and the error is immediate. Instagram makes you wait between creating a container and publishing it, so a slow step is visible. TikTok answers a private publish with a success, and a cap rejection arrives after the post was queued, which is why the per-platform preview and the approval step carry more weight here.
PostSider publishes to 30+ networks including TikTok from one queue. A post can take the next free slot, a Smart Slot, or a place in an Evergreen rotation, and a month of a client’s calendar can arrive as a CSV rather than a week of typing. Per-platform previews show the TikTok caption next to the LinkedIn version before approval, which is the moment a wrong-visibility mistake is cheapest to catch. The same publishing layer is reachable from the dashboard, REST under /public/v1, the @postsider/node SDK, and an MCP server at https://mcp.postsider.com/mcp with 19 tools, so an agent can queue work without a second integration. The public API allows 60 requests per minute, which sets the pace for a bulk import.
A scheduler earns its place on the days TikTok says no, when the audit is missing or the client’s cap is already spent. Anyone can make a calendar look full.
Lukasz builds PostSider, which publishes to TikTok and 30+ other networks from one queue.
Frequently asked questions
Why did my scheduled TikTok publish as private?
Because the API client that made the call is unaudited, the account is private, or the post was set to SELF_ONLY. Unaudited clients can only publish with SELF_ONLY viewership, to at most 5 users in a 24 hour window. PostSider's Direct Post audit passed in September 2026, so on a connected account the remaining causes are the account's own visibility and the per-post setting.
How many TikToks can I schedule per day for one client?
Roughly 15 posts per creator account in a 24 hour window, and that ceiling is shared across every API client the creator authorized. The next post in the window returns spam_risk_too_many_posts, which a queue should treat as a deferral and retry after the window rolls. Posts the client makes inside the TikTok app sit outside the Direct Post budget.
Can I schedule TikTok photo carousels?
Yes, through /v2/post/publish/content/init/ with media_type set to PHOTO. It accepts up to 35 images per post, JPEG or WebP only, 20 MB per image, 1080 pixels per side, and PULL_FROM_URL is the only transfer method, so the images must be served from a host verified in the developer app and reachable at publish time.
Does my client need their own TikTok API audit?
No. The audit attaches to the API client making the call, not to the brand's account. PostSider's Direct Post audit passed in September 2026, so a connected TikTok can publish publicly as long as the account itself is public and the post is set to Everyone.