Creator OS
claudecreator-osmcpschedulingtiktok

Schedule TikTok Videos With Claude: Step-by-Step

Learn how to schedule TikTok videos with Claude using the Content Posting API, an MCP server, and Creator OS so your whole week posts itself.

Creator OS · October 17, 2026 · Updated October 24, 2026 · 9 min read

You want to schedule TikTok videos with Claude, not sit in the app tapping through uploads. The short version: connect Creator OS to Claude through a hosted MCP server, point Claude at a video and a caption, and let it call the tools that create the post. TikTok’s own API does the publishing; Claude just drives it through your instructions.

This post walks through the whole path. What you need before you start, which of the two connection styles fits your setup, and a worked example you can copy for a week of posts.


  You (Claude chat)
        |
        |  natural language: "post this Thursday 7pm"
        v
  Creator OS MCP server
  https://mcp.creatoros.ca/mcp
        |
        |  create_post / upload_media_from_url
        v
  Creator OS workspace (one set of socials)
        |
        |  TikTok Content Posting API
        v
  TikTok (published or Creator Inbox draft)
Claude never talks to TikTok directly. It calls Creator OS tools.

Why Schedule TikTok Videos With Claude Instead of Posting Manually

Manual posting has a ceiling. You open the app, pick the file, write the caption, set the cover, check the disclosure toggles, then wait for the upload to finish before you can do it again tomorrow. Three posts a day is a job.

Claude plus Creator OS moves the repeatable parts into conversation. You say what you want, Claude calls the tool, Creator OS applies TikTok's rules. Those rules are the part people get wrong by hand: TikTok requires privacy_level, allow_comment, allow_duet, allow_stitch, content_preview_confirmed set to true, and express_consent_given set to true. The simple post form fills those for you.

You also get the same tool surface everywhere. The web app, the iOS app, the REST API, the CLI, and the MCP server all act on one workspace, so a post scheduled from Claude shows up in the same calendar you see on your phone. If you already drive Instagram from Claude, the pattern is the same. See schedule Instagram posts with Claude for that side.

Get started for $0

What You Need Before You Start (TikTok Connection, Scopes, Tokens)

Order matters here. Work through it once and you will not touch it again.

  1. A TikTok account connected through a Business app connection. That is the connection type that supports direct posting and the extra TikTok features. Regular posting through the simple form works from the connection you make in Creator OS, so start there and see what your account supports.
  2. A Creator OS account with TikTok connected. Sign in, connect TikTok, and confirm it appears in your workspace.
  3. Claude with custom connectors. In Claude, go to Settings, then Connectors, then Add custom connector. You paste one URL, sign in to Creator OS, pick the workspace, and choose read only or read & write.

Notice what is not on the list: no TikTok developer app to register yourself, no scope list to memorize, no token refresh code. Creator OS holds the TikTok token. The connection is pinned to one workspace, which is one set of socials.

If you want the full connector walkthrough rather than the summary, the MCP docs cover the URL, the header, and the read only versus read & write choice.

How Claude Talks to TikTok: MCP Servers vs Direct API Calls

Two ways to drive this, and they suit different people.

MCP server. The hosted server lives at https://mcp.creatoros.ca/mcp. There is nothing to install. Claude, ChatGPT, Claude Code, Cursor, Windsurf, and VS Code can all point at it. Claude Code users add it with:

claude mcp add --transport http creatoros https://mcp.creatoros.ca/mcp --header "Authorization: Bearer cos_live_..."

Once connected, Claude sees tool names like create_post, upload_media_from_url, get_best_time_to_post, and check_caption_length. Destructive tools such as delete post or disconnect account are marked so the AI app asks before running them.

Direct API calls. The REST API uses a key starting cos_live_ and is pinned to one workspace. An agent holding one workspace's key cannot post to another. Ids are typed tokens: acc_, post_, cmt_, conv_, med_. Errors all come back in one shape:

{ "error": { "code": "...", "message": "...", "status": ... } }

Most people start with MCP and drop to the API only when they want their own script. The base URL for the REST API is in the docs, so grab it there rather than guessing.

Step 1: Connect Your TikTok Account and Creator OS Workspace

Connect TikTok in the Creator OS web app. Then confirm the connection is healthy before you build anything on top of it. With the CLI installed you can check in one line:

creatoros accounts:list

If TikTok is missing from that list, reconnect it. If you are wiring up several accounts at once, creatoros accounts:connect tiktok starts the flow from the terminal.

At this point Claude is connected but has not posted anything. Good. Read the next step before you let it publish.

Step 2: Give Claude the Video, Caption, and Post Time

Here is a prompt that works. It names the file, the caption, the schedule, the cover, and the disclosure in plain language:

Upload https://cdn.example.com/tiktok/kitchen-hack.mp4 to Creator OS,
then create a TikTok post for Thursday 7:00pm America/Toronto.
Caption: "Three pantry swaps that cut our grocery bill. Full list in bio."
Cover: frame at 2000ms. Mark it as made with AI.
Send it as a draft first so I can check the consent flags in the app.

