Music MV
把用戶素材編排為有表演、歌詞同步和轉場的 2D 手繪 MV,交付可播放的 MP4。內建 painted-animation 的 p5.js + p5.brush 引擎、範例和 Windows 封裝;不依賴另一個已安裝技能,也不需要外部影片生成 API。
用戶本次參數:
$ARGUMENTS
解析請求
接受中文自然語言或 key=value。必填:角色圖片 image、歌曲 audio、歌詞 lyrics、開始 start、結束 end、風格 style。路徑含空格時支援引號。時間接受秒數、M:SS 或 H:MM:SS。缺失時一次列出缺項;已有資訊不重複問。
預設:1920×1080、24fps、行級歌詞、圖片中清楚區分的角色全部入鏡、輸出到目前專案的 outputs/music-mv 下的新目錄。用戶指定單主角、無字幕、其他幀率時按其要求。複雜人物圖先定義模型表並畫測試幀;圖片的身份與造型參考,不能只做貼圖平移或靜態幻燈片。
風格=小鎮姑娘時讀取 references/styles.md,並查看 assets/painted-animation/docs/xiaozhen-sheet.jpg。該名稱指示範例的水彩紙、墨線、限幀表演、歌詞意象與連貫轉場,不照搬原歌劇情。其他風格映射到可實現的2D 繪畫語言;寫實真人或 3D 需求先說明本引擎的邊界。
製作
- 檢查三個輸入檔案,查看角色圖。先輸出簡短方案:角色、故事主線、畫面風格、檔案位置;遵守專案已有的審批要求。用戶已授權完整生成時持續做到成片;只有「先看分鏡」才在分鏡後停下。
- 閱讀 assets/painted-animation/template/ANIMATION_GUIDE.md 和 references/production.md。音樂編排需要時讀取 references/music-video.md;其按小節擴展片段的建議不能覆蓋用戶的精確截取區間。 若模式=先看分鏡,只讀取圖片和歌詞、測量節拍並寫分鏡;跳過工程安裝、場景創作和渲染,交付分鏡後停止。
- 用檔案工具把正規化 JSON 寫入當前專案 .cache/music-mv-request.json。必須給 output 一個目前專案內尚不存在的絕對路徑。用腳本準備素材和工程:
Windows 依賴、快取和瀏覽器見 references/windows.md。輔助腳本只準備工程,場景仍由你創作。python "${CLAUDE_SKILL_DIR}/scripts/prepare_mv.py" --request "<請求JSON絕對路徑>" --install - 讀取生成的 mv-task.json、analysis/lyrics.json;確認 BPM 與 beat_offset。檢測失敗時修復依賴並測量,或使用用戶提供的 BPM;不能把估計值當測量。保留指定音訊範圍,不擅自加前奏、變速或淡出。普通 LRC 只提供行級時間,歌詞填色是行內估計,不能聲稱逐字精確對齊。
- 寫完整 STORYBOARD.md:每個鏡頭的片段时间、歌詞、動作、構圖、轉場。建立 src/scenes 內的場景檔案,在 studio.html 註冊;移除演示場景。角色應有表情、預備動作、重心變化、跟隨動作和可讀的演出。每幀是時間 t 的純函數。
- 用 scripts/render_mv.mjs 渲染每鏡頭代表幀、動作條和接縫,打開圖片檢查並修正。無字幕時在 studio.html 移除 karaoke.js 的載入。
- 渲染完整影片;封裝會校驗時長、尺寸、幀率和音軌。檢查開頭、結尾和所有轉場,再交付 MP4、分鏡和預覽圖的真實絕對路徑。修改場景後重新渲染受影響幀,避免複用舊幀。不得用未打開的預覽或未播放/驗證的影片聲稱品質已確認。
預設順序:素材檢查 → 分鏡 → 場景創作 → 預覽修正 → MP4。不要在正常步驟之間重複請求批准。僅用戶明確要求時使用子代理。
調用範例
/music-mv 角色="D:/mv/character.png" 歌曲="D:/mv/song.mp3" 歌詞="D:/mv/song.lrc" 截取="00:39-01:07" 風格="小鎮姑娘"
可追加:角色模式=僅橙色主角、字幕=無、模式=先看分鏡。圖片中有多位清楚區分的角色時預設全部入鏡,並連續做到成片。
來源和許可見 references/credits.md。