Creator OS

Creator OS docs

Run your socials from the command line
or hand it to an agent

New here? Watch the walkthrough first

The founder, @KevBuildsApps, teaches the full Creator OS + Claude Code workflow in depth on YouTube: setup, prompts, and the playbooks that actually grow accounts.

Watch →

Overview

Creator OS is the operating system for social media: one account connects Instagram, TikTok, YouTube, X, Facebook, LinkedIn, and Threads, and everything you can do in the dashboard (publishing, scheduling, analytics) is also available through the Creator OS CLI. That makes the whole platform agent-ready: any AI agent can run an account end to end with one scoped API key.

These docs cover the two ways to set that up, the Kairos agent, and, workflow by workflow, the endpoint surfaces your agent works with: comment funnels, replies, moderation, DMs, multi-platform posting, scheduling, and analytics. No REST calls to learn; the workflows below are the interface.

Quickstart

First, get your API key. Create a Creator OS account, connect your socials, and grab the key from Settings → API keys (one key per workspace; agency plans get one per client). Keys look like sk_ + 64 hex characters.

From there, there are two ways to set up. Most people should run the Creator OS agent: the CLI ships inside its codebase, so there is nothing separate to install.

Option 1

Run the Creator OS agent (recommended)

Install your own copy of Kairos, the Creator OS agent. The Creator OS CLI is already inside its codebase, wired up and ready, so setup is just clone and start. You need an AI brain: a logged-in Claude Code works on your Claude plan, or set ANTHROPIC_API_KEY.

$ git clone https://github.com/kevinbadi/kairos && cd kairosCopy
$ npm start creatoros kairosCopy

First run is the onboarding interview: Kairos collects your API key (masked, validated live), your brand, your links, and your automation preferences, then drops you into a chat that runs your accounts. The full walkthrough is in the Kairos section below.

Option 2

Install the CLI in your own AI coder

Already live in Claude Code, Codex, Cursor, or Replit? Bring Creator OS to the agent you already use. In any terminal with Node 20+, open your agent in a working folder and run:

$ npx @creatoros/cli@latest initCopy

It asks for the key, validates it live, installs five agent skills into ./creatoros/skills/, and generates the agent surfaces: creatoros/CLAUDE.md, creatoros/START.md, slash commands, and creatoros/mcp.json. Then send your agent one message:

Read creatoros/START.md and get acquainted with my socials.

Either way, on that first run the agent checks your connected accounts, pulls follower stats and analytics, and reports back with everything it can do. From then on you talk to it in plain language: “schedule this week’s clips,” “post this everywhere,” “how did last week perform?”

Kairos, the Creator OS agent

Kairos (the Kai agent) is Creator OS’s own agent harness: a ready-to-run agent with the CLI built into its codebase. Instead of wiring the toolkit into your own AI coder, you run Kairos and get an agent that already knows it. It onboards you with a few setup questions, writes a brand file it re-reads before every run, and manages your accounts end to end.

