Skip to content
ClaudeCodexOpenClawChatGPTCadenus

Social media publishing for AI agents

Your agent already edits the video. Now it can post it.

If you work in Claude Code, Codex or OpenClaw, you know the last step is still you: export the clip, open Instagram, upload, paste the caption, pick a time. Cadenus gives that step to the agent. It takes the file from your disk, makes sure Instagram will actually play it, and posts or schedules it on the accounts you connected.

€19 / month7-day free trial · Cancel any time, nothing charged
Someone at a laptop while short videos travel from the terminal out to social channels
One commandEvery channel

Publishes natively to

InstagramFacebookTikTokLinkedInXYouTube

The whole thing, once

One command, and the clip is on its way.

The agent runs one command with the file, the caption and the accounts. Behind it, Cadenus reserves a place in storage, the agent uploads the file straight there, and we check it before anything goes out. Nothing gets squeezed into a tool call and there is no 100 MB wall to hit. A 250 MB reel goes through the same as a photo.

claude code · ~/exports
# the agent finished the reel and you asked it to schedule it for Thursday
$ cadenus post ./launch-reel.mp4 \
    --caption "Three things I stopped doing after 100 posts" \
    --to instagram,tiktok \
    --at "2026-09-10T09:00:00+03:00"

# reserved · uploaded 84 MB straight to storage · checked · HEVC rewritten as H.264
{
  "ok": true,
  "scheduled": [
    { "channel": "instagram:@studio.north", "post_id": 453, "status": "scheduled" },
    { "channel": "tiktok:@studio.north",    "post_id": 454, "status": "scheduled" }
  ],
  "errors": [],
  "when": "2026-09-10T09:00:00+03:00"
}

# Thursday, a bit after nine
$ cadenus result 453
{ "status": "published", "url": "https://www.instagram.com/reel/DP4k…" }

What Cadenus does with it

The same road a person takes through the composer. The agent just does not need the composer.

Reserve
A signed address in our EU storage, good for this one file.
Put
The agent sends the bytes itself. Up to 300 MB.
Check
We read the file back and make sure it is what it says it is. If it came off a phone as HEVC, we rewrite it as H.264, because Instagram accepts HEVC and then fails it a few hours later.
Publish
Each caption is checked against that platform's limits before it is queued. If one channel is wrong you hear about that channel, and the others still go.

Setup, about five minutes

Three things you do once.

  1. 01

    Connect your accounts

    Log in to Instagram, Facebook, TikTok, LinkedIn or YouTube inside Cadenus, the normal way. The agent never gets a password. It gets a token you can take back.

  2. 02

    Make a token

    Settings, then API & MCP. A read token lets the agent look and report. A write token lets it publish. If you ever want it to stop, delete the token and it stops.

  3. 03

    Give the agent the skill

    Put the Cadenus skill in the agent's folder, or paste the MCP address into Claude or ChatGPT. From then on you say “post this Thursday at nine” and it knows what to do.

Three ways in

It works where your agent already is.

Some agents live in a terminal next to your files. Some live in a chat window. Some are a script that runs at night. Same accounts, same rules, same token.

Claude CodeCodexOpenClaw

In the terminal

These agents have the file on disk and a shell. The skill teaches them the three calls; the script runs them.

# once
export CADENUS_TOKEN=cdn_…
# then, whenever
$ cadenus post ./clip.mp4 --to tiktok
ClaudeChatGPTCURSOR

In the chat

Paste the URL, sign in, done: Claude and ChatGPT register themselves. The chat gets 29 tools: plan the week, see what went live, move a post, cancel one.

# add as a custom connector
https://app.cadenus.io/api/mcp
# then sign in, no token to copy
RESTN8NMAKE

From a script

Four plain HTTP calls. Anything that can send a request can post: n8n, Make, a cron job you wrote in ten minutes.

POST /api/agent/media
PUT  <upload_url>
POST /api/agent/media/confirm
POST /api/agent/posts

What it can call

29 tools. Four of them post.

Most of the list is for reading: what went live, what is scheduled, what a client still has to approve. A read token sees all of it. A write token can also act.

Publish write

  • publish_post
  • schedule_post
  • reschedule_post
  • cancel_post
  • create_media_upload
  • confirm_media_upload
  • import_media_from_url

Read back read

  • list_channelswith each platform's caption limit
  • get_post_resultstatus and live link
  • list_posts
  • get_post_details
  • get_content_calendar
  • list_media

Plan & approve agency

  • create_draft
  • update_draft_caption
  • submit_draft_for_review
  • approve_draft
  • list_pending_approvals
  • list_clients
  • get_workspace_info

