Automate TikTok with AI Agents
Schedule TikTok videos, control privacy settings, manage duets and stitches, and handle branded content disclosures — all from the command line or through your AI agent.
Please make sure there is always a human in the loop.
Post to TikTok in Seconds
Terminal
# Install globally
npm install -g postiz
# Set your API key
export POSTIZ_API_KEY=your_api_key
# Find your TikTok integration
postiz integrations:list
# Upload a video
VIDEO=$(postiz upload video.mp4)
VIDEO_URL=$(echo "$VIDEO" | jq -r '.path')
# Schedule a TikTok post
postiz posts:create \
-c "Check this out! #fyp #viral" \
-m "$VIDEO_URL" \
-s "2025-01-15T10:00:00Z" \
--settings '{"privacy_level":"PUBLIC_TO_EVERYONE","duet":true,"stitch":true,"comment":true,"autoAddMusic":"no","brand_content_toggle":false,"brand_organic_toggle":false,"content_posting_method":"DIRECT_POST"}' \
-i "your-tiktok-integration-id"TikTok-Specific Features
Privacy Controls
Set video visibility to public, friends only, followers only, or private. Control exactly who sees each post.
Duets & Stitches
Enable or disable duets and stitches per video. Let your audience remix your content or keep it locked down.
Auto Music
Automatically add background music to your videos with the autoAddMusic setting. Perfect for quick clips.
Branded Content
Toggle branded content and organic branded content disclosures to stay compliant with TikTok's policies.
AI Disclosure
Mark videos as AI-generated to comply with TikTok's transparency requirements for AI-created content.
Scheduled Posting
Schedule videos with precise timestamps. Use DIRECT_POST for immediate publishing or UPLOAD for draft mode.
How It Works
Find Your TikTok Integration
List your connected accounts and grab your TikTok integration ID. You can also fetch available settings to see what options are supported.
Discovery
# List all integrations
postiz integrations:list
# Filter for TikTok
postiz integrations:list | jq \
'.[] | select(.identifier=="tiktok")'
# Get TikTok settings schema
postiz integrations:settings <tiktok-id>Upload Your Video
Upload your video file to get a public URL. TikTok requires media to be accessible via HTTPS. Supports MP4, MOV, AVI, MKV, WEBM, and more.
Upload
# Upload video and extract URL
RESULT=$(postiz upload video.mp4)
VIDEO_URL=$(echo "$RESULT" | jq -r '.path')
echo $VIDEO_URL
# https://uploads.postiz.com/your-video.mp4Create Your Post
Schedule a TikTok post with your video, caption, hashtags, and platform-specific settings like privacy level, duet/stitch permissions, and content disclosures.
Post Creation
postiz posts:create \
-c "New tutorial drop! #coding #dev" \
-m "$VIDEO_URL" \
-s "2025-03-01T09:00:00Z" \
--settings '{
"privacy_level": "PUBLIC_TO_EVERYONE",
"title": "Coding Tutorial",
"duet": true,
"stitch": true,
"comment": true,
"autoAddMusic": "no",
"brand_content_toggle": false,
"brand_organic_toggle": false,
"content_posting_method": "DIRECT_POST"
}' \
-i "tiktok-id"TikTok Settings Reference
Every TikTok post accepts these platform-specific settings via the --settings flag.
| Field | Type | Description |
|---|---|---|
privacy_level | string | Who can view: PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR, SELF_ONLY |
title | string | Video title (max 90 characters) |
duet | boolean | Allow duets on this video |
stitch | boolean | Allow stitches on this video |
comment | boolean | Allow comments on this video |
autoAddMusic | string | Auto-add music: yes or no |
brand_content_toggle | boolean | Branded content disclosure |
brand_organic_toggle | boolean | Organic branded content |
video_made_with_ai | boolean | AI-generated content disclosure |
content_posting_method | string | DIRECT_POST or UPLOAD (draft) |
Common Configurations
Copy-paste these settings for common TikTok posting scenarios.
Public Video with Full Interactions
settings.json
{
"privacy_level": "PUBLIC_TO_EVERYONE",
"title": "My Awesome Video",
"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 Post
settings.json
{
"privacy_level": "PUBLIC_TO_EVERYONE",
"title": "Partnership with Brand",
"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.json
{
"privacy_level": "PUBLIC_TO_EVERYONE",
"title": "AI Generated Art",
"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 Draft (Upload Only)
settings.json
{
"privacy_level": "SELF_ONLY",
"duet": false,
"stitch": false,
"comment": false,
"autoAddMusic": "no",
"brand_content_toggle": false,
"brand_organic_toggle": false,
"content_posting_method": "UPLOAD"
}What is OpenClaw?
OpenClaw is the open-source personal AI agent with 145k+ GitHub stars. It runs locally on your machine, connects through apps you already use, and takes real actions on your behalf.
Works Where You Are
Message OpenClaw from WhatsApp, Telegram, Slack, Discord, Signal, iMessage, or 10+ other platforms. No new app to learn.
Skill-Based Architecture
OpenClaw extends its abilities through Skills — lightweight plugins defined in Markdown files. Postiz is available as a skill on ClawHub.
Proactive Automation
Schedule recurring tasks with cron jobs. OpenClaw can post your TikTok content on a schedule without you having to ask each time.
How Postiz Becomes an OpenClaw Skill
When you install Postiz Agent globally, OpenClaw automatically discovers it by reading the bundled SKILL.md file. This file tells OpenClaw what commands are available, what environment variables are needed, and how to compose TikTok posts with the right settings.
- ✓Install from ClawHub with one command: clawhub install nevo-david/postiz
- ✓OpenClaw reads the SKILL.md and learns all Postiz commands
- ✓Eligibility is checked automatically — POSTIZ_API_KEY must be set
- ✓Skills are loaded on-demand, keeping the agent context clean
- ✓Works with any LLM backend: Claude, GPT, Gemini, Llama, and more
Install from ClawHub
# Install the Postiz skill
clawhub install nevo-david/postiz
# Or install the CLI globally
npm install -g postiz
# Set your API key
export POSTIZ_API_KEY=your_api_key
# Verify OpenClaw sees it
openclaw skills list --eligible
# Output:
# - postiz: Social media automation
# CLI for scheduling posts
# across 30+ platformsTikTok Posting with OpenClaw
Message OpenClaw from any platform — it reads the Postiz skill, discovers your TikTok integration, and handles the entire posting workflow autonomously.
From Any Chat App
WhatsApp, Telegram, Slack, Discord...
Send a message to OpenClaw from your favorite chat app. It runs as a persistent daemon on your machine, so it picks up your message, discovers your TikTok account via Postiz, uploads the video, and schedules the post — all while you go about your day.
WhatsApp / Telegram
You: Post my demo.mp4 to TikTok
tomorrow at 9am, public with duets on
OpenClaw: Got it! Here's what I'll do:
1. Upload demo.mp4 to Postiz
2. Schedule for 2025-03-02T09:00:00Z
3. Settings: public, duets enabled
Done! Your TikTok post is scheduled.
Post ID: abc-123Scheduled & Proactive
Cron jobs for recurring content
OpenClaw supports cron-based heartbeat tasks. Set up a recurring job that checks a folder for new videos and posts them to TikTok automatically — no manual trigger needed.
openclaw.json (heartbeat)
{
"heartbeat": [
{
"cron": "0 9 * * 1-5",
"prompt": "Check ~/videos/pending
for new .mp4 files. For each one,
upload to Postiz and schedule a
TikTok post for today at noon.
Use public privacy, enable duets
and comments. Move posted files
to ~/videos/posted."
}
]
}Why OpenClaw + Postiz for TikTok
OpenClaw's skill system makes Postiz a natural fit. The agent reads the SKILL.md to understand every available command, then autonomously chains them together for TikTok workflows.
- ✓Message from WhatsApp to post a TikTok — no terminal needed
- ✓Cron jobs for hands-free daily posting schedules
- ✓Structured JSON output lets OpenClaw verify each step succeeded
- ✓Branded content disclosures applied automatically when you mention a sponsor
- ✓Cross-post to TikTok + other platforms in a single conversation
- ✓Model-agnostic — works with Claude, GPT, Gemini, or open-source LLMs
SKILL.md (auto-discovered)
---
name: postiz
description: Social media automation
CLI for scheduling posts across
30+ platforms including TikTok
metadata:
openclaw:
requirements:
env:
- POSTIZ_API_KEY
binaries:
- postiz
---
# Available Commands
- postiz integrations:list
- postiz integrations:settings <id>
- postiz posts:create
- postiz upload <file>
- postiz analytics:platform <id>
# TikTok Settings
privacy_level, duet, stitch,
comment, autoAddMusic,
brand_content_toggle,
content_posting_methodAlso Works with Claude Code
Postiz Agent works as a CLI tool with any AI agent that can execute shell commands — including Anthropic's Claude Code.
Claude Code
by Anthropic
Claude reads the SKILL.md file to learn all available Postiz commands, then autonomously discovers your TikTok integration, uploads your video, applies privacy and interaction settings, and schedules the post.
Claude Code
> Post my demo video to TikTok as public
with duets enabled, schedule for tomorrow
Claude will automatically run:
postiz integrations:list
postiz upload ./demo.mp4
postiz posts:create \
-c "Check out this demo!" \
-m "uploaded-url" \
-s "2025-03-02T09:00:00Z" \
--settings '{"privacy_level":
"PUBLIC_TO_EVERYONE",
"duet":true,"stitch":true,
"comment":true,...}' \
-i "tiktok-id"TikTok + Other Platforms
Schedule the same video to TikTok and other platforms in a single command. Each platform gets its own settings.
Terminal
# Post a video to TikTok and YouTube simultaneously
postiz posts:create \
-c "New tutorial is live! #coding #tutorial" \
-m "$VIDEO_URL" \
-s "2025-03-01T09:00:00Z" \
--settings '{
"privacy_level": "PUBLIC_TO_EVERYONE",
"duet": true,
"stitch": true,
"comment": true,
"autoAddMusic": "no",
"brand_content_toggle": false,
"brand_organic_toggle": false,
"content_posting_method": "DIRECT_POST"
}' \
-i "tiktok-id,youtube-id"
# Batch schedule a week of TikTok content
for day in 1 2 3 4 5; do
postiz posts:create \
-c "Day $day tips! #dailytips" \
-m "day${day}-video-url" \
-s "2025-03-0${day}T10:00:00Z" \
--settings '{"privacy_level":"PUBLIC_TO_EVERYONE","duet":true,"stitch":true,"comment":true,"autoAddMusic":"no","brand_content_toggle":false,"brand_organic_toggle":false,"content_posting_method":"DIRECT_POST"}' \
-i "tiktok-id"
donePrivacy Levels
Public
PUBLIC_TO_EVERYONEFriends
MUTUAL_FOLLOW_FRIENDSFollowers
FOLLOWER_OF_CREATOROnly You
SELF_ONLYStart posting to TikTok
Install Postiz Agent and automate your TikTok content strategy with AI-powered scheduling and publishing.
Ready to get started?
Grow your social media presence with Postiz.
Schedule, analyze, and engage with your audience.
Open-source social media scheduling tool