TikTok

TikTok Direct Post vs. Upload (Inbox) Mode

The real difference between TikTok’s direct-post and inbox/draft upload modes, and when to use each.

Quick answer

One field chooses the mode: post.options.tiktok.mode. Inbox sends a draft to the creator’s TikTok app to review and post themselves — no privacy level or music confirmation needed. Direct publishes immediately but requires a creator-approved privacy level, music_usage_confirmed for video, and a commercial-content disclosure when the post promotes a brand.

Every TikTok post PostGate sends chooses one of two TikTok delivery modes with a single field: post.options.tiktok.mode, either "direct" or "inbox". The difference is not cosmetic — it changes what fields your request needs, whether the post goes live automatically, and which of TikTok's audit-gated restrictions apply.

01

mode: "inbox" — a draft the creator posts themselves

Inbox mode (TikTok's MEDIA_UPLOAD post mode internally) sends the video or photos to the creator's TikTok app as a draft. Nothing goes live until the person opens TikTok and taps to post it. It needs no privacy level, no music-usage confirmation, and no creator-info lookup — the simplest request shape TikTok offers, and available to any client regardless of audit status.

options.tiktok for inbox modePostGate API
"options": { "tiktok": { "mode": "inbox" } }
02

mode: "direct" — publishes immediately, with more required fields

Direct Post publishes without any manual step from the creator, but TikTok requires more from the request: a privacy level chosen from that creator's actual allowed options (queried via creator_info/query), a music_usage_confirmed: true flag for video posts, and — when the content promotes a brand — a commercial_content disclosure block.

options.tiktok for direct modePostGate API
"options": {
  "tiktok": {
    "mode": "direct",
    "title": "New drop, out now.",
    "privacy": "SELF_ONLY",
    "music_usage_confirmed": true,
    "disable_comment": false,
    "disable_duet": false,
    "disable_stitch": false
  }
}
03

What does your app’s audit status force on direct mode?

An unaudited client can call Direct Post, but TikTok forces SELF_ONLY visibility regardless of what privacy value you send, and the account itself must already be set to private — sending PUBLIC_TO_EVERYONE on a public account is rejected outright, not silently downgraded. Inbox mode sidesteps this entirely, since the creator chooses visibility manually inside TikTok when they post the draft. See unaudited_client_can_only_post_to_private_accounts for the exact mechanics.

04

How do the two modes differ for photo posts?

For photo posts, direct mode drops the music-usage confirmation and the duet/stitch toggles — those are video-only concepts — but still requires privacy and honors the tighter 90-character title limit. See the TikTok photo post API for the full picture.

05

Which mode should you pick?

Use inbox mode for a lower-friction, review-before-posting experience, for testing before your app passes audit, or when you want the creator to have final say before anything goes public. Use direct mode once your integration is ready to publish on the customer's behalf without a manual tap — typically once your app has passed audit and can reliably reach public visibility.

Frequently asked questions

Why is my TikTok direct post private?

An unaudited client can call Direct Post, but TikTok forces SELF_ONLY visibility regardless of the privacy value you send, and the account itself must already be set to private — sending PUBLIC_TO_EVERYONE on a public account is rejected outright, not silently downgraded. Inbox mode sidesteps this, since the creator chooses visibility manually when they post the draft.

What fields does a TikTok Direct Post require?

A privacy level chosen from that creator’s actual allowed options (queried via creator_info/query), a music_usage_confirmed: true flag for video posts, and — when the content promotes a brand — a commercial_content disclosure block.

Do TikTok photo posts need music_usage_confirmed?

No. For photo posts, direct mode drops the music-usage confirmation and the duet/stitch toggles — those are video-only concepts — but still requires a privacy level and honors the tighter 90-character title limit.

When should I use inbox mode instead of direct mode?

Use inbox mode for a lower-friction, review-before-posting experience, for testing before your app passes audit, or when you want the creator to have final say before anything goes public. Use direct mode once your integration is ready to publish on the customer’s behalf without a manual tap — typically once your app has passed audit.

Build it with PostGate

One API for every social platform your customers care about — sandboxed, documented, and ready today.

Start building Read the docs