Communitygithub.com

DandySultana/one-line-motion-gratis

將一句話想法轉換成帶聲音的動態圖形影片(MP4),包含 10 種風格預設:卡通扁平、科學黑板、8-bit 像素、復古霓虹、漫畫面板、低多邊形 3D、黏土、電影感、火柴人、水彩。

one-line-motion-gratis 是什麼?

此技能(One Line Motion Gratis)能將使用者的一句話構想,轉化為一支完整的動態圖形影片,包含語音旁白、音效、背景音樂、字幕、縮圖與上傳文案。支援 10 種不同的視覺風格(如扁平卡通、復古霓虹、低多邊形 3D 等),預設以印尼語運作。工作流程嚴格遵循「腳本→聲音→動畫」的線性順序,每個場景對應一個概念,且確保畫面持續有動態。技能仰賴 Remotion 專案模板與一系列自動化腳本(如新專案建立、音效製作、時間軸同步、QA 檢查表),並強制在最終渲染前進行人工視覺檢查。最終輸出標準化 MP4 檔案,並包含適合不同平台(Reels、TikTok、YouTube)的上傳資產包。此工具適用於動畫解說、社群短影音、產品廣告、重點介紹等場景,特別適合需要在單一 AI 代理環境中快速產出影片素材的開發者與行銷人員。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/DandySultana/remotion-skill/tree/HEAD/one-line-motion-gratis

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

One Line Motion Gratis

免費版本包含 10 種風格預設。完整版本(52 種預設、UMKM 廣告、3D 剖面透視、世界地圖、YouTube 長片格式)請見 onelinemotion.com。若使用者要求的風格不在 references/styles.md 中,請從這 10 種風格中選取最接近的預設,並說明該風格僅在完整版本中提供。

此技能可將一句話想法轉換為如同真實影片般動態 (非簡報幻燈片) 的動態圖形影片,包含旁白、音效、字幕、縮圖與上傳文案。預設工作語言為印尼語,除非使用者另有要求。

此技能資料夾包含:

  • template/:可立即使用的 Remotion 專案(時間軸依音效時長、風格 token、動態組件、自動字幕、具語音閃避功能的音樂)。
  • scripts/:new-project.sh、make-sfx.sh、make-music.mjs、tts-fallback.sh、sync-timeline.mjs、qa-sheet.mjs、finish.sh。
  • examples/:每個風格預設各一支,共 10 支範例影片的程式碼(參見 references/styles.md 中的表格)。在開始動畫前,請先閱讀所選預設的範例,以了解其色板、組件與動態方式。
  • references/:styles.md(風格預設)、motion.md(動態與版面原則)、audio.md(聲音、音效、音樂)、formats.md(平台規格與上傳套件)、revisions.md(修改詞典)、prompts.md(使用者提示庫)。

請將此技能路徑記為 $SKILL(即此檔案所在的資料夾)。

主要原則

  1. 階段順序不可跳過。 概念確認後才能撰寫腳本,腳本完成後才能錄製聲音,聲音準備好後才能進行動畫。場景長度由旁白時長決定,反之則否。
  2. 一個場景,一個概念。 若一個場景需要兩句解釋,請將其拆分為兩個場景。
  3. 畫面永遠要有動態。 任何靜止畫格不得超過 1.5 秒。
  4. 風格由 brand.json 鎖定。 所有顏色、字型、線條粗細、節奏皆從此檔案讀取,確保第 20 支影片與第一支同樣整齊。
  5. 渲染前先確認。 QA 檢查表必須以肉眼仔細檢查(Read)後,才能進行完整渲染。
  6. 禁止憑空捏造事實。 所有數據與宣稱必須透過網路搜尋驗證,並記錄來源。

工作流程

請在每個階段向使用者簡短顯示進度,例如 Brief ✓ → Concept ✓ → Script … → Voice → Animation → QA → Render。