Claude turns that into a media upload and a post. The media upload happens once and returns a med_ id that is reusable on every platform, so the same file does not get pushed three times.

Behind the prompt, Creator OS accepts a simple shape with content, platforms, media, schedule_at, timezone, post_type, cover, cover_timestamp_ms, and draft. Or an advanced shape where each platform is an object with its own options, and TikTok settings go in a top-level tiktok object. That advanced form is what you want when you are setting photo_cover_index, auto_add_music, commercialContentType, or video_made_with_ai per post rather than letting defaults fill in.

One limit worth knowing early: on Business app connections you also get a Commercial Music Library track and location tags, and those videos publish public only unless you send them as drafts. If your sound is baked into the file, none of that matters and you can ignore it.

Step 3: Send Videos as Drafts or Publish Directly

There is a real difference between the two, and it is the first thing to test.

Draft mode sends the video to the TikTok Creator Inbox. You open the app, check the cover and sound, and tap publish yourself. In the API this is draft: true. This is the right default while you are still learning the tool, because you see exactly what TikTok received.

Direct publish puts the video live at the scheduled time with no human step.

A practical middle path: send your first three posts as drafts, confirm the captions and covers look right in the app, then switch to direct publish for the recurring stuff. If you post a lot of short vertical video, the same pipeline feeds Shorts and Reels from one upload, so read the YouTube MCP server notes when you want to extend the same Claude session to Shorts.

Claude Code users get a shortcut here too: npx @creatoros/cli@latest init installs 14 skills including post-shortform and post-everywhere, so the model already knows the shape of the job instead of improvising it.

Handling TikTok Rate Limits, Tokens, and Failed Posts

Three things go wrong, and all three have a boring answer.

Tokens

You do not manage TikTok tokens directly. Creator OS holds them. If a post fails with an authorization style error, reconnect TikTok in the app and retry the post rather than rebuilding it. The post still exists with its post_ id.

Rate limits

Do not fire ten posts at once. Spread scheduled times out. When you are queueing a week, let Claude create them one at a time with real timestamps rather than five calls in the same second.

Failed posts

Retry instead of recreating. That keeps the media id, the caption, and the schedule intact:

creatoros posts:list --status failed
creatoros posts:retry post_abc123

Two other gotchas worth noting. First, if you name a platform in a post that is not connected, that network comes back in missing_platforms and the rest still go out, so a TikTok mistake does not kill your Instagram post. Second, replying to TikTok comments is not supported, and TikTok has no DMs. If comment replies matter to your funnel, plan around Instagram or Facebook instead. The Facebook MCP server notes cover how comment to DM funnels work on that side.

Batching a Week of TikToks in One Claude Conversation

This is where the setup pays off. Instead of seven separate sessions, give Claude the whole week in one prompt with the timestamps you want:

Here are 5 videos already uploaded to Creator OS.
Schedule them as TikTok drafts:
Mon 7:00pm, Tue 12:30pm, Wed 7:00pm, Thu 12:30pm, Fri 6:00pm
America/Toronto. Each caption is in the list below.
Before creating anything, run check_caption_length on each caption
and tell me which ones are too long.

Claude checks the captions first, reports the problems, then creates the posts. TikTok captions run up to 4,000 characters, so you almost never hit the wall, but the check is free and catches the copy-paste disasters.

If you would rather not paste timestamps by hand, ask for get_best_time_to_post first and let that drive the schedule, then review the list before it publishes. You can also do the same queueing from a file with creatoros posts:bulk-upload --file calendar.json --dryRun, which validates the whole calendar without creating anything.

Once the week is queued, read the results in one place. creatoros analytics:posts --platform tiktok gives you per-post numbers, and webhooks like post.published fire when each one goes live. Every event is signed with X-CreatorOS-Signature so you can verify it came from Creator OS.

For the visual walkthrough of all this, including the open source agent harness in github.com/kevinbadi/social-agents that interviews you about your brand and then posts and replies on its own, watch the KevBuildsApps YouTube channel. If you edit your own video before posting, the launch video shows the open source Claude Code skills that turn a raw talking-head clip into an animated short.

Two related setups are worth a look once this works. If you post to several networks, the Instagram Stories API notes show how Stories get handled from the same pipeline. And when you want to put budget behind your best organic TikToks, the ads docs walk through boosting published posts and launching campaigns.

Get Started With Creator OS

The Creator plan is $14.99/month or $59.99/year and covers 11 platforms plus Skool, one account on each. API keys, the MCP server, the CLI, and the agent skills are included in every plan, so there is nothing extra to buy to get Claude posting.

Sign up at https://www.creatoros.ca/sign-up, connect TikTok, add the MCP connector in Claude, and send your first video as a draft. Once that lands in the Creator Inbox looking right, batch the rest of the week.

Get started for $0
Free trial for new subscribers. Cancel anytime.

Keep reading