On this page
TikTok's Content Posting API supports sending content to a creator's account, but an accepted initialization request is only part of the workflow. A Direct Post integration also needs creator information, an explicit visibility decision, upload consent, media transfer and a final status check. This article compares TikTok's documentation with validation and retry behavior in Uplonic's implementation.
For the wider content workflow, see adapting one video for TikTok, Reels and Shorts. The integration concerns below apply even when the source video is already suitable for TikTok.
Audit restrictions and authorization are different questions
TikTok's Content Sharing Guidelines, checked 2026-10-17, restrict content from unaudited Direct Post clients to private viewing. Do not confuse a working development request with permission to offer public posting. Client audit status, the creator's authorization and the selected audience all matter.
The Direct Post reference, checked 2026-10-17, requires the video.publish scope. Receiving an access token does not by itself establish that this scope was granted or that the client is approved for your intended use.
Use creator_info as live account configuration
The Creator Info reference, checked 2026-10-17, describes POST /v2/post/publish/creator_info/query/. Its response supplies the creator identity, available privacy options, interaction restrictions and the account's maximum video duration. Use max_video_post_duration_sec instead of assuming every account has the same duration allowance.
The documented per-token request limits differ by endpoint. As checked on 2026-10-17, Creator Info allows 20 requests per minute, Direct Post initialization allows 6 and status fetching allows 30. These figures come from the respective official endpoint references; they are not a daily publishing allowance. Design separate request budgets rather than applying one generic API limit.
Account information also has a presentation purpose: creators need to recognize the destination. A technically valid token pointing to the wrong account is still the wrong publishing result. The TikTok channel overview provides the product context for managing that destination.
Preserve the user's decision through scheduling
TikTok's Content Sharing Guidelines, checked 2026-10-17, require a manual privacy selection from the returned choices, editable content details and express upload consent. Account-disabled interactions must remain unavailable. A user-facing export form should not turn a backend fallback into an apparent user decision.
In our code review dated 2026-10-17, Uplonic's TikTok branch refreshes the token, queries creator information again and validates duration before starting the upload. The compliance resolver checks explicit privacy choices against the account's current options.
For scheduled content, the distinction is the stored approval snapshot. When it records an approved privacy level that is no longer available, the resolver raises a user-action error. Without that snapshot, the implementation retains a more permissive branch that derives visibility from generic settings and may fall back to an allowed value. An integration must still collect and preserve the actual user choice; successful backend validation alone does not establish that consent was collected.
Local case | Observed result | Implementation implication |
|---|---|---|
Approved visibility is no longer offered | User-action error | Ask for a new decision rather than silently changing an approved audience. |
No approval snapshot and a derived audience is unavailable | Allowed fallback audience | Missing approval data does not activate the strict reapproval branch. |
Explicitly chosen audience is disallowed | Compliance violation | Refresh the available choices and correct the request. |
Branded content is combined with private visibility | Compliance violation | Resolve the disclosure and visibility combination before posting. |
These are local implementation checks from 2026-10-17, exercised by the existing compliance suite, which finished with 54 passing checks and no failures. They are not observations of live TikTok uploads. The same suite checked that newly tightened interaction locks are preserved.
Choose a transfer mode and keep the operation identity
The Direct Post reference, checked 2026-10-17, supports FILE_UPLOAD and PULL_FROM_URL. The first returns an upload destination for sending the video bytes. The second lets TikTok retrieve a publicly accessible media URL; TikTok requires verified ownership of its domain or URL prefix. A URL that works in your browser can still fail this ownership requirement.
Our uploader distinguishes the two initialization operations for retry decisions. When TikTok can retrieve media after URL initialization, a lost response may leave publication underway. Repeating that initialization blindly can start another operation. The implementation therefore treats that uncertainty differently from a file initialization to which no video bytes have yet been sent.
The uploader forwards brand_content_toggle, brand_organic_toggle and is_aigc from resolved settings. Its cover selection uses video_cover_timestamp_ms, the documented video-frame field, rather than an independent cover-image upload. These mappings were checked in the source on 2026-10-17; a fresh live delivery was not tested for this article.
Follow processing to the right final outcome
Keep the returned publish_id and consult the Get Post Status reference, checked 2026-10-17. Processing states describe work in progress. For Direct Post, PUBLISH_COMPLETE means the content has been posted; it does not mean every audience can view it.
TikTok's status documentation distinguishes posting from public availability and says public post IDs depend on public viewership and moderation approval. Do not label a private result as publicly published. Uplonic's task implementation can retain an awaiting-platform state and use a separate status poller after media transfer, rather than equating transfer completion with the final result.
When a result is uncertain, investigate the existing operation and the destination account before starting another publish. When an explicit rejection identifies an authorization, media or privacy problem, fix that cause instead of repeatedly sending an unchanged request.
What to validate before relying on the integration
Use the video specification checker to inspect media and the AI disclosure checker to review applicable labeling questions. These tools do not replace the creator's current API limits, consent or a live account check.
For your own acceptance test, record the account, available visibility choices, selected settings, operation ID and final outcome. Verify that an account restriction changing after scheduling asks for the appropriate action. Keep local validation tests separate from a live publish-and-inspect test: this article completed the former and source review, while live token, audit-console, upload and UI verification were outside its evidence.
Sources & methodology
Official documentation and implementation checked 2026-10-17. Primary product evidence is Uplonic's TikTok uploader, publisher, compliance resolver, retry policy and status poller. The local compliance suite passed all 54 checks; it made no live publishing requests. No competitor text or untested executable API example was used.
- TikTok Content Sharing Guidelines — checked 2026-10-17; audit restrictions, required choices and consent.
- TikTok Query Creator Info — checked 2026-10-17; runtime account constraints and the 20-request-per-minute per-token limit.
- TikTok Direct Post — checked 2026-10-17; scope, transfer options, metadata fields and the 6-request-per-minute per-token initialization limit.
- TikTok Get Post Status — checked 2026-10-17; completion versus public availability and the 30-request-per-minute per-token status limit.




