2D 動畫 HyperFrames
使用此技能,根據使用者已批准的旁白腳本和時間來源製作動畫影片。一般輸入為 vo.mp3 加上 script.txt(情緒標註旁白),視覺參考則位於 references/visual-style/overall/。
觸發範例:
/2d-animation-hyperframes 使用 vo.mp3 和 script.txt 製作一部 2D 動畫影片。請遵循 references/visual-style/overall/ 中的視覺參考。
使用者的腳本和音訊是最終依據。除非使用者明確要求,否則不要花費資源撰寫新腳本、重寫旁白或產生替代配音。情緒標籤是表達指令,而非口語詞彙:請原樣保留,切勿將其朗讀或製作成字幕。如果要求的檔案遺失或不明確,請詢問其位置;不要使用新撰寫的腳本代替。
預設觀眾為印尼兒童(TK 至 SD 階段)。確保視覺故事清晰、溫馨且符合年齡。保持所有動畫為 2D 風格。
輸入、腳本格式與時間
在請求或當前專案中尋找附加的檔案。若指定路徑,請使用提供的路徑。如果檔案不在專案中,請在開始製作前詢問其位置。來源檔案位於 references/multi-video.md 描述的工作區佈局中:旁白和配音位於 inputs/<slug>/,HyperFrames 專案生成於 videos/<slug>/,共享的視覺參考則位於工作區根目錄(references/visual-style/overall/)。
script.txt 格式:僅包含方括號內情緒標籤的一行(例如 [excited]、[curious]、[playfully])用於設定其後旁白區塊的表達方式,直到遇到下一個標籤。空行僅為提高可讀性而用以分隔區塊,不表示停頓。範例:
[excited]
Adik-adik, pernah nggak sih kalian melihat jerapah?
[curious]
Wah, lehernya panjang sekali, ya!
標籤規則:
- 一個標籤適用於其後的整個旁白區塊。用它來驅動場景節奏、角色表情、步調和視覺重點。
- 切勿朗讀、加上字幕或渲染顯示這些標籤。在產生畫面上文字前,請先將其移除。
- 嚴格保持標籤原樣。如果配音是由 ElevenLabs 生成的,這些標籤本身就是表達指令;請勿將其標準化或創造新的標籤。
- 無法識別的標籤仍然是表達提示;請保留它們而非丟棄。
時間來源,優先順序如下:
- 如果使用者也提供了同一音訊的字詞/片段時間戳匯出(ElevenLabs JSON),請使用它;這是選項,非必要。
- 否則,從
vo.mp3推導字詞級時間:將提供的音訊與script.txt文字進行轉錄/對齊(例如 ElevenLabs Scribe 字詞時間戳,或 TTS 生成音訊時回傳的時間戳載荷)。 - 如果缺少
vo.mp3,請索取。除非使用者要求,否則不要合成替代配音。
開始動畫製作前:
- 檢查每個腳本區塊是否對應到音訊中的一段時間,並且時間來源涵蓋了
vo.mp3的完整時長,包括任何初始偏移或暫停。 - 確認腳本文字與提供的音訊相符。請不要編輯旁白。如果文字、音訊和時間點衝突,請解釋不符之處並要求提供修正後的檔案。
- 使用情緒標籤區塊(以及若有提供時間戳匯出時的片段邊界)作為故事節拍和場景變換的依據。使用字詞時間戳來製作字幕、強調重點和微小的視覺提示。將單詞組合成有意義的短語,而不是讓每個單詞都成為一個單獨的場景。
建立 2D 視覺風格
每個場景的預設風格關鍵字:
2D 平面,以白色背景為主搭配淡色草稿線條。僅主體和文字使用全彩。
在設計場景前,請一同檢視 references/visual-style/overall/ 中所有可用的圖片。將它們視為此專案視覺識別的唯一來源。提取一份簡潔的風格指南,涵蓋:
- 調色盤、飽和度、對比度、照明和發光;
- 造型語言、線條粗細、紋理和細節密度;
- 角色比例、表情和重複出現的設計特徵;
- 構圖以及平面 2D 藝術如何暗示深度;
- 排版、文字動畫、步調、轉場和視覺元素。
對每個場景和新素材套用統一的風格指南。如果參考資料有衝突,請遵循最常出現或最近被核准的方向;僅在衝突會實質改變結果時才提出詢問。保持結果為 2D:使用圖層、視差、重疊、縮放、陰影和漸層來表現深度。除非使用者要求,否則不要將其變成 3D 模型或 3D 渲染風格。
HyperFrames 製作流程
- 使用 HyperFrames 作為動畫和渲染框架。在使用者當前的視訊專案資料夾中工作,並保留其素材和參考資料。
- 圍繞已批准的旁白、情緒標籤區塊和字詞時間點來規劃場景。保持旁白不變;將視覺動作和字幕與音訊時間軸對齊。將音樂和音效放在暫停處或不會掩蓋語音的音量等級。
- 使用實際的
vo.mp3、script.txt和視覺參考建立一個簡短的 2D 測試場景。預覽它,並檢查風格一致性、可讀性以及在語音開始、暫停、轉場和結尾處的同步性。 - 根據預覽結果進行有針對性的修改,然後將已核准的視覺語言擴展到整個影片。在測試場景被審查之前,不要建立完整的動畫。
- 從專案資料夾執行 HyperFrames 預覽(
npx hyperframes preview)。它會打開基於瀏覽器的 HyperFrames Studio 並熱重載檔案變更。(獨立的桌面 Studio 應用程式對此 CLI 工作流程是可選的)。 - 使用當前的 HyperFrames CLI 工作流程將核准的專案渲染為 MP4 格式。報告輸出路徑和任何製作上的限制。不要將預覽說成是最終渲染的影片。
如果有的話,請使用已安裝的 HyperFrames 編寫說明。如果缺少設定或依賴項,請解釋確切的缺失步驟。未經使用者授權,請勿安裝軟體或更改全域設定。
開始新影片
從工作區根目錄生成 HyperFrames 專案,而不是手動搭建;每個影片一個專案。
python tools/new-video.py <slug> # 搭建 + 轉錄 + 區塊對應
python tools/new-video.py <slug> --force # 重建已存在的 videos/<slug>
python tools/new-video.py <slug> --no-transcribe # 僅搭建
它會讀取 inputs/<slug>/(vo.mp3 + script.txt)並寫入 videos/<slug>/,然後為每個帶標籤的區塊輸出一行,包含絕對和相對的開始時間/時長。完整佈局、輸出和生成後步驟請參閱 references/multi-video.md。
音效
音效位於旁白之下,絕不能覆蓋它。在每個視覺重點(元素出現、切換、關鍵台詞、揭露)上放置一個音效 — 而不是每個字幕都放。在提示之間保留靜默。
- 預設方式:透過
media-use技能(Openverse,或該技能中audio/assets/sfx/內捆綁的 21 個檔案庫)取得 CC0/CC BY 音效。當有現成音效可匹配時,切勿自行生成。 - 自訂方式:使用 Python(
numpy+ 標準庫wave,44.1 kHz 單聲道 16-bit,峰值歸一化 0.7,帶種子噪音)合成一個風格一致的音效系列。pop、boing、whoosh、chime、stamp 和 sparkle 的配方在references/sfx.md中。 - 將每個提示作為一個計時的
<audio>元素放置在根合成上:唯一的id、以絕對秒為單位的data-start、等於檔案長度的data-duration、0.22–0.38 的data-volume,以及一個不與其他可聽片段重疊的data-track-index。 - 渲染前,
npm run check必須報告 0 個錯誤,且沒有clip_ends_past_root_duration或duplicate_audio_track警告。
範圍
此技能從提供的媒體素材建立動畫;它通常不建立或修改旁白。如果使用者僅要求故事板或視覺計畫,請根據相同的音訊和 script.txt 提供這些內容,而不要撰寫腳本。如果使用者明確要求編寫腳本,請處理該獨立請求,並在生成新配音或替換現有音訊之前獲得核准。