Post to TikTok from OpenClaw
OpenClaw can post videos on TikTok through ClipSpeed. Add the ClipSpeed server with one config block, sign in, and then ask OpenClaw to post videos, pick the time, and apply TikTok's settings, without leaving a personal agent you run yourself and message from WhatsApp, Telegram or Discord.
Keep a human in the loop: OpenClaw shows the plan and asks before anything is public. Posting today: YouTube, TikTok, Instagram, X (Twitter) and LinkedIn.
Also try
How to post TikTok from OpenClaw
OpenClaw has no browser to complete an OAuth sign-in, so it authenticates with a ClipSpeed API key in a header. Generate the key in your ClipSpeed account, add the server to the agent's MCP configuration, restart the agent. Connect TikTok in ClipSpeed, then describe the post. Setup takes about a minute.
# One-time setup: OpenClaw MCP config
{
"mcpServers": {
"clipspeed": {
"url": "https://api.clipspeed.ai/mcp",
"headers": { "Authorization": "Bearer csai_live_..." }
}
}
}
# Then ask OpenClaw:
> Post the highest-scoring clip to TikTok at 7pm with a caption that opens on the hook
OpenClaw: Preview — nothing booked yet. TikTok — clip_id: the top viral score from check_clips. Book it?OpenClaw sits in ClipSpeed's compatible tier: same protocol and transport as the verified clients, not yet driven end to end by us. The developer reference below covers the wire in detail.
- In ClipSpeed, open Account → API & Integrations → Generate API Key. Copy the csai_live_ key once.
- Add the clipspeed server to your OpenClaw agent's MCP configuration with the URL and the Authorization header.
- Restart the agent and message it: "list my ClipSpeed channels".
- Connect TikTok in the ClipSpeed app, or ask OpenClaw for a connect link: it is private, valid for ten minutes, and TikTok signs you in itself.
Developer reference: the OpenClaw MCP page.
What can OpenClaw do on TikTok?
On TikTok, OpenClaw can post vertical videos with a caption and hashtags, spaced so the account never looks automated. Every booking runs through the same rules as the ClipSpeed app.
Video posts
TikTok takes video through ClipSpeed. Video: MP4, MOV or WebM up to 1 GB by public link, or a finished ClipSpeed clip by clip_id.
2,200 characters, checked at booking
TikTok's own arithmetic. Too long is refused with the real count, never trimmed at send time.
Exact time or refused
Name the minute and OpenClaw books it, or you are told why not and offered the next open slot. A booked TikTok post is never moved behind your back.
Preview before anything posts
preview: true runs the whole booking and writes nothing. OpenClaw shows the plan, with each slot and the day's remaining cap, and books only on your yes.
Clips cut in the same chat
Submit a video or stream link, get captioned 9:16 clips with a viral score, and post the best as native video on TikTok. No download, no re-upload.
Pacing and numbers
Video on TikTok is at least 2 hours apart, up to 4 a day under your plan. After a post goes out, OpenClaw can read back views and engagement where TikTok provides them.
How does OpenClaw post to TikTok through ClipSpeed?
You describe what you want in plain language and OpenClaw makes the ClipSpeed calls. A typical conversation has three beats.
Find your TikTok channel
Ask OpenClaw whether TikTok is connected. It calls list_channels and reads platform_settings, so it also knows what TikTok accepts and the limits before you write a word.
Compose within the rules
Describe the post. OpenClaw drafts within TikTok's limits, and leaves URLs out because they are removed anyway; mention a clip or a file and it attaches it.
Schedule or publish
Name a time, or say now. The slot is booked exactly or refused with the next open one, and the reply carries the id you can cancel or edit by.
TikTok settings reference
These are the schedule_post fields that apply to TikTok. Mention any of them in plain language and OpenClaw sets them; the server checks them at booking.
| Field | Type | Required | What it does on TikTok |
|---|---|---|---|
platforms | string[] | Yes | Include "tiktok". Up to ten platforms per call; each books its own slot. |
text | string | No | The caption, up to 2,200 characters including hashtags. URLs are removed before posting because TikTok suppresses captions with links. |
hashtags | string[] | No | Appended to the caption. They count toward the 2,200. |
clip_id or media_url | string | One of the two | A finished ClipSpeed clip, or a public https link to an MP4, MOV or WebM up to 1 GB. |
scheduled_at | ISO 8601 | No | Exact or refused with the next open slot. Omit to post as soon as possible. |
preview | boolean | No | Plan only; nothing is booked. |
Common TikTok configurations
Ask OpenClaw for any of these and it applies the matching settings.
Best clip, tonight
Two a day, two hours apart minimum
Caption without the link
Preview the week
Example prompts for TikTok in OpenClaw
Type these into a personal agent you run yourself and message from WhatsApp, Telegram or Discord, or pass one to routine in a script. OpenClaw calls ClipSpeed and confirms before publishing.
Post TikTok with a scheduled time
Post the highest-scoring clip to TikTok at 7pm with a caption that opens on the hook. Keep the text under 2,200 characters. Preview first.
Cut the clips, then post the best
Clip this link, keep the top three by viral score, and schedule them to TikTok at 11am, 3pm and 7pm tomorrow. Show me the plan before booking.
Check and adjust the TikTok calendar
What is scheduled on TikTok this week? Cancel tomorrow's post and tell me the next open TikTok slot on Friday.
TikTok limits and gotchas to know
TikTok enforces a few rules that OpenClaw and ClipSpeed respect automatically, but knowing them helps you phrase requests.
- Captions are capped at 2,200 characters with hashtags included. Anything longer is refused at booking so you can shorten it, never cut mid-sentence at send time.
- Links in TikTok captions are removed before posting. TikTok suppresses the reach of captions that carry URLs, so ClipSpeed removes them rather than letting the post underperform.
- TikTok takes video only. Image or text requests are refused with a plain message naming what TikTok accepts.
- Videos on one account are spaced at least two hours apart and capped per day by your plan. The booking names the next open slot when a time is taken.
- The agent asks before anything goes live. Posting to your public account is outward-facing, so confirm platforms, copy and time; use preview mode when you want to see the plan first.
| Rule | TikTok |
|---|---|
| Accepts | Video |
| Text limit | 2,200 characters |
| Title | No title field |
| Links in the caption | Removed before posting (a link in a TikTok caption is a known reach killer) |
| Pacing | Video on TikTok is at least 2 hours apart, up to 4 a day under your plan. |
| Formats | Video: MP4, MOV or WebM up to 1 GB by public link, or a finished ClipSpeed clip by clip_id. Aspect: 9:16 vertical |
| Status | Posting today |
What Postiz-style schedulers cannot do
Cut the clips first
OpenClaw does not need finished video to start. Hand it a YouTube link, a podcast, a stream VOD or a local export. ClipSpeed finds the moments, cuts them to 9:16 with word-by-word captions, scores each one 0 to 100 for shareability, and returns them in the same conversation. OpenClaw picks by score, writes the caption from the transcript, and books the clips on TikTok. Three tool calls, one approval, no download and no re-upload.
- Clips arrive with a title written from the hook, a transcript and a viral score, so the agent can choose and caption without watching the footage.
- Live streams can be clipped while they are still on air; the agent books the highlights for the next morning before the stream ends.
- Every clip is already hosted, so
schedule_posttakes its id directly. Nothing moves through your laptop.
submit_to_clipspeedPaste the link. ClipSpeed starts the job and returns a project id.check_clipsPoll with the project id. Back come the finished 9:16 clips with titles, transcripts, viral scores and preview links.schedule_postPass the clip id, the platforms, a caption and a time. OpenClaw shows the plan with preview: true, you say yes, it books.generate_image or generate_videoDescribe the shot. ClipSpeed runs it on the model that fits (Seedance, Kling, Veo, Nano Banana Pro, GPT Image and others) and quotes the credits first.wait_for_generationReturns the hosted result link and a preview the agent can show you.schedule_post with media_urlThe result link goes straight into the booking on TikTok. The caption, the time and the file are approved together.The other half nobody else has
Generate the video, then post it
A product shot for Instagram, a 16:9 announcement graphic for X, a six-second opener before a clip: OpenClaw can make a short video with ClipSpeed's image and video models and book the result in the same reply. There is no separate design tool, no export, no upload page. The generated file is hosted, so media_url is the only thing the booking needs.
- The price in credits is quoted before anything renders, within the per-generation and daily caps you set in Settings.
- Results are previewed in the conversation, so you approve the picture and the post at once.
- video posts as MP4, MOV or WebM up to 1 GB.
What is OpenClaw?
OpenClaw is an open-source personal agent that runs on your own machine or server and takes instructions from messaging apps. It can call MCP servers that speak streamable HTTP. With ClipSpeed configured with an API key, your OpenClaw agent can clip videos, generate media and schedule posts when you message it.
How ClipSpeed works with OpenClaw
- The agent connects to the ClipSpeed server over HTTP with a Bearer key
- It reads
platform_settingsbefore composing schedule_postis exact or refused with the next open slotpreview: truefor a plan it sends you before booking- Routines in the agent can call the same tools on a schedule
OpenClaw vs nanoclaw vs Hermes Agent: OpenClaw (your machine; whatsapp, telegram, discord), nanoclaw (your machine; whatsapp or telegram), Hermes Agent (your machine or server). This page is about OpenClaw; the OpenClaw guide compares them.
{
"mcpServers": {
"clipspeed": {
"url": "https://api.clipspeed.ai/mcp",
"headers": { "Authorization": "Bearer ${CLIPSPEED_API_KEY}" }
}
}
}
# Verify from chat:
# you: list my ClipSpeed channels
# agent: TikTok connected (@yourname) · YouTube connected · X connected# What the agent reads at connect time (tool descriptions, abridged)
list_channels Connected platforms, what each accepts, limits, your time zone
connect_channel A private 10-minute link to connect one platform
platform_settings Limits, title rules, link handling, pacing per platform
schedule_post clip_id | text | media_url → platforms[], scheduled_at, preview
list_scheduled_posts Scheduled, sending, posted, failed — with post links
update_scheduled_post Edit copy while still scheduled (the time never moves)
cancel_scheduled_post Cancel; undoable 72 h in the app
post_analytics Views, likes, comments, shares where the platform gives them
submit_to_clipspeed Start clipping a video or stream link → projectId
check_clips Finished 9:16 clips with titles, transcripts, viral scores
generate_image / generate_video / wait_for_generation
# TikTok: video · text 2,200Post to TikTok and other platforms from OpenClaw
One request can book the same content to TikTok and other channels, each keeping its own settings and its own slot. Every platform below has its own OpenClaw guide.
Also works with
TikTok and OpenClaw: frequently asked questions
How do I post to TikTok from OpenClaw?
In ClipSpeed, open Account → API & Integrations → Generate API Key. Copy the csai_live_ key once. Add the clipspeed server to your OpenClaw agent's MCP configuration with the URL and the Authorization header. Connect TikTok in ClipSpeed (or ask OpenClaw for a connect link; it is private and valid for ten minutes), then describe the post in plain language. OpenClaw reads the TikTok rules, drafts within them, shows the plan and books on your yes.
What can OpenClaw post to TikTok through ClipSpeed?
Post vertical videos with a caption and hashtags, spaced so the account never looks automated. TikTok takes video posts; a text-only request is refused with a message naming what it accepts. Text is limited to 2,200 characters.
Which TikTok settings can OpenClaw control?
The fields in the settings reference above: text, hashtags, clip_id or media_url, scheduled_at, preview. Mention any of them in plain language ("unlisted", "tomorrow at 9", "preview first") and OpenClaw sets the matching field before it books.
Do I need a TikTok API key or developer account?
No. You connect TikTok to ClipSpeed once through TikTok's own sign-in, and OpenClaw talks to ClipSpeed over OAuth. No TikTok developer key, bearer token or password is pasted anywhere.
How many TikTok posts a day can OpenClaw schedule?
Video on TikTok is at least 2 hours apart, up to 4 a day under your plan. When a time is taken, the booking is refused with the next open slot rather than moved. Ask for preview to see a day's plan and the remaining cap before anything is booked.
Can OpenClaw post to TikTok from a script or a cron job?
Yes. OpenClaw's headless mode (routine) runs one prompt and exits, and the ClipSpeed server registered on that machine does the booking. On a runner with no browser, authenticate with a ClipSpeed API key header. Keep preview on so the run reports a plan before it books.
Is posting to TikTok from OpenClaw different from nanoclaw?
The booking is identical: the same rules, the same calendar, the same refusals. What differs is where you work. OpenClaw: your own machine or server; chat from whatsapp, telegram, discord. nanoclaw: your machine; whatsapp or telegram, smaller footprint, fewer integrations.