TikTok Settings
API settings for posting to TikTok
Settings Schema
When uploading a video to TikTok, use the following settings schema:
{
"settings": {
"__type": "tiktok",
"title": "",
"privacy_level": "PUBLIC_TO_EVERYONE",
"duet": false,
"stitch": false,
"comment": true,
"autoAddMusic": "no",
"brand_content_toggle": false,
"brand_organic_toggle": false,
"video_made_with_ai": false,
"content_posting_method": "DIRECT_POST"
}
}Fields
| Field | Type | Required | Description |
|---|---|---|---|
__type | string | Yes | Must be tiktok |
title | string | No | Video title (max 90 characters). The only setting TikTok keeps when content_posting_method is UPLOAD |
privacy_level | string | Yes | Who can view the video. DIRECT_POST only |
duet | boolean | Yes | Allow duets. Video posts only; DIRECT_POST only |
stitch | boolean | Yes | Allow stitches. Video posts only; DIRECT_POST only |
comment | boolean | Yes | Allow comments. DIRECT_POST only |
autoAddMusic | string | Yes | Auto-add music. Photo posts only; DIRECT_POST only |
brand_content_toggle | boolean | Yes | Branded content disclosure. DIRECT_POST only |
brand_organic_toggle | boolean | Yes | Organic branded content. DIRECT_POST only |
video_made_with_ai | boolean | No | AI-generated content disclosure. Video posts only; DIRECT_POST only |
content_posting_method | string | Yes | Whether to publish directly or send to the TikTok app inbox, see below |
DIRECT_POST only: TikTok applies the setting only when content_posting_method is
DIRECT_POST. With UPLOAD the field is still required by the Postiz API, but TikTok silently
discards it. Video posts only: TikTok's photo posts have no duet, stitch, or AI-generated
label, so these settings are discarded when the post is a picture. Photo posts only:
autoAddMusic has no effect on videos.
privacy_level
| Value | Description |
|---|---|
PUBLIC_TO_EVERYONE | Anyone can view |
MUTUAL_FOLLOW_FRIENDS | Only mutual followers can view |
FOLLOWER_OF_CREATOR | Only your followers can view |
SELF_ONLY | Only you can view |
autoAddMusic
| Value | Description |
|---|---|
yes | TikTok will auto-add music |
no | No automatic music |
content_posting_method
| Value | Description |
|---|---|
DIRECT_POST | Publishes the post to TikTok. Use this unless the user explicitly wants to review the post in the TikTok app first. |
UPLOAD | Does not publish. Sends the media to the account's TikTok app inbox, where the user must manually finish and publish it within 24 hours or it is discarded. TikTok keeps only the title/content in this mode, every other setting is silently discarded. |
A post created with UPLOAD is reported as successfully published by the Postiz API, because the upload to TikTok did succeed. It will not appear on the TikTok profile until the account owner opens the TikTok app, finds the draft in their inbox, and publishes it manually. Choose UPLOAD only when that manual step is what the user asked for.
Complete Example
Public Video with Interactions Enabled
{
"type": "schedule",
"date": "2024-12-14T10:00:00.000Z",
"shortLink": false,
"tags": [],
"posts": [
{
"integration": {
"id": "your-tiktok-integration-id"
},
"value": [
{
"content": "Check out this awesome tip! ๐ฅ #tips #viral #fyp",
"image": [
{
"id": "video-id",
"path": "https://uploads.postiz.com/tiktok-video.mp4"
}
]
}
],
"settings": {
"__type": "tiktok",
"title": "Quick Productivity Tip",
"privacy_level": "PUBLIC_TO_EVERYONE",
"duet": true,
"stitch": true,
"comment": true,
"autoAddMusic": "no",
"brand_content_toggle": false,
"brand_organic_toggle": false,
"video_made_with_ai": false,
"content_posting_method": "DIRECT_POST"
}
}
]
}Branded Content Video
{
"settings": {
"__type": "tiktok",
"title": "Partnership with Brand",
"privacy_level": "PUBLIC_TO_EVERYONE",
"duet": false,
"stitch": false,
"comment": true,
"autoAddMusic": "no",
"brand_content_toggle": true,
"brand_organic_toggle": true,
"video_made_with_ai": false,
"content_posting_method": "DIRECT_POST"
}
}AI-Generated Content
{
"settings": {
"__type": "tiktok",
"title": "AI Generated Art",
"privacy_level": "PUBLIC_TO_EVERYONE",
"duet": true,
"stitch": true,
"comment": true,
"autoAddMusic": "yes",
"brand_content_toggle": false,
"brand_organic_toggle": false,
"video_made_with_ai": true,
"content_posting_method": "DIRECT_POST"
}
}Private Video (visible only to you)
{
"settings": {
"__type": "tiktok",
"title": "",
"privacy_level": "SELF_ONLY",
"duet": false,
"stitch": false,
"comment": false,
"autoAddMusic": "no",
"brand_content_toggle": false,
"brand_organic_toggle": false,
"content_posting_method": "DIRECT_POST"
}
}This publishes a video that only the account owner can see. To send the media to the account's
TikTok app inbox instead of publishing, use content_posting_method: "UPLOAD", but TikTok then
keeps only the title/content: every other setting above is still required by the API, yet
silently discarded, see content_posting_method above.
Important: TikTok requires media files to be publicly accessible via HTTPS. Local files or private URLs will fail. Use Cloudflare R2 or similar storage with public access.