mcp server
drama-cc
One Claude Code slash command. Forty-second AI soap opera. Same characters, every episode.
Set up
Runs on your computer. Pick your agent and operating system.
This project does not publish an install method we can turn into a config. Follow the README instead.
README
synced Oct 17, 2026drama-cc
One Claude Code slash command. Forty-second AI soap opera. Same characters, every episode.
Demo
▶ Watch the 40-second demo — episode 1 of ball-romance: basketball and soccer ball get married, have a tennis-ball baby, soccer ball cheats with a bowling ball, basketball picks up the hoop.
40 seconds. 9:16 vertical. 720p. Captions perfectly synced. Generated end-to-end by one /drama invocation, ~15 minutes, ~$4.
Install
git clone https://github.com/KeWang0622/drama-cc.git
cd drama-cc
bash scripts/dev.sh install
This copies skills/drama/SKILL.md into ~/.claude/skills/drama/. Claude Code picks it up on next launch.
Then make sure Pika MCP is connected (/mcp in Claude Code → authenticate Pika).
Example
# In Claude Code:
/drama a coffee mug and a tea kettle fall in love, betray, divorce
# Or continue an existing series with the same characters:
/drama ball-romance next
# Or list your series:
/drama list
A 40-second captioned vertical video shows up at ~/drama-series/<slug>/episode-NN/FINAL.md. See examples/ball-romance/ in this repo for what a finished series looks like — including the series.json that locks the characters across episodes.
Why this matters
Every other AI short-drama tool — Jellyfish, Huobao, story-flicks — manages character consistency within one drama. None of them persist your characters across runs. Episode 2 reinvents the wheel and your basketball gets a different bow.
drama-cc writes characters to disk as a series. The same orange basketball with the same pink bow shows up in episode 1, episode 2, episode 7. Pika MCP's reference-image and identity primitives make this work from a single Markdown skill file — no web app, no Electron workspace, no database.
It also handles the unsexy parts: Whisper can't distinguish 他/她 in spoken Chinese (homophones), so auto-captions get pronouns wrong half the time and ruin the punchline. The skill always transcribes-then-corrects-then-manual-captions. You don't have to know this.
How it works
premise ┌────── narration MP3 ────┐
│ │ │
▼ ▼ ▼
┌────────┐ ┌───────────────┐ ┌──────────────────┐
│ Plan │───▶│ Phase 2: char │───▶│ Phase 3: audio │
│ beats │ │ ref images │ │ (narration +BGM) │
└────────┘ │ (or reuse) │ └──────────────────┘
└───────────────┘ │
│ │
▼ │
┌───────────────┐ │
│ Phase 4: 7 │ │
│ scene images │ │
│ (parallel) │ │
└───────────────┘ │
│ │
▼ │
┌───────────────┐ │
│ Phase 5: 7 │ │
│ seedance i2v │ │
│ (parallel) │ │
└───────────────┘ │
│ │
▼ ▼
┌────────────────────────────────┐
│ concat → mix narration → mix │
│ BGM → transcribe → manual caps │
└────────────────────────────────┘
│
▼
40-second MP4
Stage details, anti-patterns, voice/caption cheat sheet, and the full prompt patterns we tested live in skills/drama/SKILL.md. The skill includes everything Claude Code needs to run the pipeline.
Pika MCP setup
Pika is the video runtime. Without it, the skill can't generate. Connect at https://www.pika.me/mcp — typical cost per episode is ~$3-5 (mostly the seedance video calls).
The skill uses these Pika primitives: generate_image (characters + scene composites), generate_video with seedance provider (image-to-video animation), generate_speech, generate_music, transcribe_audio, edit_concat, edit_audio_mix, add_captions.
Languages
Chinese (default — captions use Noto CJK, voice defaults to Calm_Woman) and English (Inter font, default minimax-tts voice). The skill auto-detects from the premise — any CJK character triggers Chinese mode.
Roadmap
-
/drama list --jsonfor scripting - Multi-character series (4+ characters with
create_kling_elementslots) - Optional Sora / Veo3 backends behind the same
/dramainterface
License
MIT — see LICENSE.
The ball-romance example was the first thing built with this skill; the cliffhanger from episode 1 (basketball mid-swing with the backboard) is intentionally unresolved. /drama ball-romance next is the natural next test.