The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Starreel listing page.
Turn a script into a finished, downloadable short-drama episode — from Claude, Cursor, or any MCP client.
StarReel is a prepaid AI video-production pipeline. This MCP server exposes the
whole factory — 120+ tools covering every stage — so an AI agent can take a raw
script all the way to a finished .mp4:
It is a thin, open client: all the heavy lifting (character-consistency gates, frame chaining, best-of-N auditing, billing) runs server-side at starreel.ai.
produce scope in StarReel → Settings → API Keys
(srk_live_..., shown once).Or install the Claude Code plugin — MCP server + agent skill in one step
(set STARREEL_API_KEY in your shell first):
<your script>" —
it will quote each paid stage first and only spend after you confirm.Requires Node ≥ 18 (npx). The standard config below works as-is in
Cursor · Windsurf · Cline / Roo Code · Claude Desktop · Trae · Cherry Studio ·
Chatbox · DeepChat and any client that reads an mcpServers JSON block:
Clients with their own format:
~/.codex/config.toml.vscode/mcp.json or user mcp.json~/.gemini/settings.jsonDrive the same pipeline over REST (/v1/produce/*) and paste
SKILL.md into your system prompt — it carries the full
workflow order, billing disciplines, and failure playbook.
See the API docs.
| Stage | Tools (selection) |
|---|---|
| Orientation | get_capabilities_guide (free, local) — which entry point for which material, pipeline order, gates, billing |
| Project setup | create_drama · update_project_settings · list_project_options |
| Script | set_script · AI rewrite · edit_rewritten_script |
| Bring your own material | get_script_format_spec · check_script_format · adopt_external_script (rewrite on any AI, then adopt verbatim) · get_storyboard_table_spec → check_storyboard_table → import_storyboard_table (a finished shot list skips rewrite + breakdown) · get_bulk_import_spec → check_bulk_import → bulk_import_storyboards (structured JSON builds cast, scenes and shots in one go) · upload_* (own portraits / scene / prop / shot images) |
| Cast & world | asset extraction · update_character · generate_world_concept · generate_art_bible |
| Identity anchors | generate_portraits_and_sheets (portraits + character sheets = the consistency anchor) |
| Storyboards | quote_storyboards → generate_storyboards → get_storyboards |
| Frames & video | quote_frames → generate_frames · quote_videos → generate_videos |
| Audio | generate_tts · generate_bgm (steerable via prompt) · get_bgm_prompt_guide · generate_sfx · voice cloning · design_voice (a new voice from one sentence) |
| Finishing | compose_episode (free) · get_final_cut · render_multi_aspect · posters & covers |
| Localization | translate_subtitles · localization jobs |
| Ads / MV modes | product library & product sheets · MV lyrics → story → script |
Project types: drama / ad / mv / brand_film.
When the narrator or a character has no fitting voice in the library and there is no authorized recording to clone, design one from a single sentence.
| Step | Tool | Cost |
|---|---|---|
| 1. Describe, generate candidates | design_voice (description, optional preview text) → design_id | free |
| 2. Wait and listen | get_voice_design (design_id) — about 1-3 minutes; when done, every candidate is downloaded as a local wav (local_path) for the customer to pick | free |
| 3. Keep one | save_designed_voice (design_id, index, name) → voice_id (e.g. lib:12) | same as a voice clone; saving the same candidate twice charges once |
| 4. Use it | set_character_voice (character_id, voice_id) — generate_tts then reads every line of that character with it | free |
The narrator is a character too (char_type voiceover). Describe what you want rather than what
you don't — age, gender, timbre, pace, mood — e.g. "a middle-aged man, low and warm voice, slow pace,
sentences trail downward". Always make the customer pick one before dubbing: the same
description gives a different person every time (measured voice similarity as low as 0.23), while
a saved voice is cloned for every line (0.85-0.90). Limits: one design at a time per account, 30 per
24 h; preview sentence 14-28 characters; candidates are kept for 6 hours; never name a real person
to imitate their voice.
402 — nothing half-runs.quote_* → show the user →
generate_* with the returned quote_id. For video, quote == actual charge
(same function computes both).SKILL.md ships inside the package — a platform-agnostic operating
manual (full pipeline order + ten operating disciplines + a failure playbook).
The server also announces the same guidance at connect time (MCP instructions)
and exposes it as a tool, get_capabilities_guide, so an agent that has never
seen this file still learns which entry point each kind of material takes.
Skill-aware clients load it automatically; on platforms that can't run npx
(Coze / Dify / GPTs / custom agents) paste it into the system prompt and drive
the same pipeline over REST (/v1/produce/*).
Install it as a standalone agent skill (Claude Code, Codex, Cursor, OpenCode
and 70+ agents) via
the skills CLI:
| Variable | Required | Default |
|---|---|---|
STARREEL_API_KEY | ✅ | — |
STARREEL_AUTH_BASE | https://api.shortreelai.com |
Prefer plain REST? The full production facade is described in
openapi.json (OpenAPI 3.1, 100+ operations — generated from
this package's tool surface, so operationIds match MCP tool names 1:1).
Browse it rendered at
starreel.github.io/starreel-mcp, or
generate a typed client for any language:
MIT — this client is open; the production pipeline is a hosted service.