Research read

  • find_creator
  • get_creator_top_videos
  • list_outlier_videos
  • list_content_ideas
  • promote_idea_to_production
  • list_production_items
  • list_stalled_items

You are still in charge

The agent does the work. The rules stay yours.

Everything the agent does lands in the same calendar your team looks at, with the token's name on it. And there are a few things it simply cannot do.

  • If a client's brand needs approval before posting, the agent gets a draft, not a publish. We tell it that in plain words, so it can tell you.
  • A caption too long for TikTok, 31 hashtags on Instagram, a first comment on a platform that has none: we say no before it is queued, and we say which channel.
  • Send the same post twice by mistake and you get the first one back, not two on the feed.
  • Delete the token and every door closes at once. Files sit in EU storage and are removed once they have been published.
The Cadenus publishing calendar with posts an agent scheduled
Scheduled by agent · token “render-bot”

1

command from the file on your disk to a scheduled post

29

tools, most of them for reading back what happened

€19

a month, eight channels, agents and Notion included

Why not any scheduler with an API?

The difference shows up on the second post.

Any API will take a caption. The trouble starts with the file, with the failure that arrives hours later, and with the client who wanted to see it first.

What happensAgent + a generic scheduler APIAgent + Cadenus
The video fileYou base64 it into a tool call, or host it somewhere public firstThe agent uploads it from disk to a signed address, up to 300 MB
Phone footageAccepted, then Instagram fails it in processingRewritten as H.264 before it is queued
PublishingCreate, then schedule, then pollOne call, an answer per channel, and the live link when it goes out
LimitsYou find out when the platform says noWe check on the server first, per platform
A client who has to approveThe agent posts anywayThe agent gets a draft and is told why
Your calendarOne more tabThe one you already use, or your Notion database, with the result written back

If you are an agent reading this

The facts, in one place.

The same numbers as on the pricing page, in llms.txt and in the MCP server's own description.

product
Cadenus, social media publishing for teams, agencies and AI agents
agent_door
MCP server (29 tools), shell skill for local agents, REST endpoints under /api/agent
mcp_url
https://app.cadenus.io/api/mcp
auth
OAuth 2.1 one click in Claude and ChatGPT, or Bearer token cdn_…; scopes read and write
works_with
Claude Code, Codex, OpenClaw, Claude, ChatGPT, Cursor, any MCP client, any HTTP client
platforms
Instagram, Facebook, TikTok, LinkedIn, YouTube; X per connected account
media
mp4, mov, jpg, png, webp; direct upload up to 300 MB; HEVC converted to H.264 automatically
caption_limits
Instagram 2,200 and 30 hashtags · TikTok 2,200 · LinkedIn 3,000 · YouTube 5,000 · X 280 · enforced server-side
price
Connect plan €19 per month, 8 channels, 5 GB, 7-day free trial; Starter from €79 adds client approvals and portals
hosting
EU, media stored in EU object storage
docs
cadenus.io/developers/ · cadenus.io/llms.txt
updated
2026-09-07

Questions people ask us

Agents and social media, answered.

Does Cadenus have an MCP server?

It does, at https://app.cadenus.io/api/mcp, with 29 tools. In Claude or ChatGPT you add it as a custom connector and sign in; in Claude Code, claude mcp add.

Can Claude Code post to Instagram and TikTok with Cadenus?

In one command. With the skill installed and a write token exported, cadenus post ./clip.mp4 --to instagram,tiktok uploads the file, fixes the codec if it needs fixing, and posts or schedules it.

How does the agent send a video file?

It uploads it itself. Cadenus hands it a signed storage address, the agent puts the bytes there and confirms. The file never travels inside a tool argument, so there is no base64 and no 100 MB limit. The ceiling is 300 MB.

Does it work with OpenClaw and Codex?

Anything with a shell and curl can run the skill, so both do. Agents that speak MCP connect to the server directly and get the same tools.

Can the agent publish without a human approving?

On your own accounts, yes. If a brand in your workspace requires client approval, the agent gets a draft instead and is told which flow to use. There is no way around that rule from the agent's side.

What does it cost?

€19 a month on the Connect plan: eight channels, the MCP server, the skill and the API. The first 7 days are free and you are not charged if you cancel.

What if the agent misbehaves?

Delete the token. Every call stops. Every post it created is in the calendar under the token's name, so you can cancel or move it from there.

Do I need Notion for this?

No. Notion is a second door on the same plan: plan in a database, Cadenus publishes and writes the link back. One workspace can use both.

Make a token. Ask your agent to post something.

€19 / month · 7-day free trial · Cancel any time, nothing charged