Kairos ships as a fork-and-run starter repo: github.com/kevinbadi/kairos (open source, MIT). Fork or clone it, npm install(bootstraps the CLI and agent surfaces), set your Anthropic API key (the agent's brain), and start. Your Creator OS workspace key is collected during the onboarding interview, masked as you type:

$ git clone https://github.com/kevinbadi/kairos && cd kairosCopy
$ npm installCopy
$ export ANTHROPIC_API_KEY=...Copy
$ npm start creatoros kairosCopy

Onboarding: Kairos builds your brand file

On first run Kairos interviews you and saves the answers to a brand file (brand.md) that anchors everything it writes and replies to:

Your brand

What you’re marketing and what you’re selling: the products, offers, and positioning Kairos writes toward in every post and reply.

Your links

URLs for your products and services, so posts, replies, and DMs always send people to the right place.

Your profiles

The username for each connected profile, so the agent addresses the right account on every platform.

Automations

Whether you want automations set up. Say yes and Kairos preconfigures them for you during onboarding.

What Kairos can do

This is the exact Creator OS API surface Kairos ships with. Every other endpoint is gated off from the agent, so it can’t touch anything outside this list.

Posting

Every post type, to one account or many at once.

  • Short-form video: TikTok, Reels, Shorts
  • Long-form video
  • Carousels
  • Single posts: image or blog-style text
  • Threads & tweets
  • Multi-posting: one call publishes to several platforms
  • Scheduling: server-side, nothing stays running on your machine

Analytics

The same numbers the dashboard shows, readable by the agent.

  • Platform analytics: follower growth, views, and per-platform performance
  • Post analytics: per-post metrics across every connected platform

Messaging & comments

Webhook-driven: Kairos reacts as events arrive, no polling.

  • Message (DM) replies: X, Instagram, Facebook
  • Comment replies on every platform except TikTok: X, Instagram, Facebook, Threads, YouTube, LinkedIn
  • Comment-to-DM workflows: Facebook & Instagram

Comments → DM

Works on: Instagram, Facebook

The funnel workflow: someone comments a keyword on your post (“GUIDE”, “LINK”, “PRICE”) and they automatically get a DM with your link. It’s the highest-converting thing you can run on Instagram, because the platform rewards comment volume and the DM lands while the person is still looking at your content.

A comment-to-DM automation has a trigger, a match rule, and a payload:

Trigger

A keyword comment on a post or reel, scoped to one specific post or account-wide so it fires on every post. Instagram also supports story-reply triggers: someone replies to your story with the keyword and gets the DM.

Match rule

Your keyword list, matched exactly or as “contains”. Leave keywords empty and every comment triggers it.

The DM

Your message plus up to 3 link buttons. Add message variations and Creator OS rotates them at random, so a thousand DMs don’t all read identically.

Public reply (optional)

A comment reply posted in the thread alongside the DM (“sent you a DM!”) with its own rotating variations.

Link tracking

On by default: link buttons are wrapped in a tracked redirect, so stats show delivered, read, clicks, and unique clickers per automation. Clickers can be auto-tagged for segmentation.

$ creatoros automations:list --cloudCopy

Or just tell your agent

Set up the funnel on my launch post: keyword GUIDE, DM them the checkout link.

Reply to comments

Works on: Instagram, Facebook, X, Threads, YouTube, LinkedIn (every platform except TikTok)

Every comment across every connected account flows into one inbox. List them all, pull one post’s thread, and reply, from the CLI or the Creator OS app’s Inbox tab.

$ creatoros inbox:comments --prettyCopy
$ creatoros inbox:reply <postId>Copy

There’s also a private-reply move most people don’t know exists: answer a comment in the commenter’s DMs. Right for “what’s the price?” questions you’d rather not negotiate in public.

$ creatoros inbox:private-reply <postId> <commentId>Copy

For hands-off replies, AI auto-replies run server-side: configure the voice prompt and your links in the Creator OS app and incoming comments get answered around the clock, no CLI or machine involved. Kairos does the same thing webhook-driven, with judgment: it drafts on-brand replies and escalates sensitive threads to you.

Or just tell your agent

Go through today’s unanswered comments and reply in my voice. Skip anything about refunds, flag those for me.

Like comments

Works on: Facebook, X

The lightest-touch engagement there is: liking a comment tells the commenter they were seen without you writing anything, and comment engagement feeds the platforms’ ranking of your post. A like-sweep after posting (every positive comment in the first hour) is a cheap, real boost.

$ creatoros inbox:like-comment <postId> <commentId>Copy
$ creatoros inbox:unlike-comment <postId> <commentId>Copy

Platform note: Instagram removed comment-liking from its API back in 2018, and Threads, YouTube, and LinkedIn don’t offer it either. That’s why this one is Facebook and X only; on the other platforms, a short reply is the equivalent gesture.

Or just tell your agent

Like every positive comment on my last three posts.

Hide comments

Works on: Instagram, Facebook, X, Threads

Moderation without the drama. A hidden comment disappears for everyone except the commenter: they still see it as posted, so there’s nothing to re-post and no “why did you delete my comment?” escalation. Spam, link-droppers, and bait go invisible without feeding them.

$ creatoros inbox:hide-comment <postId> <commentId>Copy
$ creatoros inbox:unhide-comment <postId> <commentId>Copy

Hiding is fully reversible. Deleting is not: inbox:delete-comment removes the comment permanently, and the commenter can tell. Default to hide; keep delete for the genuinely bad stuff.

Or just tell your agent

Hide every comment on my launch post that’s just a link or crypto spam.

Reply to messages

Works on: Instagram, Facebook, X

DMs are where comment funnels convert and warm leads go quiet if you’re slow. Every conversation across your connected accounts is listed in one place; read a thread, reply, mark it read:

$ creatoros inbox:conversations --prettyCopy
$ creatoros inbox:messages <conversationId>Copy
$ creatoros inbox:send <conversationId>Copy

On Instagram and Facebook, DMs support link buttons and quick replies, and delivery and read receipts flow back into your stats. Like comments, message auto-replies run server-side from the Creator OS app: set the voice and links once and the inbox answers itself, with Kairos escalating anything sensitive instead of winging it.

Or just tell your agent

Anyone who DMed the word GUIDE this week and never got the link: send it with a one-line follow-up.

Hide messages

Works on: Instagram, Facebook

Inbox zero for DMs: archiving a conversation hides it from the active inbox without deleting anything. The history stays intact and the thread comes back (or can be unarchived) if the person writes again. It’s how you keep the inbox to the conversations that still need a human.

$ creatoros inbox:update-conversation <conversationId>Copy
$ creatoros inbox:mark-read <conversationId>Copy

Or just tell your agent

Archive every conversation that’s been resolved for over a week.

Post to all platforms

Works on: Instagram, TikTok, YouTube, X, Facebook, LinkedIn, Threads

One flow for everything: upload media once, validate, then a single posts:create targeting every account that should get it. One call, seven platforms.

$ creatoros media:upload path/to/clip.mp4Copy
$ creatoros posts:create --text "<caption>" --accounts <id1>,<id2>,<id3> --media <url>Copy

What you can publish where

Text

Plain text posts and threads

X, Threads, LinkedIn, Facebook

Image

Single photo with a caption

Instagram, X, Threads, LinkedIn, Facebook

Carousel

Multi-image swipe posts

Instagram, TikTok, LinkedIn, X, Facebook

Short video

Vertical shortform: Reels, TikToks, Shorts

All seven platforms

Long video

Standard long-form video

YouTube, Facebook, LinkedIn, TikTok, X

Before big sends, validate: validate:post-length checks your caption against every platform’s character limit (Threads caps at 500, X at 280 free, the #1 cross-posting failure), and validate:media checks formats, sizes, and aspect ratios. Creator OS handles the per-platform payload differences for you, including TikTok’s required consent flags.

If one platform fails inside a multi-platform post, the others still publish. Check posts:get <postId> for the platform error, fix it, then posts:retry <postId>. No re-uploading, no re-posting the ones that worked.

Or just tell your agent

Post this clip everywhere: content-library/day1.mp4. Write per-platform captions.

Schedule everywhere

Works on: Instagram, TikTok, YouTube, X, Facebook, LinkedIn, Threads

Scheduling is the same posts:create call plus a time. Everything publishes from Creator OS servers at the scheduled moment; nothing keeps running on your machine. Schedule a month and close the laptop.

$ creatoros posts:create --text "<caption>" --accounts <id1>,<id2> --media <url> --scheduledAt "2026-08-15T18:00:00" --timezone "America/New_York"Copy

Whole-calendar work goes through posts:bulk-upload with a JSON file: one call schedules the entire calendar. Always --dryRun first; it validates every row (asset exists, caption fits, date is in the future) without posting anything.

$ creatoros posts:bulk-upload --file calendar.json --dryRunCopy

The queue is inspectable and editable until the moment a post goes out: posts:list shows everything scheduled, posts:update edits a scheduled post, posts:delete pulls it. Ask analytics:best-time for the posting windows your accounts actually perform in, and schedule into those.

Or just tell your agent

Schedule next week from content-library/, one post per day at my best posting times.

Post analytics

Works on: All connected platforms

Per-post performance across every platform in one place: impressions, reach, likes, comments, shares, saves, clicks, and views, per post, comparable across platforms. The same numbers the app’s Analytics tab shows are readable by your agent:

$ creatoros analytics:posts --prettyCopy
$ creatoros analytics:daily --prettyCopy
$ creatoros analytics:best-time --prettyCopy

The point isn’t reporting, it’s judgment. An agent that reads last week’s numbers before scheduling next week doubles down on what worked: which hook, which format, which platform, which time slot. Ask “what performed best last month?” and the agent maps it to these commands.

Or just tell your agent

How did last week do? Rank my posts by views and tell me what the top three have in common.

Follower analytics

Works on: All connected platforms

Follower counts across every connected account in one call. The growth number that actually matters, tracked over time rather than eyeballed:

$ creatoros accounts:follower-stats --prettyCopy

Instagram goes deeper: a daily follower-history series with per-day gained and lost (Creator OS snapshots this daily; Instagram itself no longer exposes a historical series), plus audience demographics by age, city, country, and gender once the account has 100+ followers.

$ creatoros analytics:get-instagram-follower-historyCopy
$ creatoros analytics:get-instagram-demographicsCopy

Gained-vs-lost is the diagnostic pair: growth with high churn is a content problem, flat growth with no churn is a reach problem. The Creator OS dashboard draws this as the follower heatmap; your agent can read the same series and tell you which posts the spikes line up with.

Or just tell your agent

Pull my follower history for the last 90 days and tell me which posts the growth spikes line up with.

Launch the Kairos dashboard

The Kairos repo ships with a local web dashboard for watching what your agent is actually doing, and verifying it’s working. From the kairos folder:

$ npm run dashboardCopy

It opens at http://localhost:4180 (override with KAIROS_DASHBOARD_PORT). After npm link you can also launch it from anywhere with kai dashboard. Zero external services: it reads the repo’s files, the agent’s structured activity log, and the Creator OS API with your already-configured credentials. Missing credentials never crash it; you get a friendly connect state instead.

Overview

Health strip, reply/DM/post counters, a GitHub-style year heatmap of agent activity, and a live feed

Agent

Full transparency into the agent’s understanding: persona, objective, KPIs, comment/DM rules, and the literal system prompt it runs on

Automations

Every workflow drawn as trigger → action → outcome node chains, each with an operating/armed/failing health badge and live executions

Brand

Your brand file rendered, editable in place

Training

Every workflow playbook with last-used-by-the-agent info, editable in place

Logs

The full filterable activity feed with raw JSON and real error payloads

Chat

The same Kai as the terminal, streaming in the browser

Every panel is fed by plain local JSON endpoints (/api/health, /api/activity, /api/automations, /api/chat…), and a panel is just one ES-module file in dashboard/public/panels/ with no build step, so you can add your own views against the same data.

CLI reference

Everything below runs as creatoros … (from the Kairos codebase, or via npx @creatoros/cli after init). Add --pretty to any read command for human-friendly output; agents usually consume the default JSON.

Setup, accounts & publishing

creatoros init

Onboard: paste your API key, install the agent skills, generate agent surfaces (CLAUDE.md, START.md, slash commands, mcp.json)

creatoros sync

Refresh skills + agent surfaces to the latest we’ve shipped. Your edited files are never clobbered; updates land alongside as .new files

creatoros auth:check

Verify the saved API key is valid (exits 0 when good; skills run this first)

creatoros accounts:list --pretty

List this workspace’s connected social accounts and their account IDs

creatoros media:upload <file>

Upload an image or video once; returns a URL reusable across every platform

creatoros posts:create

Publish or schedule a post to one or many accounts (--accounts takes comma-separated account IDs)

creatoros posts:list --pretty

The queue: scheduled + published posts

creatoros posts:get <postId> --pretty

One post’s status, targets, and timing

creatoros posts:update / posts:delete

Edit or remove a scheduled post before it goes out

creatoros posts:retry <postId>

Re-attempt a post that failed on a platform

creatoros posts:bulk-upload --file calendar.json [--dryRun]

Schedule a whole calendar in one call; dry-run it first

creatoros validate:post-length --text "..." --pretty

Check a caption against every platform’s character limit before posting

creatoros validate:media --pretty

Check media against platform rules (formats, sizes, aspect)

creatoros accounts:tiktok-creator-info <accountId> --pretty

TikTok creator constraints (allowed privacy levels, limits); check before TikTok posts

Inbox: comments & messages

creatoros inbox:comments --pretty

List comments across every connected account

creatoros inbox:post-comments <postId>

Comments on one specific post

creatoros inbox:reply <postId>

Reply to a comment on a post

creatoros inbox:private-reply <postId> <commentId>

Answer a commenter in their DMs instead of the thread

creatoros inbox:like-comment / inbox:unlike-comment <postId> <commentId>

Like (or unlike) a comment

creatoros inbox:hide-comment / inbox:unhide-comment <postId> <commentId>

Hide (or unhide) a comment: reversible, and invisible to the commenter

creatoros inbox:delete-comment <postId>

Delete a comment permanently

creatoros inbox:conversations --pretty

List DM conversations across accounts

creatoros inbox:messages <conversationId>

Read the messages in one conversation

creatoros inbox:send <conversationId>

Send a DM in a conversation

creatoros inbox:mark-read <conversationId>

Mark a conversation as read

creatoros inbox:update-conversation <conversationId>

Archive / unarchive a conversation

creatoros automations:list --cloud

List your comment-to-DM automations with their stats

Analytics

creatoros analytics:posts --pretty

Per-post performance across every connected platform

creatoros analytics:daily --pretty

Daily account metrics over time

creatoros analytics:best-time --pretty

Best posting windows learned from your accounts

creatoros accounts:follower-stats --pretty

Follower counts across all connected accounts

creatoros analytics:get-instagram-follower-history

Instagram daily follower series: gained and lost per day

creatoros analytics:get-instagram-demographics

Instagram audience by age, city, country, or gender (needs 100+ followers)

Scheduled agent runs

creatoros automations:create <name> --schedule "<cron>" --skill <skill>

Schedule a recurring agent run, locally (launchd/cron) or --target railway for always-on cloud

creatoros automations:list / automations:remove <name>

Review or remove scheduled agent runs

Anything not listed passes straight through to the underlying engine. Run creatoros --help for the full surface.

Ready to hand over the keys?

Create an account, connect your socials, and your agent can be posting in the next ten minutes.