1. 簡報(5 項)

  1. 什麼:一句話說明的核心訊息。
  2. 給誰:目標受眾(例如:國中生、一般大眾、潛在買家等)。
  3. 時長:Shorts 預設 30–45 秒,解說影片 60–90 秒,片頭 5–10 秒,宣傳片 15–30 秒。
  4. 格式:9:16(Reels/TikTok/Shorts)、16:9(YouTube)、1:1(動態牆)或同時多種。
  5. 調性與風格:教育性、趣味、戲劇性、高質感、銷售導向;若有既定風格預設則直接選定。若是商業廣告,請額外詢問商家資訊(名稱、價格/折扣、地址或訂購方式),且切勿憑空捏造。

若有任何項目為空白,請在一個提問中一併詢問(若可行,請使用 AskUserQuestion)。若使用者表示「直接進行」,則使用預設值並說明使用了哪些預設。

同時檢查 ~/.one-line-motion/brands/ 目錄。若存有品牌套件,詢問是否沿用(例如:「要再次使用『Kopi Senja』品牌套件嗎?」)。

2. 三種概念 → 使用者挑選其一

請先閱讀 references/styles.md。每個概念應包含:

  • 名稱(2–4 個字)與主要視覺隱喻(例如:「將格陵蘭比喻為拼圖碎片」)。
  • 風格預設 + 5 種顏色色板(hex 值)+ 字型配對。
  • 前 3 秒鉤子:觀眾看到的與聽到的內容。
  • 鏡頭/動態流程:一句話描述。

三個概念必須使用不同的隱喻,而非只是顏色不同。請標記其中一個為推薦選項,並用一句話說明理由。選定後,根據該概念撰寫專案的 brand.json 檔案。

3. 逐場景腳本

若主題為事實性內容,請先進行事實查核(網路搜尋),並將來源記錄於 notes/sources.md。接著提供以下表格:

| # | 時長 | 旁白 (VO) | 視覺 | 動態 | 螢幕文字 | 音效 |

規則:

  • 印尼語旁白速度約 ±2.3 字/秒(電影感約 ±2.0;促銷快節奏約 ±2.6)。計算字數以使總長度符合要求時長。
  • 場景 1 = 鉤子 ≤ 3 秒:提問、驚人事實或矛盾點。
  • 最後場景 = 收尾 + 行動呼籲(追蹤、留言、造訪商店)。
  • Shorts:4–7 個場景;60–90 秒解說影片:6–10 個場景。
  • 螢幕文字每行最多 6 個字,最多 2 行。重要數字應放大顯示。
  • 旁白應以聽覺為導向:短句、日常用語、避免 TTS 難以朗讀的縮寫(例如寫「五倍」而非「5x」)。

請取得使用者對腳本的同意(僅回覆「好」即可),除非使用者已指示直接進行。

4. 準備專案

bash "$SKILL/scripts/new-project.sh" <project-folder> [~/.one-line-motion/brands/<name>.json]

此腳本會複製模板、在 public/sfx/ 建立合成音效庫,並安裝相依套件。接著在開始撰寫場景程式碼前,載入 remotion-best-practices 技能(若可用)。

5. 先處理聲音

請閱讀 references/audio.md。摘要如下:

  1. 每場景旁白 → public/audio/vo-01.mp3、vo-02.mp3、……
    • 主要:ElevenLabs(使用 creative_generate_speech 外掛/MCP 或可用的 ElevenLabs 工具)。根據受眾選擇聲音,並說明其名稱。
    • 無帳戶時的備案(草稿用):bash "$SKILL/scripts/tts-fallback.sh" "<narration>" public/audio/vo-01.mp3。告知使用者此為草稿音質。
  2. 填寫 src/timeline.json:每個場景一個條目(id、component、vo、text = 旁白、sfx)。
  3. 同步時長:node "$SKILL/scripts/sync-timeline.mjs" <project-folder>。場景時長 = 旁白時長 + 0.45 秒。
  4. 音效 使用 public/sfx/ 中的檔案(pop、ding、click、whoosh、swoosh、riser、impact、boing、typing)或連接的音效服務。僅在關鍵動態時刻使用,每場景最多 2–3 個。at 以幀數計算,從場景開頭起算。
  5. 音樂:根據氛圍製作免授權背景音樂,長度為影片總時長 + 2 秒: node "$SKILL/scripts/make-music.mjs" <cheerful|lofi|piano|space|synthwave|funk|tech|gamelan> <seconds> public/audio/music.wav 或使用連接的授權音樂服務(確保帳戶有下載權限)或使用者自己的音樂檔案。填寫 timeline.music。Video.tsx 中會自動進行閃避處理。

