Documentation
This page describes the technical integration behind Landing Pixel Content Studio. It is intended for users and integrators who want to understand how the studio talks to TikTok.
On this page
TikTok Login Kit
Account connection uses the official TikTok Login Kit flow. The studio triggers the authorize endpoint, TikTok prompts the user, and the resulting authorization code is exchanged server-side for an access token. The studio never sees the user’s TikTok password.
After the exchange, the studio fetches creator_info to confirm the connected account and pull account-specific data such as privacy_level_options.
Scopes
During connection, TikTok asks the user which capabilities to grant. Landing Pixel requests three scopes:
user.info.basic— identify the connected TikTok account and read its public profile.video.upload— send a video to the user’s TikTok inbox (Upload to Inbox).video.publish— publish a video directly on the connected account (Direct Post).
The user may grant a subset of these scopes; the studio only offers the actions enabled by the granted scopes.
Upload to Inbox
The Upload to Inbox flow deposits a video in the user’s TikTok inbox so the user can finish editing and publish from the TikTok app itself. Backend terminology:
- TikTok endpoint:
/v2/post/publish/inbox/video/init/ - Required scope:
video.upload - Source:
PULL_FROM_URLwith thevideo_urlpointing at the media hosted under the verified domain. - No
post_infois sent — inbox delivery does not publish. - Terminal states include
SEND_TO_USER_INBOX.
Direct Post
The Direct Post flow publishes a video directly on the connected TikTok account. Backend terminology:
- TikTok endpoint:
/v2/post/publish/video/init/ - Required scope:
video.publish - Source:
PULL_FROM_URLwith thevideo_urlpointing at the media hosted under the verified domain. post_infocarries caption, privacy level, interaction toggles and disclosure flags.- Terminal states include
PUBLISH_COMPLETE,PUBLISH_FAILED,PUBLISH_CANCELLED.
Why PULL_FROM_URL
For content stored server-side under the verified domain, the studio uses PULL_FROM_URL. FILE_UPLOAD is reserved for files actually selected from the user’s device.
Preview & media delivery
Selected videos are previewed through an internal endpoint that streams the actual MP4 file from the verified app domain. The response:
- uses HTTPS;
- returns
Content-Type: video/mp4; - delivers the complete MP4 with a known
Content-Length; - supports range requests where applicable.
The endpoint serves only files inside the studio’s canonical library. Filenames are validated against directory traversal.
Privacy
The privacy levels offered in the studio are always the exact set returned by TikTok for the connected account. The studio does not preselect a level: the user must choose one explicitly before sending.
Interaction controls
Comments, Duet and Stitch each have a dedicated toggle. If TikTok reports any of them as disabled at the account level, the corresponding control is locked and clearly labeled as blocked by TikTok.
Disclosures
- Commercial disclosure defaults to off. When turned on, the studio requires the user to choose between your_brand (brand_organic_toggle) and branded_content (brand_content_toggle).
- AI-generated content (is_aigc) defaults to off.
- Music Usage Confirmation defaults to unchecked. The studio blocks submission until the user confirms they have the rights to all sounds used in the video.
Status tracking
After submission, the studio polls the official /v2/post/publish/status/fetch/ endpoint with the returned publish_id. The studio surfaces:
- the most recent status string reported by TikTok;
- terminal states as final answers;
- any associated
log_idreturned by TikTok.
Revocation
Revocation is always available:
- From inside the studio, via the disconnect flow which removes the stored session and token.
- From TikTok, by revoking the granted scopes in the user’s TikTok account settings. TikTok then rejects further requests with the appropriate error code.
TikTok is a trademark of its respective owner. Landing Pixel is an independent service and is not affiliated with, sponsored by, or endorsed by TikTok.