
用 Codex 做 Live Carousel,再用 ACE-Step 配上音樂
用 Codex 的生圖功能,參考一支短片的拼貼風格做出 3.33 秒的 Live Carousel 動畫,再用本機的 ACE-Step 1.5 生成音樂、對齊動畫節奏。這篇附兩段可以直接複製的提示詞,也老實寫出結尾殘留的問題和對拍沒踩到的地方。
這次選擇 Codex,主要是因為它的生圖功能。在本案例的環境裡,Codex 能直接生成圖片,接著撰寫動畫程式、渲染影片,讓素材製作與動畫修改在同一個任務裡完成。
我們用 LUXX 當主角,參考一支短片的拼貼風格與進出場節奏,重新生成了人物與車的主圖、金色髮辮、橘子吊飾、交通燈,以及天空、山丘、花田、公路等多張素材,再組成約 3.33 秒的動畫。人物與場景重新創作,沒有直接使用參考影片的圖像。
第一步:請 Codex 做出動畫
先在 Codex 選擇本機工作資料夾,準備參考影片與角色的肖像、側臉、全身圖。把下面的路徑換成自己的,就可以開始:
請在 [專案路徑] 製作一支 Live Carousel 動態拼貼。
參考影片:[影片路徑]
主角:[角色名稱],身份參考圖放在 [參考圖資料夾]。
請先確認可用的生圖工具,再分析影片的風格與動作時間軸。
用 Codex 的生圖功能生成全新素材,參考構圖與節奏,
不要複製影片中的人物或圖像。
人物與車必須一起生成,坐在座艙內,有合理接觸與遮擋。
髮辮、吊飾、交通燈和背景分層製作,統一光線、色調與顆粒。
需要疊加的素材使用真正透明背景;星爆和邊框用 SVG 繪製。
用逐幀程式製作車子進場、停住、離場,
加入髮辮飄動、吊飾輕擺、星爆旋轉及背景視差。
先檢查靜態構圖與預覽,再輸出正式影片。
規格:1080×1350、30fps、100 格、H.264、yuv420p。
最後四格必須完全清場,不能留下車尾、頭髮或陰影。
程式與素材放 film2/,成品放 output/,保留既有檔案。
回報實際檢查內容與未達成的要求。
若無生圖工具,改輸出完整素材提示詞,不要假裝已生成。這個案例最重要的兩個細節,是「人車一起生成」和「離場距離要包含頭髮」。前者減少透視不一致,後者避免車子離開後,髮辮還留在畫面左邊。
遇到的問題:結尾殘留
初版就遇到車尾與頭髮殘留的問題。提供片尾截圖後,用這段要求修正:
請修正結尾,車子、人物、髮辮與陰影都要完全離開畫面。
只調整離場距離與完成時間,不要更換角色和場景。
計算範圍時包含向後飄的髮辮,不能只看車身寬度。
檢查正式影片最後四格的全尺寸畫面,保留舊版並輸出 v2。修正版已確認最後四格沒有殘留,並成功解碼全片 100 格。本次修正版沒有重新做連續播放檢查;角色相似度僅做目視核對,素材也未全部達到原先要求的原生 2× 尺寸。
加上音樂:用 ACE-Step 在自己的電腦生成
動畫做好了,參考影片本身是無聲的。但加上音樂,停留的理由又多一個。
這一段我是用 Claude Code 操作的,音樂用 ACE-Step 1.5。它是開源的 AI 作曲模型,可以在自己的電腦上跑,不用另外訂閱音樂服務。
環境: M4 Pro、24GB 記憶體的 Mac。專案資料夾含模型約 11GB,裝之前先看一下硬碟空間。
步驟 1:先量動畫的時間點,再決定音樂的速度
我先用程式量影片裡車的位置,得到這個時間軸:
| 事件 | 時間 |
|---|---|
| 車從右邊進場 | 約 0.55 秒 |
| 車停住 | 約 1.15 秒 |
| 車開走 | 約 2.35 秒 |
這三個點的間隔,大約是 0.6 秒的倍數,也就是 100 BPM(每拍 0.6 秒)。所以我指定音樂用 100 BPM。
步驟 2:一次生成 3 首,挑節奏最明顯的
ACE-Step 的最短長度是 10 秒,這支影片只有 3.33 秒,所以先生成 16 秒,再截取需要的段落。
生成時用的描述(歌詞欄寫 [Instrumental],才會是純演奏):
風格:sunny retro summer road trip, indie pop, jangly clean electric guitar,
warm round bass, light tight drums with handclaps, playful and breezy,
vintage cinematic, bright and optimistic
歌詞:[Instrumental]
速度:100 BPM,4/4
長度:16 秒,一次生成 3 首步驟 3:用程式找出拍點
這一步我踩了一個坑。
我先用自動節拍偵測,結果它把第 1 首判成 137 BPM,第 2 首沒有找到穩定的節拍。這類帶切分節奏的 indie pop,自動偵測很容易判錯。
後來我改用另一個方法:既然我指定了 100 BPM,就在 100 BPM 附近搜尋最貼合音樂的拍點格線,並比較哪一首的拍點最強。三首都落在 100 BPM 左右,我選拍點最明顯的第 1 首。
步驟 4:用 ffmpeg 對齊並混進影片
我讓音樂的拍點對到車進場的 0.55 秒,再混進影片。畫面不重新編碼,音質轉成 192k 的 AAC,結尾淡出約 0.4 秒:
ffmpeg -i motion-new-v2.mp4 -ss 0.687 -t 3.4 -i bgm.mp3 \
-map 0:v -map 1:a -c:v copy \
-af "afade=t=in:d=0.03,afade=t=out:st=2.9:d=0.43" \
-c:a aac -b:a 192k -shortest -movflags +faststart motion-music.mp4其中 -ss 0.687 是這首歌的起點,每首歌都不一樣,要自己算。
對拍結果(老實講)
我把成品的聲音抽出來,比對低頻鼓點和動畫時刻:
| 動畫時刻 | 和最近鼓點的差距 |
|---|---|
| 車停住(1.15 秒) | 差 12 毫秒 |
| 車開走(2.35 秒) | 差 5 毫秒 |
| 車進場(0.55 秒) | 沒有踩到,最近的鼓點早了約 144 毫秒 |
進場那一拍沒踩到的原因,是這首歌的節奏有切分,那一拍沒有重鼓點。聽起來是「鼓點先起,車接著進場」,不是同一瞬間。
這個檢查只比對低頻鼓點,音樂好不好聽、整體節奏順不順,要你自己聽。我沒有實際上傳 IG 驗證音訊播放。
提示詞:幫你的影片配上音樂並對拍(直接複製)
我有一支 [秒數] 秒的無聲動畫影片:[影片路徑]
請幫我加上音樂,並讓音樂的拍點對齊動畫的關鍵時刻。
【音樂】
- 用本機的 ACE-Step 1.5 生成純演奏背景音樂
(還沒安裝的話,先告訴我會下載多大、佔多少硬碟,我同意再裝)
- 風格:[例如 陽光復古公路旅行、indie pop、輕快鼓點]
- 長度:至少 16 秒(模型最短 10 秒),一次生成 3 首
【對拍】
- 先用程式量影片裡每個關鍵動作的時間(進場、停住、離場),回報給我
- 根據這些時間決定速度(BPM),並讓音樂拍點對到這些時間
- 自動節拍偵測可能判錯,請用我指定的 BPM 搜尋拍點,並說明你選哪一首、為什麼
【輸出】
- 另存新檔,不要覆蓋原影片;畫面不要重新編碼
- 回報每個關鍵時刻和最近鼓點的差距(毫秒),沒有踩到的要直接說
- 我還沒聽過成品,不要說「聽起來很棒」這類你無法驗證的話最後一條規則,是本站自己加的,不是 Codex 或 ACE-Step 的功能:成品有沒有踩準、好不好聽,你要自己看過、聽過才算數。
常見問題
Q1:一定要用 Codex 嗎? 這個案例用 Codex,是因為它在我們的環境裡可以直接生圖,素材和動畫能在同一個任務裡完成。加音樂那一段,我是用 Claude Code 做的,兩個工具不衝突,你也可以全程都交給 Codex。
Q2:我的電腦跑得動 ACE-Step 嗎? 官方說明支援 Windows、Linux(需要顯卡),以及 Apple Silicon 的 Mac。顯存或記憶體越大,能用的模型越大。我是在 M4 Pro、24GB 的 Mac 上跑,其他機型我沒有測。
Q3:本機生成的音樂可以商用嗎? ACE-Step 的程式碼是 MIT 授權,允許商用。但專案自己也提醒:要確認生成作品的原創性、標明有 AI 參與。MIT 只管程式碼,生成的歌會不會碰到別人的版權,仍然要你自己判斷。
Q4:為什麼要先量動畫時間點,再選 BPM? 因為速度決定拍點的間隔。先知道動畫的關鍵時刻,再挑能讓這些時刻剛好落在拍點上的速度,對拍才有機會成功。反過來先選歌,動畫通常要遷就音樂。
Q5:影片這麼短,音樂要怎麼選? ACE-Step 最短 10 秒。所以先生成 16 秒,再截取需要的幾秒,起點要對準拍點,結尾記得淡出,聽起來才不會被硬切。