6. 動畫

請閱讀 references/motion.md 以及 references/styles.md 中所選預設的章節。

  • 每個場景一個檔案,置於 src/scenes/ 中,並在 src/scenes/index.ts 中註冊,名稱須與時間軸中的 component 一致。
  • 優先使用內建組件:Background、Camera、Pop/usePop、KineticText(以 * 開頭的字詞會加上強調色)、BigNumber、DrawPath、Caption。場景範例(Hook、Sunlight、Scatter、Payoff)展示了使用模式;若不使用則可刪除。
  • 所有動畫必須使用 useCurrentFrame、interpolate、spring。禁止使用 CSS 動畫或 transitions。
  • 顏色、字型、easing、spring 參數僅能從 theme 讀取。除非是特定插圖需求(例如彩虹色),否則不得在場景中直接撰寫新的 hex 值。
  • 插圖自行使用 SVG/React 繪製。紋理使用程式生成。禁止使用任何受版權保護的角色、標誌或圖片。
  • 版面設計需讀取 useVideoConfig(),使同一場景能渲染為 9:16 與 16:9 格式(Video-16x9)。
  • 新字型需在 src/fonts.ts 中註冊。

請在專案資料夾中執行 npx tsc --noEmit 直到無錯誤。

7. 視覺 QA(必要)

node "$SKILL/scripts/qa-sheet.mjs" <project-folder>

使用 Read 工具開啟 out/qa-sheet.jpg。每列代表一個場景,欄位代表該場景的開始/中間/結束。檢查並修正以下問題:

  • 文字與字幕或其他元素重疊、文字被裁切、超出安全區域。
  • 場景在中間/結束欄位出現「死寂」(動畫已結束但旁白仍在進行)。
  • 對比度不足、元素在手機螢幕上過小。
  • 場景間風格不一致。

重複此流程直到無問題。若使用者想看預覽,可將 QA 檢查表展示給他們。

8. 渲染與收尾

cd <project-folder> && npx remotion render Video out/video.mp4 --codec h264
bash "$SKILL/scripts/finish.sh" out/video.mp4 <thumbnail-second>

產出:video-final.mp4(響度 -14 LUFS)、video-thumb.jpg、video-wa.mp4(輕量版)。其他格式:npx remotion render Video-16x9 out/video-16x9.mp4。耗時渲染可在背景執行。

9. 上傳套件

請閱讀 references/formats.md。使用 SendUserFile 傳送最終 MP4 檔案,並附上:

  • 3 個標題選項(≤ 60 字元)、簡短說明、5–8 個相關標籤。
  • 時長、格式、使用的預設、聲音、音樂/SFX 來源。
  • 事實來源(若為教育內容)。

提供儲存品牌套件的選項:將 brand.json 複製到 ~/.one-line-motion/brands/<name>.json。

10. 一句話修訂

請閱讀 references/revisions.md。將使用者的要求(例如「月亮再大一點,加上臉」)轉換為清單:場景 → 元素 → 屬性 → 新值。僅修改該部分。

  • 旁白修訂:僅重新製作該場景的 VO,執行 sync-timeline.mjs。
  • 若版面有所變更,請再次執行 QA 檢查表,然後重新渲染。
  • 記錄於 notes/revisions.md(日期、要求、變更內容),並簡短說明變更了哪些項目。

倫理與授權

  • 禁止模仿特定創作者、品牌或工作室的獨特風格。文化圖案應以尊重的方式以通用風格重新繪製。
  • 音樂與音效僅能來自授權來源、使用者自製或 make-sfx.sh 合成的結果。
  • 若影片用於客戶或付費廣告,請提醒使用者檢查語音/音樂服務的授權條款。
  • 科學內容可以簡化,但不得做出錯誤的概念陳述。

相關技能