viral-video-blueprint
Enables analyzing videos from Bilibili share links, extracting shot, caption, speech, rhythm, BGM, and visual evidence into a reusable blueprint.
Provides local multimodal reasoning for semantic hook, story-arc, and asset-slot analysis using a loopback-only Ollama instance.
Provides multimodal reasoning support for semantic hook, story-arc, and asset-slot analysis based on extracted video evidence, with validation and repair.
Identifies non-authoritative BGM candidates via ShazamIO, suggesting potential music tracks for the video blueprint.
Enables analyzing videos from Xiaohongshu share links, extracting shot, caption, speech, rhythm, BGM, and visual evidence into a reusable blueprint.
中文文档 | 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 autoProfiles are fast, balanced, and deep. Provider choices are auto,
none, openai, gemini, and ollama.
Related MCP server: Wanyi Watermark Remover
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 buildLegal 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.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityFmaintenanceEnables AI assistants to create and edit professional videos through natural language by automating JianYing (CapCut) video production workflows. Supports adding media segments, effects, transitions, animations, and exporting editable project files.Last updated20270
- AlicenseAqualityAmaintenanceExtracts watermark-free videos and images from Douyin (TikTok) and Xiaohongshu (RedNote) share links, with optional AI-powered video transcription support.Last updated420Apache 2.0
- AlicenseBqualityAmaintenanceAnalyze YouTube, TikTok, and Instagram videos from URL. Extracts transcripts, generates AI insights, and pulls tutorial steps from any video link.Last updated181MIT
- Alicense-qualityDmaintenanceIntegrates with Jianying (CapCut) and Chinese LLMs to automate short drama video editing, including commentary generation, remix creation, and draft import.Last updated12MIT
Related MCP Connectors
Turn a TikTok/Instagram/YouTube link into text for your AI: metadata, transcript and image OCR.
Multimodal video analysis MCP — transcription, vision, and OCR for any video URL.
Turn long videos into AI-curated short clips: caption, reframe, thumbnail, schedule, and publish.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/loveld322/viral-video-blueprint'
If you have feedback or need assistance with the MCP directory API, please join our Discord server