doodle top mobile

Automate TikTok with nanoclaw

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.

Setup GuideGitHub

Please make sure there is always a human in the loop.

doodle left mobiledoodle right mobile

Post to TikTok in Seconds

Terminal

# Install the skill
npx skills add gitroomhq/postiz-agent

# 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

1

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>
2

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.mp4
3

Create 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.

FieldTypeDescription
privacy_levelstringWho can view: PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR, SELF_ONLY
titlestringVideo title (max 90 characters)
duetbooleanAllow duets on this video
stitchbooleanAllow stitches on this video
commentbooleanAllow comments on this video
autoAddMusicstringAuto-add music: yes or no
brand_content_togglebooleanBranded content disclosure
brand_organic_togglebooleanOrganic branded content
video_made_with_aibooleanAI-generated content disclosure
content_posting_methodstringDIRECT_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 nanoclaw?

nanoclaw is a lightweight, container-based alternative to nanoclaw by Qwibit AI. It connects to WhatsApp, Telegram, Slack, Discord, and Gmail, features memory and scheduled jobs, and runs on Anthropic's Agents SDK.

📦

Container-Based

nanoclaw runs in containers for easy deployment and isolation. Spin up your social media automation agent in seconds with Docker.

💬

Multi-Platform Chat

Connect to WhatsApp, Telegram, Slack, Discord, and Gmail. Message nanoclaw from wherever you already communicate.

🧠

Memory & Context

nanoclaw remembers your preferences and past interactions. It learns your posting style and content strategy over time.

How Postiz Works with nanoclaw

nanoclaw discovers Postiz through its skill system, similar to nanoclaw. Install the Postiz skill and nanoclaw reads the SKILL.md to learn all available commands.

  • Install Postiz skill with npx skills add gitroomhq/postiz-agent
  • nanoclaw reads the SKILL.md and learns all Postiz commands
  • POSTIZ_API_KEY must be set in environment
  • Skills are loaded on-demand, keeping the agent context clean
  • Runs on Anthropic&apos;s Agents SDK for reliable execution

Install Postiz

# Install the Postiz skill
npx skills add gitroomhq/postiz-agent

# Set your API key
export POSTIZ_API_KEY=your_api_key

# nanoclaw discovers Postiz through
# its skill system
nanoclaw skills list

TikTok Posting with nanoclaw

Message nanoclaw from WhatsApp, Telegram, or Slack — it discovers your integrations via Postiz, composes your content, and handles the entire posting workflow from within its container.

🐳

From Any Chat App

Message nanoclaw from WhatsApp, Telegram...

Send a message to nanoclaw 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.

nanoclaw

You: Post to TikTok about our new
  feature launch, schedule for tomorrow
  at 9am

nanoclaw: On it! Here's my plan:
  1. Found your TikTok integration
  2. Composing your post
  3. Scheduling for tomorrow 9:00 AM

  Done! Your post is scheduled.
  Post ID: abc-123
🐳

Scheduled & Proactive

nanoclaw supports scheduled jobs ou...

nanoclaw 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.

nanoclaw.json (scheduled job)

{
  "scheduled_jobs": [
    {
      "cron": "0 9 * * 1-5",
      "prompt": "Check ~/content/posts
  for new .txt files. For each one,
  read the content and schedule a
  post to TikTok for today
  at noon. Move posted files
  to ~/content/published."
    }
  ]
}

Why nanoclaw + Postiz for TikTok

nanoclaw makes Postiz a natural fit for your TikTok workflow. The agent discovers all available commands and autonomously chains them together.

  • Message from WhatsApp or Telegram to post to TikTok — no terminal needed
  • Container-based — easy to deploy, isolate, and scale
  • Built-in memory remembers your content preferences
  • Scheduled jobs for hands-free daily posting
  • Cross-post to TikTok + other platforms in a single conversation
  • Runs on Anthropic&apos;s Agents SDK — reliable and extensible

SKILL.md (auto-discovered)

---
name: postiz
description: Social media automation
  CLI for scheduling posts across
  30+ platforms including TikTok
metadata:
  nanoclaw:
    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_method

Also 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.

C

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"
done

Privacy Levels

Public

PUBLIC_TO_EVERYONE

Friends

MUTUAL_FOLLOW_FRIENDS

Followers

FOLLOWER_OF_CREATOR

Only You

SELF_ONLY

Start 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.

Grow your social media presence with Postiz.