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.
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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.