dramapack
Short-drama delivery packs, -14 LUFS mastering, subtitle safe areas, clean masters, rights checks.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
dramapackclaude mcp add dramapack -e 'DRAMAPACK_FFMPEG=<DRAMAPACK_FFMPEG>' -e 'DRAMAPACK_FFPROBE=<DRAMAPACK_FFPROBE>' -e 'DRAMAPACK_VLM_BASE_URL=<DRAMAPACK_VLM_BASE_URL>' -e 'DRAMAPACK_VLM_API_KEY=<your dramapack_vlm_api_key>' -e 'DRAMAPACK_VLM_MODEL=<DRAMAPACK_VLM_MODEL>' -- uvx dramapack==0.2.1 mcp
{
"mcpServers": {
"dramapack": {
"command": "uvx",
"args": [
"dramapack==0.2.1",
"mcp"
],
"env": {
"DRAMAPACK_FFMPEG": "<DRAMAPACK_FFMPEG>",
"DRAMAPACK_FFPROBE": "<DRAMAPACK_FFPROBE>",
"DRAMAPACK_VLM_BASE_URL": "<DRAMAPACK_VLM_BASE_URL>",
"DRAMAPACK_VLM_API_KEY": "<your dramapack_vlm_api_key>",
"DRAMAPACK_VLM_MODEL": "<DRAMAPACK_VLM_MODEL>"
}
}
}
}
متغيرات البيئة
DRAMAPACK_FFMPEGPath to ffmpeg (default: ffmpeg on PATH)DRAMAPACK_FFPROBEPath to ffprobe (default: ffprobe on PATH)DRAMAPACK_VLM_BASE_URLOptional: OpenAI-compatible base URL for audit vlm checks (your provider or a local model)DRAMAPACK_VLM_API_KEYسري Optional: API key for that endpoint (any non-empty string for local servers)DRAMAPACK_VLM_MODELOptional: vision-capable model name for audit vlm checks
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
dramapack
dramapack turns short-drama episodes (vertical dramas, micro dramas, AI dramas) into a platform-ready delivery package — TikTok Drama Center / DramaWave / ReelShort submission pack, -14 LUFS mastering, burned subtitles inside the subtitle safe area, clean masters, 3:4 covers, local QC (black frames, subtitle/speech alignment, optional bring-your-own vision-model checks) and music/font rights check — from the command line or as an MCP server for AI agents.
Read in Chinese · Docs · Reference
Why
Between "the episode is rendered" and "the platform accepted it", the same things go wrong for every short-drama studio:
- Submission packs: numbered episodes, same-name SRTs, 3:4 covers, a clean master, edit evidence, chain of title, AI disclosure. Dozens of manual steps per series. → delivery package guide
- Phone-speaker loudness: raw AI renders sit at -20 to -27 LUFS; the feed around them
is near -14. And ffmpeg
loudnormsilently goes dynamic on dialogue and lifts the noise floor by 30-50 dB. → -14 LUFS guide - Subtitle safe areas: ffmpeg's default 384x288 ASS canvas scales every size ~6.7x; fixed margins land under the player bar or exceed TikTok Drama Center's 70%-width rule. → safe-area guide
- Clean masters that are really the same edit as the subtitled one. → clean master guide
- Rights hygiene: no major-label music, commercial-free fonts only. → rights checklist
- QC before upload: black frames mid-episode, subtitles that drift from the speech, speech nobody subtitled, likely subtitle typos; optionally AI visual defects (hands, faces, identity drift, garbled text) and content-policy flags with your own vision model or a local one. Free, local, no account; no network calls unless you opt in. Lip-sync is not covered. → local QC guide
Install
Requires Python >= 3.10 and ffmpeg (with libass + libx264) on PATH. For CJK
subtitles install Noto CJK fonts (apt install fonts-noto-cjk).
pip install dramapack
# or run without installing:
uvx dramapack --help
Optional dialogue-density metrics and subtitle/speech alignment:
pip install "dramapack[speech]".
60-second quickstart
# input/ holds 01.mp4 02.mp4 ... (un-subtitled cuts) and 01.srt 02.srt ...
dramapack check-rights --input input/ # music + fonts: fix red first
dramapack package input/ out/ --title "My Show" --studio "My Studio" --bed tension
dramapack audit out/episodes/01.mp4 --cut input/01.mp4 # QC: black, subtitles, pacing
dramapack inspect out/episodes/01.mp4 # LUFS, true peak, specs
out/ now holds episodes/ (subtitled, -14 LUFS) with same-name .srt, clean/
(no subtitles, same edit), covers/ (3:4), timeline/, docs/ (chain of title to sign,
AI disclosure), manifest.json and a README for the recipient. Add --platform-pairs for
two-episodes-per-file cuts. Optional show.json / rights.json / covers / timelines:
see examples/input/ and the reference.
For AI agents
claude mcp add dramapack -- dramapack mcp
MCP tools: inspect, master, package, audit, check_rights. Each returns JSON with
ok and a green/yellow/red status. Every CLI subcommand also takes --json; exit codes
are stable (0 ok, 1 red, 2 usage, 3 failure). The repo doubles as a Claude Code plugin
(.claude-plugin/, skills/dramapack/) and has an MCP Registry entry (server.json).
→ agent guide · AGENTS.md · llms.txt
Docs
- How to build a TikTok Drama Center delivery package
- Why short dramas should be mastered at -14 LUFS (and why not loudnorm)
- Keeping burned subtitles inside the safe area
- What is a clean master and why distributors ask for it
- Music and font rights checklist for overseas short dramas
- How to QC a short drama locally before delivery
- Using dramapack from an AI agent (MCP)
- Reference: input formats, CLI, JSON, exit codes, thresholds
Please credit
dramapack is released under the Apache License 2.0. Use it for anything, including commercial work. We'd appreciate two things. These are requests, not license conditions:
- Keep the generator credit dramapack writes into delivery packs (
"generator"inmanifest.jsonand the one-line "Packaged with dramapack by Dawnwood" footers). - Mention "dramapack by Dawnwood" when you describe a production pipeline that uses it.
See NOTICE. To cite it: CITATION.cff.
Built and used in production by Dawnwood, an AI drama studio — https://dawnwood.ai/open-source/
الأسئلة الشائعة
ما هو dramapack؟
Short-drama delivery packs, -14 LUFS mastering, subtitle safe areas, clean masters, rights checks.
كيف أثبّت dramapack؟
يعمل على جهازك. في Claude Code: claude mcp add dramapack -e 'DRAMAPACK_FFMPEG=<DRAMAPACK_FFMPEG>' -e 'DRAMAPACK_FFPROBE=<DRAMAPACK_FFPROBE>' -e 'DRAMAPACK_VLM_BASE_URL=<DRAMAPACK_VLM_BASE_URL>' -e 'DRAMAPACK_VLM_API_KEY=<your dramapack_vlm_api_key>' -e 'DRAMAPACK_VLM_MODEL=<DRAMAPACK_VLM_MODEL>' -- uvx dramapack==0.2.1 mcp. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج dramapack إلى مفتاح API؟
نعم. يتطلب DRAMAPACK_VLM_API_KEY، وتضبطها في إعداداته.
هل dramapack مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص Apache-2.0.
من يصون dramapack؟
ينشره dawnwood-ai. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.