Skip to main content
Stratos AI turns one app into a stream of TikTok-native content — photo slideshows, illustrated decks, AI-creator videos — and posts it on a schedule. The v1 API exposes that same engine to your own code, an MCP-connected agent, or the stratos CLI.

What you can do

Import an app

Paste an App Store link, a website, or just a name. Free, no credits spent.

Generate content

Slideshows, illustrated decks, or hook videos — any topic, any archetype.

Schedule to TikTok

Drafts by default. Direct publish is available, scope-gated.

Read analytics

Views, likes, comments — the same numbers the dashboard shows you.

The one rule that shapes everything else

Nothing schedules until it’s approved. Every piece of generated content starts as approvalStatus: "pending". Scheduling a post requires calling POST /v1/content/{id}/approve first — the API rejects the schedule request otherwise, with a 409 that says exactly why. This is the actual safety mechanism against an agent looping generation-and-posting unsupervised — not a rate limit, not a spend cap (though those exist too), the approval step itself. Read The approval gate before building anything that generates and schedules content in the same flow.

What doesn’t exist here

Being upfront about this matters more than it sounds: an agent (or the person operating it) should never assume a capability exists because it seems like it should. Two honest gaps, as of this API’s first release:
  • Illustrated decks and hook videos aren’t generation-complete yet. POST /v1/content with type: "illustrated" or type: "hook_video" creates a record but returns a clear generation_not_wired notice instead of a result — their pipelines are asynchronous Durable-Object state machines that need a dedicated integration pass. type: "slideshow" is fully live.
  • Posting requires rendered images, and image compositing is a client-side step today. POST /v1/schedules will fail with a 409 (no_images) on content that has no images array in its result — which today means every slideshow, since text generation and image rendering are separate steps and only the former is wired via this API so far.
Check GET /v1/jobs/{id} or the notice/error fields on any response — the API always tells you which of these you’ve hit, rather than returning a silent partial success.