Scenarix

I built this to generate short-form drama series end-to-end: screenplays, images, voiceovers, subtitles, background music — exported as vertical video. The whole pipeline runs from a single admin panel, or you can drive it from your editor via MCP tools.

It supports multiple AI providers (Anthropic, Google, OpenAI, Qwen for text; Gemini, Leonardo, OpenAI, Qwen for images), so you're not locked into any one service. Plug in whichever API keys you have and it works.

Dashboard

Create Series

Series Detail

Episode

Export

Settings

What it does

  • Generates screenplays with a series bible that tracks characters, plot threads, and cliffhangers across episodes
  • Creates scene images through multiple providers (you pick per-episode)
  • Translates episodes to other languages automatically
  • Generates voiceover narration via ElevenLabs
  • Exports 9:16 vertical video with subtitles, watermark, and background music using Remotion
  • Scores each episode on tension, voice consistency, cliffhangers, and continuity
  • Ships with 15 royalty-free background tracks, plus you can upload your own
  • Includes an MCP server with 13 tools so Claude Code, Cursor, or Copilot can create and manage series conversationally

Getting started

You need Node.js 20+ (22 recommended), PostgreSQL 14+, and at least one AI API key.

git clone https://github.com/yakupbulbul/scenarix.git
cd scenarix
npm install

cp .env.example .env.local
# Fill in your database URL and API keys

npx prisma db push
node prisma/seed.mjs

npm run dev

Open localhost:3000, log in with the credentials you set in .env.local. That's it.

For Docker, docker compose up -d starts PostgreSQL and the app together.

All environment variables are documented in .env.example.

MCP tools

Scenarix has an MCP server that lets AI coding assistants create series, generate episodes, translate, and manage plot threads — all through natural conversation. There are 13 tools total.

Config files are already included for Claude Code (.claude/mcp.json), Cursor (.cursor/mcp.json), and VS Code (.vscode/mcp.json). Just open the project and the tools are available.

The only setup: set CLI_API_KEY in your .env.local and make sure the dev server is running.

For other MCP clients:

{
  "mcpServers": {
    "scenarix": {
      "command": "node",
      "args": ["mcp/server.mjs"],
      "env": {
        "SCENARIX_URL": "http://localhost:3000"
      }
    }
  }
}

Here's what a typical session looks like:

You: Create a crime drama series called "The Last Deal"
Claude: [calls create_series] Done — Series ID: 7

You: Add a protagonist named Victor, a retired detective with a scar on his left cheek
Claude: [calls create_character] Created — ID: 12

You: Generate episode 1 with Qwen images
Claude: [calls create_episode] Episode 1 ready
  Quality: 8.2/10
  Cliffhanger: "Victor stares at the photo — it's the same face from 20 years ago."

You: Translate to Turkish and German
Claude: [calls translate_series] Done — 2 languages, 1 episode

Tech stack

Next.js 16 (App Router), React 19, PostgreSQL with Prisma 7, Tailwind CSS 4, Remotion 4 for video, JWT auth via jose.

Contributing

PRs are welcome. For anything bigger than a bug fix, open an issue first so we can discuss the approach.

Support

If you find Scenarix useful, consider buying me a coffee:

License

MIT