YoutuberBox

YoutuberBox

MCP server for faceless YouTube video automation, turning LLM-authored scripts into narrated, captioned videos with AI-generated images and motion.

Category
Visit Server

README

YoutuberBox

Faceless YouTube video automation MCP server — shorts (9:16) and long-form (16:9).

The connected LLM does the creative work (script, scene beats, image prompts); YoutuberBox does the execution: TTS narration via voicebox, AI images via CodexImage, whisper-timed burned-in captions, and ffmpeg assembly with Ken Burns motion. Built-in quality guardrails push output away from AI slop.

Pipeline

create_project → set_script → generate_narration ┐
                              generate_images    ├→ generate_captions → assemble_video
                                                 ┘
Tool What it does
create_project New project (shorts 1080×1920 / long 1920×1080), returns the quality guide
set_script LLM-authored scenes (narration + 1–3 image prompts each), returns pacing/quality lint warnings
generate_narration Per-scene TTS via voicebox (/generate/stream); reports durations; per-scene regeneration via sceneIds
generate_images Per-scene images via CodexImage; 2–3 prompts per scene = intra-scene cuts; consistent style anchor
generate_captions Word timestamps via mlx_whisper/whisper (proportional fallback) → karaoke word-highlight ASS; position/highlightColor knobs
assemble_video Ken Burns per still (alternating direction), cuts every few seconds, caption burn-in, looped/ducked BGM, −14 LUFS loudnorm
list_voices Voicebox voice profiles so the LLM picks a fitting narrator
generate_thumbnail Text-free thumbnail via CodexImage (add typography yourself — AI text is a slop tell)
project_status Pipeline state per scene

Resource: guide://quality — the anti-slop guide (hooks, pacing targets, image prompt rules, mix levels).

Requirements

  • Node.js 20+
  • ffmpeg / ffprobe on PATH
  • voicebox for TTS
  • CodexImage for image generation
  • Optional: mlx_whisper or whisper CLI for word-accurate caption timing

Install

npm install
npm run build

Register with your MCP client (e.g. Claude Code):

{
  "mcpServers": {
    "youtuberbox": {
      "command": "node",
      "args": ["/path/to/YoutuberBox/dist/index.js"]
    }
  }
}

Projects land in ~/YoutuberBox/projects/<id>/ (override with YOUTUBERBOX_HOME).

Configuration

Env var Default Purpose
VOICEBOX_URL http://127.0.0.1:17493 Voicebox REST API (run the Voicebox app)
CODEXIMAGE_URL — (required) CodexImage server base URL
CODEXIMAGE_API_KEY — (required) CodexImage API token (Bearer)
CODEXIMAGE_QUALITY medium low | medium | high
YOUTUBERBOX_HOME ~/YoutuberBox Where projects and renders are stored

Voice selection: pass voice to create_project/generate_narration as a Voicebox profile name or id; defaults to your first profile.

Captions: if your ffmpeg has libass, captions are burned in (styled, word-group pop for shorts). Otherwise they're muxed as a soft mov_text track and the tool tells you how to upgrade.

Design notes

Ideas borrowed from the best of the ecosystem: granular execution tools the LLM orchestrates (stephengpope/remotion-media-mcp) instead of a single god-tool (gyoridavid/short-video-maker's create-short-video); scene = {narration, visual spec} as the exchange format and dual-aspect maturity (MoneyPrinterTurbo); LLM-authored structure over hidden config (ShortGPT's edit-markup thesis); karaoke captions and voice discovery endpoints (short-video-maker); motion-on-stills + a cut every few seconds — the #1 documented "AI slop" complaint is static visuals.

The deliberate difference: no built-in script generation — the LLM you connect writes the script with full context of your channel and audience, and the server lints it against pacing/quality rules (hook length, words/sec, cliché openers, text-in-image prompts, static-scene warnings) instead of generating generic content itself.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured