viral-video-blueprint

viral-video-blueprint

Enables analyzing a Douyin, Xiaohongshu, or Bilibili video link to generate a reusable editing blueprint with shot, caption, speech, rhythm, and visual analysis.

Category
Visit Server

README

中文文档 | English

Viral Video Blueprint

Turn one Douyin, Xiaohongshu, or Bilibili share link into a reusable video blueprint. The tool downloads a single authorized public video, extracts evidence about shots, captions, speech, rhythm, BGM candidates, and visual elements, then produces:

  • analysis.md — a human-readable breakdown;
  • template.json — a versioned reusable editing blueprint;
  • contact-sheet.jpg — labeled representative frames;
  • transcript.srt — timestamped speech transcription.

The source video, extracted audio, and temporary frames are deleted after success or failure. Local MP4 input, profile crawling, watermark removal, voice cloning, and media redistribution are intentionally unsupported.

Quick start

Requirements: Python 3.11/3.12, uv, and FFmpeg.

git clone https://github.com/loveld322/viral-video-blueprint.git
cd viral-video-blueprint
uv sync --all-extras --dev

uv run viral-video doctor
uv run viral-video analyze "https://b23.tv/your-authorized-video"

Results are written to ./viral-video-results/.

uv run viral-video analyze "share-link" \
  --output . \
  --profile balanced \
  --provider auto

Profiles are fast, balanced, and deep. Provider choices are auto, none, openai, gemini, and ollama.

Multimodal reasoning

Without a model, the pipeline still produces deterministic shot, text, audio, and timing analysis with a conservative template. To get semantic hook, story-arc, and asset-slot analysis, copy .env.example and configure OpenAI, Gemini, or local Ollama.

Only compressed representative frames and structured evidence are sent to a configured model, never the complete source video. Provider output is validated against VideoBlueprint, checked for evidence references, and repaired at most once. Model failure falls back to the deterministic deliverables.

MCP for Codex, Marvis, and AionUi

The MCP server exposes:

  • analyze_video(url, profile, provider);
  • get_analysis_status(job_id);
  • get_analysis_result(job_id).

Example client configuration:

{
  "mcpServers": {
    "viral-video-blueprint": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/viral-video-blueprint",
        "run",
        "viral-video-mcp"
      ]
    }
  }
}

MCP uses local stdio by default. Jobs persist under ~/.viral-video-blueprint/, or under VVB_DATA_DIR when configured.

Supported extraction

  • yt-dlp primary downloader with platform-specific external fallbacks;
  • ffprobe, FFmpeg, and PySceneDetect for duration, shots, frames, and audio;
  • faster-whisper for word-timestamp transcription;
  • PaddleOCR for on-screen text;
  • librosa for BPM, beats, and energy;
  • ShazamIO for non-authoritative BGM candidates;
  • OpenAI-compatible, Gemini, or loopback-only Ollama reasoning.

Optional media dependencies are installed by uv sync --all-extras. The offline CI suite uses generated media and performs no live platform download.

Development

uv sync --dev
uv lock --check
uv run ruff check src/ tests/
uv run mypy src/
uv run pytest -q
uv build

Legal and safety boundary

Reuse structure, pacing, shot language, public editing presets, and properly licensed music. Replace the original people, script, logos, watermarks, screenshots, brand identity, and copyrighted assets. Do not clone a real voice, extract the original narration, remove watermarks, or redistribute source music. A detected song may be reused only when your platform library or license permits it.

Licensed under Apache-2.0. See LICENSE.

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