Skip to main content
Every post to TikTok carries a settings object with "__type": "tiktok". Most of its fields are required, even the ones TikTok ignores in Upload mode, so send them all. Read the live schema for your channel with Get a channel’s settings.
Pick privacy_level from the audiences the account allows. The creatorInfo tool returns them as privacyLevelOptions, along with the longest video the account may post.

Fields

The caption is the post text in value[0].content, up to 2,000 characters. For a photo post it becomes the description under the title. With UPLOAD, TikTok keeps only a photo post’s title and caption; a video’s caption and the other fields are dropped, and the owner sets them in the TikTok app. Photos are fetched by TikTok from their PostQueen address. Upload each file with upload a file first and use the path it returns: a photo from anywhere else fails at publish time with “You have to upload the picture/video to PostQueen when sending a URL”.

TikTok Business

A channel on the TikTok Business tile takes "__type": "tiktok-business", the same fields as above, and two optional ones: On that tile privacy_level and autoAddMusic apply to photo posts only, autoAddMusic: "yes" attaches a random track and overrides music, and captions can run to 2,200 characters.

What PostQueen checks

A post that breaks one of these rules is refused with 400 before it is scheduled: The error body names the channel and the rule:
TikTok’s own rules are not checked first: the account’s maximum video length, videos at least 360 px on both sides, photos up to 20 MB, about 15 direct posts a day per account, and at most 5 uploads waiting in the inbox in any 24 hours. PNG, WebP and GIF photos are converted to JPEG when the post is published. AVIF, BMP and TIFF are refused, not converted: convert them to JPEG or PNG before you upload.

Examples

Send each body to create a post. Replace YOUR_CHANNEL_ID with the channel’s id from list channels, and each media id and path with the values upload a file returns. Every example uses PUBLIC_TO_EVERYONE: use a level the account allows.
A post sent with UPLOAD counts as published in PostQueen once it reaches the inbox, although nothing is on the profile until the owner publishes it in the TikTok app.
Last modified on September 24, 2026