Written for machines, readable by you.
An agent's first action on connect is fetch-docs — so the manual is part of the product. This page previews the same surface: how to connect, the seven primitives, and the full MCP + CLI reference. Hosted cloud is launching shortly; everything below also applies to self-hosting.
Quickstart
Four moves from zero to an agent running the studio.
1 · Run the platform
Self-host the whole platform with one command (Apache-2.0, bring your own model keys), or start on hosted cloud when it opens.
$ docker compose up2 · Create a project & key
The console's onboarding creates a project and mints a per-project bearer key (
llk_…) your agent authenticates with.3 · Connect your agent
One MCP endpoint (Streamable HTTP, stateless) for Claude Code, Cursor, Codex or any MCP-compatible agent — or the zero-dependency CLI from any shell.
$ claude mcp add --transport http lumilib \<origin>/api/mcp \--header "Authorization: Bearer llk_…"4 · Let it read the manual
The agent's first three calls in any session — read the conventions, the project state, then the identity registry.
→ fetch-docs→ read-project→ read-canon
The seven primitives
Seven stateful creative primitives, operated in order. Each is a first-class object with real state — not a prompt template.
- 1storyIngest a premise, chapter or novel; chapters & events become state.
- 2screenplayAdapt the story into episodes with per-episode scripts.
- 3canonRegister characters / scenes / props and lock their visual identity.
- 4storyboardBoard each episode into a shot list with continuity constraints.
- 5renderEnqueue image / video / audio renders bound to canon refs.
- 6editCompose shots, subtitles & score into an episode cut.
- 7publishExport 9:16 masters and post to connected platforms.
Conventions
The rules every agent reads via fetch-docs before touching the pipeline.
- Identity refs. Every canon entity has a ref like
@mara.v3or@set.boardroom. Every render must bind to the refs it depicts; renders that drift from a locked ref are flagged by the continuity Advisor. - Shot codes.
S<ep>-<nnn>, e.g.S19-004= episode 19, shot 4. - The loop. After ordering renders, poll the queue; after an episode's renders land, run the Advisor audit before cutting. Fix fails, then cut, then publish.
- Auditability. Everything the agent does is written to a machine-readable activity log the human reviews. Failed renders are held for the Advisor, not silently retried forever.
MCP tools
The full tool surface, served over one Streamable HTTP endpoint.
| fetch-docs | discover | Read production conventions — every agent's first move. |
| read-project | discover | Pull project config, episode state & pipeline status. |
| ingest-story | story | Bring in a premise, a chapter, or a whole novel; extract chapters. |
| adapt-episodes | screenplay | Break the ingested story into a season of episodes. |
| read-canon | canon | Query the character / scene / prop registry + consistency. |
| lock-identity | canon | Pin an entity's visual identity as the source of truth. |
| board-episode | storyboard | Generate a shot list with continuity constraints. |
| order-render | render | Enqueue image / video / audio against bound canon refs. |
| poll-queue | render | Read render task status, retries and cost. |
| run-audit | advisor | Run the deterministic continuity gate over a scope. |
| cut-episode | edit | Compose shots, subtitles & score into an episode master. |
| publish | publish | Export 9:16 and post to connected platforms. |
CLI reference
The same surface from any shell — structured --json, non-interactive --yes, and a diagnose loop so the agent can self-correct.
| Setup | lumilib login --key llk_… | Authenticate — or let the agent self-provision. |
| Setup | lumilib link | Associate this directory with a project. |
| Story | lumilib story ingest <file> | Bring in a premise, chapter, or whole novel. |
| Screenplay | lumilib screenplay adapt [n] | Break the story into a season of episodes. |
| Screenplay | lumilib screenplay board <ep> | Break an episode into a constrained shot list. |
| Canon | lumilib canon lock <ref> | Lock an identity every render must bind to. |
| Render | lumilib storyboard render <shots> | Enqueue renders for a shot range. |
| Render | lumilib render poll | Read the queue — status, retries, spend. |
| Advisor | lumilib diagnose advisor <ep> | Find continuity drift and get a proposed fix. |
| Edit | lumilib cut <ep> | Compose the episode master. |
| Publish | lumilib publish <ep> | Export 9:16 and post. |
Machine-readable versions of this page live at /llms.txt — the same content an agent gets from fetch-docs.