From a one-line idea to a finished short drama, viral short or product clip.
Script → characters → scenes → props → storyboard & shots → voice → edit, in one self-hostable web studio.
⭐ If this is useful, a star helps others find it.
English · 简体中文
One-line idea → script → characters & scenes → storyboard workspace → rendered shots (clips from the promo video).
Self-host with Docker Compose · bring your own LLM key · Seedream / Seedance (paid, Volcengine Ark) for images and video shots · edge-tts voice · FFmpeg edit · AGPL-3.0
![]() Workshop project library |
![]() Script desk |
![]() Character looks |
![]() Storyboard desk |
![]() Creation agent |
![]() Infinite canvas (7-stage node graph) |
OpenMontage Drama Studio is a web studio for making short-form video with AI. You describe an idea in one sentence (for example "10-episode revenge drama, 9:16, hook in the first 3 seconds"), the studio drafts the script, and you move it through a production line where every stage is editable. Characters, scenes and props become reference images that feed the video shots, so you can redo a single character or shot without starting over.
- Bring your own keys. Text models, image models and video models are configured per account in Model settings.
- Browse first. The inspiration wall, skills and asset pages can be browsed without signing in; signing in is required for model calls and saving projects.
- Step by step or one click. Run each stage yourself, or let the agent run the whole pipeline in the background and then re-run any stage or swap a version.
Try the hosted instance: openmontage.dtok.io · Starter prompts: docs/examples.md · Studio docs: studio/README.en.md
| # | Stage | What happens |
|---|---|---|
| 1 | Script (剧本) | Genre, aspect ratio, visual style, synopsis or source material; generate, continue, rewrite, lock the episode |
| 2 | Characters (角色) | Character art (Seedream, or ComfyUI on your own GPU), version history, turnarounds, reference re-draws, local upload |
| 3 | Scenes (场景) | Space and lighting setup, scene concept art |
| 4 | Props (道具) | Key props and material detail |
| 5 | Storyboard & shots (分镜) | LLM shot breakdown; Seedance generates each shot using the character / scene / prop references |
| 6 | Voice (配音) | Narration and dialogue TTS (edge-tts by default, OpenAI-compatible speech as fallback), mixed in on export |
| 7 | Edit (剪辑) | Order the segments on a timeline and export the episode |
In the current UI, stages 1–4 have their own tabs and stages 5–7 happen together per segment in the Workspace (工作台) tab. The infinite canvas shows the same seven stages as a node graph, coloured by progress.
- Short dramas. Project templates for 爽剧 (hype drama), 短剧 (short drama) and 正剧 (straight drama), or upload your own script.
- Viral short videos. The Viral gallery (爆款内容广场) has beat-by-beat playbooks for Douyin, TikTok, Xiaohongshu, Instagram Reels, YouTube Shorts and Bilibili (hooks, pacing, CTA) that you can send straight into a project. These are structural templates based on common feed patterns, not scraped trending charts.
- Ad and product videos. A built-in e-commerce conversion template (pain point → product demo close-ups → benefit captions → CTA), a soft product-placement Reels playbook, and marketing / e-commerce skills in the skill market. They run through the same workshop; there is no separate ad editor.
| Module | What it does |
|---|---|
| Viral gallery (爆款内容广场) | Platform playbooks, copyable prompts, a visual reference wall |
| Creation hub (创作中心) | Text / visual / audio / video / workshop / canvas entry points |
| Creation agent (创作 Agent) | One-line project setup: genre, episode count, aspect ratio, hook; generates the first scripts and checks which models are configured |
| Workshop (影视工坊) | Project library and the 7-stage production line |
| Assets (个人资产) | Media and prompt library, filtered by character / scene / prop / storyboard / final cut |
| Skill market (Skill 专家) | Official and community skills (episode scripts, shot prompts, character looks, director workflows) you can install into the agent |
| Infinite canvas (无限画布) | The project pipeline as a draggable node graph |
| Model settings (模型配置) | Text and media providers, connection test, hot reload without restart |
| Also | Works channel, challenges, resources, usage stats, task queue, help center, credits, referral program |
Screenshots
React UI (studio/src)
│
▼
FastAPI (studio/server) ──▶ PostgreSQL (projects · studio_kv · meta)
│ └──────▶ Redis (media job queue)
└──▶ MinIO / S3 (inspire · media blobs)
| Path | Contents |
|---|---|
studio/ |
Drama Studio front end and API |
studio/config/platform.yaml |
Navigation, workshop stages, tools, copy (single source of truth) |
pipeline_defs/ · skills/ |
Agent pipelines and director skills |
lib/ · tools/ |
Tool registry |
docs/screenshots/ |
Screenshots used in this README |
Included in docker-compose.studio.yml? |
|
|---|---|
| Studio app (UI + API) and media worker | ✅ built from this repo |
| PostgreSQL 16 | ✅ bundled |
| Redis 7 (media job queue) | ✅ bundled |
| MinIO (S3-compatible object storage) | ✅ bundled (drama-minio, bucket auto-created) |
| Text LLM key | ❌ you provide for script/generation: DeepSeek, OpenAI, Claude, Gemini, Qwen, … |
| Image + video generation | ❌ you provide: Volcengine Ark Seedream / Seedance (paid), or your own ComfyUI for images |
| TTS | edge-tts by default (no key); optional OpenAI-compatible speech endpoint |
Compose boots with local Demo auth (no external account API) and in-stack MinIO. Add model keys in .env or Model settings when you want generation. Hosted overrides: docs/SELF_HOSTING.md · 中文.
The hosted instance has a credits / top-up page. Self-hosted, you pay your model providers directly.
Docker — one shot (Postgres + Redis + MinIO + Studio):
cp studio/.env.example .env
docker compose -f docker-compose.studio.yml up --build
# open http://localhost:8787 → click Demo
# health: GET http://localhost:8787/api/health
# MinIO console: http://localhost:9001 (minioadmin / minioadmin)Local development:
cp studio/.env.example studio/.env
# fill in DATABASE_URL, MinIO (OSS_*), provider keys, then export them into your shell
cd studio/server && pip install -r requirements.txt
uvicorn app:app --host 0.0.0.0 --port 8787
cd studio && npm install && npm run dev # http://127.0.0.1:5173, /api is proxied to 8787Agent / CLI pipeline notes: AGENT_GUIDE.md.
Python · FastAPI · React · PostgreSQL · Redis · MinIO / S3 · Seedream · Seedance · edge-tts · FFmpeg · Docker / Coolify
OpenMontage Drama Studio is an independent product by @charliewwdev.
Licensed under the GNU AGPL-3.0; see LICENSE.
If you run a modified version as a network service, AGPL-3.0 §13 requires you to offer its source to your users.










