OpenMontage Drama Studio
Self-hostable AI studio that turns one-line ideas into finished short dramas, viral shorts and product ads.
- Source repo
- charliewwdev/OpenMontage
- Stars
- ★ 15
- Last updated
- today
- License
- AGPL-3.0
- Primary language
- Python
- FA score
- 47/100 · Major gaps
At a glance
- How it runs
- Works with
- Portable with changesOpenAI API (Partial support)
- Cost
- Free software; you pay for model usage
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- A short-drama team wants a quick 9:16 multi-episode pilot from a one-line premise and needs to iterate shot by shot.
- Not a fit if
- Creators who want zero-config output with no third-party paid model keys
- Teams without capacity to run PostgreSQL, Redis and MinIO
- Users who only need text scripts and no rendered video
- Source review
- 47/100 · Major gaps
What does this agent do, and when should you use it?
OpenMontage Drama Studio is a self-hosted web studio for producing short-form video with AI. The UI is React (studio/) on top of a FastAPI server (studio/server), with PostgreSQL for projects, studio_kv and meta, Redis as the media job queue, and MinIO/S3 for inspiration and media blobs. Its core is a 7-stage production line — script, characters, scenes, props, storyboard & shots, voice, edit — where stages 1–4 are separate tabs and stages 5–7 run per segment in the Workspace tab, mirrored on an infinite canvas as a node graph. Characters, scenes and props become reference images fed to Seedance for each shot, so a single character or shot can be redrawn without starting over. You bring your own text models (DeepSeek, OpenAI, Claude, Gemini, Qwen, …), images and video come from Volcengine Ark Seedream/Seedance (paid) or your own ComfyUI, and voice defaults to edge-tts. The README documents both a docker-compose.studio.yml deployment (Postgres, Redis, MinIO included) and local development.
A user describes an idea in one sentence inside the Creation agent; the studio creates the project and drafts the first scripts. The Script stage generates, continues, rewrites or locks an episode. The Characters stage calls Seedream or ComfyUI to produce character art, version history, turnarounds and reference re-draws, with local upload as an alternative. Scenes and Props generate concept art and material detail. The Storyboard stage has an LLM break the script into shots, then Seedance renders each shot using the character/scene/prop references. Voice uses edge-tts (or an OpenAI-compatible speech endpoint) for narration and dialogue, mixed in on export. Edit orders segments on a timeline and exports the episode. Supporting modules include the Viral gallery, Creation hub, Assets library, Skill market, Infinite canvas, and Model settings with connection test and hot reload. A health endpoint is exposed at GET /api/health.
- A short-drama team wants a quick 9:16 multi-episode pilot from a one-line premise and needs to iterate shot by shot.
- An e-commerce operator needs batches of product clips following a pain-point → close-up → benefit caption → CTA template.
- A creator wants to reuse beat-by-beat playbooks for Douyin, TikTok, Xiaohongshu, Reels, Shorts and Bilibili.
- A writer with an existing script wants character reference art and a shot breakdown generated automatically.
- A team with its own GPU wants to swap the paid image model for ComfyUI and only pay for video generation.
- An organization needs to run the whole video pipeline privately on its own server or Coolify so data stays in-house.
How do you install or deploy this agent?
One-shot Docker Compose deployment (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)Compose boots with local Demo auth and an in-stack MinIO bucket that is created automatically. To generate content, add your own text LLM key and either Volcengine Ark Seedream/Seedance (paid) or a ComfyUI endpoint in .env or Model settings.
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 8787Hosted-instance overrides are documented in docs/SELF_HOSTING.md and docs/SELF_HOSTING_zh-CN.md.
How do you use this agent?
Open http://localhost:8787 and click Demo, then fill in Model settings for text and media providers and run the connection test (hot reload applies without restart). In the Creation agent enter a one-line brief (genre, episode count, aspect ratio, hook), or create a project in the Workshop. Walk the 7 stages — Script → Characters → Scenes → Props → storyboard and shots in the Workspace → Voice → Edit export — or let the agent run the whole pipeline in the background and re-run any stage or swap a version afterwards. The infinite canvas shows the same pipeline as a node graph coloured by progress. The Viral gallery, Skill market and asset pages can be browsed without signing in; model calls and saving projects require a login. Agent/CLI pipeline notes live in AGENT_GUIDE.md.
What are this agent's strengths and limitations?
- Every one of the 7 stages is editable with versioned character/scene/prop references, so a single character or shot can be redone without restarting the project.
- Complete self-hosted stack: docker-compose.studio.yml bundles PostgreSQL 16, Redis 7 and MinIO with an auto-created bucket, keeping data on your own server.
- Flexible model wiring — DeepSeek, OpenAI, Claude, Gemini, Qwen for text; Seedream or your own ComfyUI for images; edge-tts for voice with no key required.
- Covers short dramas, viral shorts, e-commerce ads and product placement, with platform-specific beat playbooks for Douyin, TikTok, Xiaohongshu, Reels, Shorts and Bilibili.
- Model settings support connection tests and hot reload, so providers can be switched without restarting the server.
- Video shot generation depends on Volcengine Ark Seedance, a single paid vendor; the README shows no adapter for other video models.
- Self-hosting means operating PostgreSQL, Redis, MinIO and a media worker, not a single-process app.
- Out of the box you can only browse — producing video requires your own text LLM key plus paid image/video quota, so cost scales with output.
- The Viral gallery is a set of structural templates based on common feed patterns, not scraped live trend data.
- AGPL-3.0 §13 obliges you to offer source to users if you run a modified version as a network service.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| OpenMontage Drama Studio This agent | 47 · Major gaps | Self-hosted serviceFree + model costs | ★ 15 | today | Python | — |
| waoowaoo AI Film Studio | Insufficient evidence | Self-hosted serviceFree + model costs | ★ 15k | 1mo ago | TypeScript | — |
| ArcReel Video Creation Workspace | 52 · Major gaps | Self-hosted serviceFree + model costs | ★ 6.1k | 1d ago | Python | OpenAI API · Claude API |
| MicroDrama AI Generator | 43 · Major gaps | Web appFree + model costs | ★ 564 | 3mo ago | Python | — |
How does FollowAgents rate this agent?
Why each dimension lost points
README requires bring-your-own LLM/image/video keys and notes Seedream/Seedance are paid; an architecture diagram shows the data flow (FastAPI→Postgres/Redis/MinIO), giving partial transparency. However there is no evidence of key storage, log redaction, or least-privilege implementation, so data_flow_transparency and sensitive_data_handling score 1. For user_confirmation, tests show gated stages require human_approved and reject missing approval (GATE VIOLATION), so 2; but not all external effects are covered. least_privilege is 1: the deploy workflow uses Coolify/DTOK tokens whose scope is undocumented. dependency_security is 1: requirements.txt uses loose >= lower bounds with no lockfile and no audit/mitigation. external_effects is 1: it calls paid external models and deploys, but cost/side-effect guardrails are undocumented. rollback is 2: tests show checkpoint version history and awaiting→approved archiving, providing a rollback basis. source_attribution is 1: README states independent product and AGPL, but third-party model/asset attribution is thin.
self_consistency is 2: the README's 7 stages corroborate the pipeline stages and checkpoint contracts in tests. dependency_availability is 1: dependencies use >= lower bounds and external services (google-auth/openai) without pinning, weakening reproducibility. failure_messages is 1: tests show clear errors (Unknown pipeline_type, GATE VIOLATION), but end-user-facing failure messaging evidence is limited.
audience_and_scenarios is 2: README clearly lists short drama, viral short video, and ad scenarios with templates. capability_boundaries is 2: it states viral templates are structural not scraped trends, no separate ad editor, and paid keys required. trigger_precision is 1: the one-click agent pipeline vs per-stage trigger boundary is described coarsely with no precise trigger conditions. environment_fit is 2: Docker Compose bundles Postgres/Redis/MinIO plus a local dev path, giving solid environment guidance.
information_architecture is 2: README is well structured with architecture diagram and path table. install_notes is 2: provides Docker one-shot and local dev steps plus health check. naming_stability is 1: no versioned API or naming stability commitment. examples_and_faq is 1: starter prompts link and screenshots exist, but in-repo FAQ evidence is limited. known_limitations is 1: paid models and template nature are noted, but no systematic known-limitations list. license is 3: LICENSE is the full AGPL-3.0 text and README explains §13 network-service obligation. versioning_changelog is 1: a release badge exists but no CHANGELOG file. maintenance_responsibility is 1: publisher identity is unverified and maintenance ownership is unclear.
output_usability is 2: outputs are scripts, storyboards, voice, and exported cuts, a usable deliverable form. marginal_value is 2: a one-stop 7-stage workshop has integration value over scattered tools. cost_benefit is 1: core image/video rely on paid Seedream/Seedance with unquantified cost, so cost-benefit evidence is insufficient.
claim_traceability is 1: README is mostly product claims with few references to specific implementation files. cross_source_corroboration is 1: README and tests/CI partially corroborate (stages, checkpoints), but most feature claims lack code support. fact_inference_separation is 1: docs do not clearly separate verified facts from marketing inference.
- Dependencies use loose lower bounds with no lockfile; self-hosters must harden reproducibility and supply-chain security themselves.
- Core image/video generation relies on paid Seedream/Seedance with unquantified cost; assess budget before use.
- The deploy workflow uses Coolify/DTOK tokens whose scope is undocumented; review key least-privilege.
- Publisher identity is unverified and maintenance/update path is unclear; confirm provenance before production adoption.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
v0.1.0 v0.1.0: first public release
Release notes excerpt
First tagged release of OpenMontage Drama Studio, a self-hostable web studio that turns a one-line idea into a short drama, short-form video or e-commerce product clip. What's in it - 7-stage workshop: script → characters → scenes → props → storyboard & shots → voice → edit. Every stage is editable and can be re-run on its own, or the agent can run the whole pipeline. - Reference-driven shots: character, scene and prop images (Seedream, or ComfyUI on your own GPU) feed Seedance video shots. …View on GitHub ↗