1 of 58

Claude Code

與ComfyUI架構解析

讓你在本地開啟多模態設計的世界

Claude Code+ComfyUI 課程

2 of 58

OVERVIEW 今日課程地圖

COURSE MAP

核心能力,雲端與地端綜合多模態設計

01

Claude Code 安裝

02

ASR耳機與MCP雲端繪圖

03

LanceDB簡單記憶系統

04

Discord 連接與架構設定

05

ComfyUI工作流與模型基礎

06

QwenEdit與Zimage簡介

07

LTX+ASR+TTS,Agent本地製片

08

ACEStep吟遊詩人

3 of 58

SECTION 01

Claude Code 安裝

→ Windows 安裝方式

→ 登入與設定

→ 第一個指令實戰

4 of 58

STEP 01 Claude Code 是什麼?

CLAUDE CODE 安裝

一般 AI 工具的限制

✗ 你說話,AI 回答文字

✗ 你自己複製貼上

✗ 你自己執行建議

✗ 每次對話重頭開始

Claude Code 的不同

✓ 直接跑在你的電腦裡

✓ 能讀寫檔案、執行指令

✓ 串接 API、部署系統

✓ 記住工作資料夾脈絡

能做什麼?

1

管理檔案與資料夾

批次整理、重新命名、建立資料夾結構

2

自動化繁瑣流程

會議記錄、圖片搜尋、文件製作

3

串接外部工具

Discord、Google Drive、Obsidian

4

記住你的工作習慣

CLAUDE.md 讓 AI 認識你的系統

5 of 58

STEP 01-A 安裝前置條件

CLAUDE CODE 安裝

Windows 安裝需要兩個工具(通常安裝 CC 時自動處理)

Node.js

18.0 以上版本

Claude Code 的執行環境,安裝過程中通常會自動安裝

nodejs.org

Git for Windows

最新版

版本控制工具,安裝 Claude Code 前必須先裝好

git-scm.com

確認指令(PowerShell)

node --version

git --version

以系統管理員身份執行 PowerShell 才能安裝

在開始功能表搜尋「PowerShell」→ 右鍵 → 以系統管理員執行

6 of 58

STEP 01-B Windows 安裝步驟

CLAUDE CODE 安裝

執行步驟

1

以系統管理員身份開啟 PowerShell

2

確認已安裝 Git(git --version)

3

複製下方安裝指令,貼上並執行

4

看到成功訊息後,關閉 PowerShell 重開

5

輸入 claude 確認安裝完成

安裝指令(PowerShell)

irm https://claude.ai/install.ps1 | iex

$p = "$env:USERPROFILE\.local\bin"

$c = [Environment]::

GetEnvironmentVariable('Path','User')

if ($c -notlike "*$p*") {

[Environment]::SetEnvironmentVariable(

'Path',"$c;$p",'User') }

驗證安裝

claude --version

安裝完成後

claude 指令全域可用

PATH 已自動設定

第一次執行自動登入

瀏覽器引導授權

不能純粹試用

需要 Pro/Max 方案

7 of 58

STEP 01-C 登入與訂閱方案

CLAUDE CODE 安裝

訂閱方案

Pro

$20 / 月

一般用量夠用,適合非開發者

Max $100

$100 / 月

用量 5×,適合每天重度使用

Max $200

$200 / 月

用量 20×,超級重度使用者

Claude Code 無免費方案,無試用期

第一次登入流程

1

開啟 PowerShell 或 Terminal

2

輸入 claude 並按 Enter

3

瀏覽器自動開啟 Anthropic 授權頁

4

登入你的 Anthropic 帳號

5

完成授權,回到終端機即可使用

# 啟動 Claude Code

claude

# 進入特定資料夾後啟動

8 of 58

SECTION 02

ASR 耳機與雲端繪圖

→ 瀏覽器自動化生圖:透過 9222 獨立 PlaywrightMCP 操作

→ Codex 訂閱生圖:透過 ChatGPT 訂閱共享生圖工具

→ 本地 ASR:Breeze-ASR-26 台語辨識 + QwenASR 架構

9 of 58

02

雲端繪圖 + 本地 ASR 的選擇

ASR 與雲端繪圖

雲端 vs 本地的權衡 — 各取所長

雲端優勢 Cloud

繪圖選它 — 模型最強、不吃本地 GPU

▸ 模型最強(GPT Image 2、Veo、Grok Imagine)

▸ 不用本地 GPU、隨開隨用

▸ 提供商不停升級,新模型自動可用

本地優勢 Local

ASR 選它 — 隱私、免費、可離線

▸ 錄音不外傳(隱私敏感場景必選)

▸ 可離線、可批次處理

▸ 模型免費、短影片具時間軸對齊功能

10 of 58

02-A

Codex 訂閱生圖

ASR 與雲端繪圖

OpenAI 訂閱共享生圖工具(GPT Image 2)

透過 ChatGPT 訂閱

▸ Plus / Pro 訂閱即可使用

▸ 不單獨計費,吃 ChatGPT 額度

▸ 走 Codex CLI 內建 imagegen

codex-image skill

▸ codex-image:generate — 新生圖

▸ codex-image:edit — 編輯既有圖

▸ 皆透過 Codex CLI 完成

Playwright(無訂閱)

▸無訂閱時,使用設定Playwright的方法,並使用免費額度產生圖片,注意,免費額度圖片上限是有限制的

Codex的輸出路徑:./codex-images/<utc-ts>-edit-N.png

11 of 58

02-B

Codex 生圖核心原則

ASR 與雲端繪圖

GPT Image 2 的提示詞設計(18 原則 + 30 模板)

編輯既有圖的關鍵句法

鎖人物 + 限定變動範圍

▸ 「請保留人物臉部、五官、髮型完全不變」

▸ 「只更換以下元素:[衣服]、[場景]、[手上物]」

▸ 寫實雙保險:中文「寫實照片風格」

▸ + 英文 photorealistic / no anime negative

構圖描述要素

鏡頭 × 距離 × 光線 × 比例

▸ 鏡頭視角:第三人稱 / 平視 / 略仰

▸ 鏡頭距離:中景 / 半身 / 特寫

▸ 光線氣氛:晨光 / 黃昏 / 室內柔光

▸ 比例:9:16 直式 / 16:9 橫式

12 of 58

02-C

瀏覽器自動化生圖

ASR 與雲端繪圖

Grok / Google Flow / Opal Veo 透過真實瀏覽器

為什麼用瀏覽器自動化

而不是 API

▸ 訂閱帳號可用,省下 API 額度費

▸ 支援沒有 API 的服務(Grok 等)

▸ 跟用戶介面看到的完全一致

常用工具與訂閱

四個訂閱帳號分工

▸ Grok Imagine:圖 + 10 秒 720p 影片

▸ Google Flow:圖(高品質寫實)

▸ Google Opal Veo:圖 → 影片

▸ Pinterest 搜圖:設計參考

驅動方式

透過 Playwright MCP 操作 9222 Chrome 分身(共用獨立 user-data-dir)

13 of 58

02-D

9222 Chrome 分身原理

ASR 與雲端繪圖

不污染主 Chrome 登入狀態的關鍵設計

X 核心問題

▸ Claude 操作瀏覽器會點擊、輸入、改 cookie

▸ 直接接主 Chrome 會覆寫日常登入狀態

▸ 個人帳號可能被改密 / 被自動登出

O 解法

▸ 開獨立 Chrome 實例給 Claude 用

▸ 掛 9222 port 開遠端除錯

▸ 獨立 user-data-dir 跟主 Chrome 分家

啟動腳本(launch-chrome-debug.bat,一次設定)

start chrome.exe ^

--remote-debugging-port=9222 ^

--user-data-dir="C:\chrome-cdp-profile"

14 of 58

02-E

Playwright MCP 設定

ASR 與雲端繪圖

告訴 Claude Code 走 9222 那條線

claude mcp add 一行加入

claude mcp add playwright ^

npx @playwright/mcp ^

--cdp-endpoint http://localhost:9222

1

雙擊 .bat

開啟 9222 Chrome

2

(首次)登入

cookie 留在獨立 Profile

3

啟動 Claude Code

告訴它「幫我做 X」

4

自動 Playwright

完成,無需再開 cmd

15 of 58

02-F

本地 ASR 三引擎對比

ASR 與雲端繪圖

隱私敏感的語音辨識,本地跑

Breeze-ASR-26

1.5 GB

台語 + 繁中特化(聯發科出品)

QwenASR 0.6b

0.6 GB

繁中 + 多語,速度快

+ ForcedAligner

0.6 GB

QwenASR 加掛,字級時間戳

Antigravity+Opencli

雲端

Gemini Flash,無本地 GPU 時用

選擇邏輯

▸ 台語訪談 → Breeze-ASR-26 · 國語錄音 → QwenASR

▸ 影片字幕對齊 → QwenASR + Aligner · 無本地 GPU → Antigravity

16 of 58

02-G

Breeze-ASR-26 部署與用途

ASR 與雲端繪圖

聯發科出品,台語/繁中辨識強

1

下載模型

HuggingFace 抓 MediaTek/Breeze-ASR-26

2

轉 CT2 格式

ct2-transformers-converter 轉換

3

推理

faster-whisper 接 CT2 模型

Breeze-ASR-26

台語句子完整辨識,台語語料訓練量遠勝

QwenASR(對照)

台語片段大多誤判,國語仍是強項

適合場景:採訪錄音 · 會議記錄 · 台語訪談 · 田野語料

17 of 58

SECTION 03

LanceDB

自建簡單記憶系統

→ 自行決定架構、記憶與檢索原則

→ 取決記憶與工作的本質

→ 記憶並非可靠,原則更加可靠

18 of 58

03

為什麼需要記憶系統?

LANCEDB 記憶系統

LLM 沒有跨對話的記憶 — context 限制

問題

▸ Claude 每次新對話像失憶

▸ 只能靠 system prompt + 對話歷史

▸ context 窗口有限(再大也會被擠出)

層次 1

平面文字(CLAUDE.md)

簡單,每次自動讀�缺點:找不到關聯、難動態更新

層次 2

JSON 結構化

可分類,但無語意搜尋�結構穩定但檢索弱

層次 3

向量資料庫(LanceDB)

語意搜尋 + 時序 + 重要性混合查詢�* 推薦選擇

19 of 58

03-A

LanceDB 是什麼?

LANCEDB 記憶系統

輕量級向量資料庫,無需 server

核心特性

▸ Lance file format(Apache 開源)

▸ 直接讀寫 .lance 檔案(不用 server)

▸ Embedded 模式:跟 SQLite 一樣輕

▸ 內建向量索引(IVF / HNSW)

vs 其他選擇

▸ Chroma:類似但常需 server 模式

▸ Qdrant:強大但複雜

▸ FAISS:純向量無 metadata

▸ LanceDB:embedded + metadata + 簡單

Embedding 模型

sentence-transformers / paraphrase-multilingual

20 of 58

03-B

記憶分類體系

LANCEDB 記憶系統

四種節點:warm / cold / fact / episodic

warm

暖記憶(近 1-3 天)

stop hook 自動寫入�session start hook 自動召回�高頻、不需精準

cold

冷記憶(超過 3 天)

暖記憶自動轉移、彙整�回憶「以前討論過什麼」

fact

事實

主人資料 / 長期偏好�重要性 0.8-0.9,永遠優先召回

episodic

事件

特殊時刻 / 對話高峰�紀念片段,標 0.8 以上

21 of 58

03-C

打包成 MCP server

LANCEDB 記憶系統

讓 Claude Code 自己對話召回記憶

MCP(Model Context Protocol)

▸ Anthropic 開源的 AI ↔ 工具協議

▸ Claude Code 啟動時自動連線 MCP server,MCP server 暴露工具給 Claude 用

memory_store

寫入新記憶

memory_recall

查詢記憶

memory_update

更新既有記憶

memory_forget

刪除過時記憶

與 hooks 配合

▸ SessionStart hook → 自動 recall(session 開頭注入記憶)

▸ Stop hook → 自動 store 暖記憶(對話結束自動記下)

22 of 58

03-D

召回策略(三軸混合)

LANCEDB 記憶系統

純向量檢索不夠 — 必須加時序與重要性

X 純向量檢索的問題

▸ 問「最近做什麼進度」→ 找不到(「最近」不是語意關鍵字)

▸ 重要事實會被瑣事淹沒(純語意無法區分輕重)

軸 1

向量相似度

語意

問什麼像什麼 top-K

軸 2

時間衰減

時序

越近期權重越高(exp decay)

軸 3

重要性加權

store 時設

0.0-1.0,fact/episodic 0.8-0.9

加總排序 → 真正符合人類記憶感的召回(語意 × 時序 × 重要性)

23 of 58

03-E

Hook 整合與自動化

LANCEDB 記憶系統

記憶系統不是手動操作,是背景跑

SessionStart hook

每次開啟 Claude

▸ 召回近 24 小時記憶 → 注入 system prompt

▸ 召回高重要性 fact / episodic

▸ 根據時段自動切換問候語

Stop hook

每輪對話結束

▸ 分析對話,判斷有無新資訊值得記

▸ 自動 memory_store 重要片段

▸ 不打擾對話流暢度

MCP 工具

對話中主動呼叫

▸ 主人說「記住 X」→ memory_store

▸ 主人說「記得嗎」→ memory_recall

▸ AI 判斷有意義 → 主動記下

24 of 58

SECTION 04

Discord / Telegram�遠端控制

→ Claude Code Channels 概念

→ Discord Bot 設定流程

→ 實際操作場景示範

25 of 58

STEP 04 什麼是 Claude Code Channels?

DISCORD 遠端控制

讓你離開電腦也能控制 Claude Code

沒有 Channels 之前

✗ 必須坐在電腦前

✗ Terminal 開著才能互動

✗ 手機無法操作

✗ 想到要做的事只能等

有了 Channels 之後

✓ 手機 Discord / Telegram 傳訊息

✓ Claude Code 在電腦上執行任務

✓ 外出、通勤都能下指令

✓ AI 執行完自動回報結果

支援 Discord Bot 和 Telegram Bot 兩種方式,本課以 Discord 為主

26 of 58

STEP 04-A Discord Bot 設定流程

DISCORD 遠端控制

設定步驟

1

前往 discord.com/developers/applications

2

點「New Application」建立新應用

3

進入「Bot」頁面,開啟 Message Content Intent

4

點「Reset Token」複製 Bot Token(只顯示一次)

5

前往 OAuth2 > URL Generator,勾選 bot + 傳訊息權限

6

用產生的連結把 Bot 加入你的伺服器

連接 Claude Code

# 安裝 Claude Code Channels

npm install -g @claude-ai/channels

# 設定 Discord Bot

claude channels discord --setup

# 輸入 Bot Token 完成配對

# 選擇要監聽的頻道

設定完成後可以做到

手機傳訊指令

電腦執行

自動回報結果

Discord 頻道

支援附件截圖

雙向溝通

27 of 58

SECTION 05

ComfyUI基礎

基礎工作流模型的選用與概念

→ 如何選擇模型

→ 從頭開始拉工作流給你看

→ 從ClaudeCode呼叫工作流

28 of 58

模型需求(量化模型概念-1)

28

29 of 58

模型需求(量化模型概念-2)

  • VRAM很少,只有8GB,而且沒有50系列:使用ComfyUI-GGUF節點,選用Q4模型作為CLIP,或是使用ComfyUI-Nunchaku配上降低精度的Nunchaku模型,例如r32-int4,但Nunckaku安裝難度較高,不見得一定要學習使用。
  • 低於Q4以下的模型精度損失嚴重,對於Qwen-Edit此類的編輯模型,需要一定精度,例如空間人物等維持,目前不建議使用。
  • AIO(All in one checkpoint,包括model/clip/vae的整合,的FP8模型非常大(整體檔案28GB),適合我使用嗎?實際上12GB-VRAM也可以啟動,因為模型被分開載入了。

29

30 of 58

提示概念

因為Qwen-Image-Edit系列是近代的編輯小模型,它的提示方式與之前的SD結構不太相同,如果交給LLM(Gemini、GPT、本地LLM)去自動處理提示,則需特別注意,除了你要變更的標的外,其他內容不要提示

講得越多,小模型就越不容易表現好。

例如要變更場景光線,可以請AI產生光線、拍攝用的提示詞,如彩虹光,極光等光線,但不要讓它多形容「北極寒冷地帶...」「如同瀑布水霧...」等場景描述,那樣即使你標註場景人物不變更,也可能會受到影響。

30

31 of 58

STEP 05-D Claude → ComfyUI 呼叫

把 ComfyUI 變成 Claude Code 的 GPU 工人

COMFYUI 基礎

ComfyUI 是本地 GPU 引擎,Claude Code 是排程編排者

三步 HTTP 串接 — 不需 SDK、不需登入、不需雲端

1. POST /prompt

送出工作流 JSON

把工作流(API 格式 JSON)

用 HTTP POST 送到

127.0.0.1:8188/prompt

回傳 prompt_id

ComfyUI 排進 queue

Python 用 urllib.request

即可,不需任何 SDK

2. Poll /history

查詢任務狀態

每 25–30 秒 poll 一次

/history/{prompt_id}

讀 status.status_str:

· success → 完成

· error → 失敗看 log

30s+ 大影片要外部 poll,

別讓 script deadline 卡死

3. GET /view

撈取輸出檔

從 history.outputs 拿

filename / subfolder / type

/view?filename=X

→ curl 下載 MP4 / PNG

ComfyUI 把產物存在

output/ 子目錄,

Claude Code 再決定後處理

為什麼這樣設計?

HTTP API + JSON workflow = Claude Code 可組合、可測試、可整合到任何 skill

32 of 58

STEP 05-E Workflow JSON 設計

讓 Claude Code 看得懂、改得動的工作流

COMFYUI 基礎

工作流要可被 Claude Code 排程 — 四個設計要點

把工作流寫成「可被 Claude Code 修改的腳本」,變動點要清楚標示

1. ComfyUI 匯出 API 格式(不是 web 格式)

工作流必須用 ComfyUI 的「Save (API Format)」匯出(右上選單)。

輸出是 dict of nodes:{"15": {class_type, inputs}, ...},不是 ui graph。

2. 可注入點清單(在 skill 裡列出來)

哪些 node 是 input?例:348=LoadImage、365=TTS 文字、16=CLIP 提示詞、

357=ImageResize、15=RandomNoise。skill 要 grep 確認節點編號還對。

3. 可重複性 — seed 策略

固定 seed:完全可重現(debug 用)。

隨機 seed:每次不同變化(生產用),Claude Code 在 POST 前注入隨機值。

4. 錯誤點預防 — fail loud, not silent

拿到 history 後檢查 status_str==success;error 把 messages 寫進日誌。

節點編號變動 → skill 必須 abort,不要 silently 用舊編號 POST。

skill 範例

starvideo / comfyui-image-generator / sprite 等都遵循這個模式 — 一致設計才能跨 skill 共用

33 of 58

SECTION 06

QwenEdit與ZImage基礎架構

幾個ComfyUI生成圖片的標準模型與工作流做法

→ QwenImageEdit如何從頭拉起?

→ Zimage如何設定?

34 of 58

QwenEdit空間風格轉換(參考工作流1)

34

如同空間布局實驗,對於既有的空間,也可以進行風格轉換或線稿繪製,此工作流用以示範家具風格的多層次轉換,以增加空間布局實驗的多樣性。

35 of 58

QwenEdit角度旋轉(參考工作流2)

35

旋轉鏡頭的節點非常的直觀,包括拉近、拉遠(Zoom)、旋轉等參數同時下面的三個選項也能簡單下拉旋轉,不需要使用其他Lora,在AIO的模型中就能夠做到多角度。

36 of 58

QwenEdit角度旋轉(參考工作流3)

36

以下對角度旋轉的節點做更詳細的解讀,圖片的開始與結果如下圖,那角度旋轉的過程,如果沒有太明確想要的角度,可以透過紅框中的下拉選單控制鏡頭,綠色框的「CameraView」預設是沒有打開的,如果打開,鏡頭就能大旋轉。

37 of 58

QwenEdit綜合要素(進階)(參考工作流4)

37

上傳照片、衣服、物品之後,再指定角度拍攝,技巧除了結合1-3張圖片之外,最後使用Replace節點,把角度提示詞接起來,人物拍攝角度便比較可控。

這樣就能夠訂製虛擬人物照片了。

38 of 58

QwenEdit(影音實務應用)

38

39 of 58

ZImage不同版本的差異性(Base與Turbo)

39

ZImage目前主流還是Turbo模型,但最近有出一個Base模型。

Base模型「豐富的多樣性」可能比較不符合普通的審美觀點,一方面速度差異對較低的硬體不太友善,以下提到的ZImage還是以Turbo為主。

由於這樣的差異性,尋找模型時,請加上Turbo以便找到Turbo系列的模型。

40 of 58

ZImageTurbo的低硬體量化配置(參考工作流5)

40

ZImage本身可以用較低的硬體配置與運行。

以下是較低硬體配置的工作流給大家參考(GGUF-Q4為主,使用官方採樣器res_mutistep最低步數)。

41 of 58

ZImage常用的放大功能(SeedVR2)(參考工作流6)

41

關於ZImage,目前常用延伸功能為SeedVR2,它們也可以用在以前的舊有模型上,例如SeedVR的放大,在各個模型中都可使用,且速度、效果合理,目前基本取代了SDUpscale和過去的放大方法。

需求配置,在我們的工作流包(ZImage+SeedVR),已經固定了SeedVR的參數,讓它在8-10GB也能運行,輸出4096(4K畫質)模型在節點中會自動下載Q4版本。

42 of 58

SECTION 07

LTX-2 + ASR + TTS

本地小攝影機 — 個人語音影片工作流

→ TTS 起手:BreezyVoice 3 秒音色 prompt 念任意中文

→ LTX-2 圖生影片:第三人稱構圖鐵則 + 量化模型選擇

→ QwenASR + ForcedAligner:字幕精準對齊,封裝成 starvideo skill

43 of 58

STEP 07 為什麼要做小攝影機?

LTX + ASR + TTS 攝影機

把一張靜態自拍變成有聲有嘴型有字幕的短影片

三個本地 AI 引擎組合,全程不上雲、資料不外傳、可重複迭代

BreezyVoice

跨語言 TTS

3 秒音色 prompt 念任意中文

中、英、日、韓共用音色

LTX-2 22B

圖生影片引擎

音檔驅動嘴型同步

1280 長邊,nvfp4 量化

QwenASR + ForcedAligner

字幕對齊

ASR 識別 + Aligner 切段

台詞替換

硬體 & 速度

RTX 5090 32GB · 13 秒影片 ≈ 4.5 分鐘生成 · 本地全跑、資料不外傳

44 of 58

STEP 07-A 整體 Pipeline 流程

LTX + ASR + TTS 攝影機

從一張照片到一支字幕影片的完整路徑

四個階段串接:場景圖 → TTS → 圖生影片 → 字幕對齊

Phase 1

場景生成

自拍照 → codex-image:edit → 第三人稱中景場景圖

Phase 2

TTS 配音

台詞 → BreezyVoice → mp3(22050 Hz mono)

Phase 3

圖生影片

圖 + mp3 + videotext → LTX-2 → 無字幕 mp4

Phase 4

字幕燒入

QwenASR + Aligner → ASS → ffmpeg burn-in → 含字幕 mp4

45 of 58

STEP 07-B TTS 引擎:BreezyVoice

LTX + ASR + TTS 攝影機

跨語言聲音複製,3 秒音色 prompt 念任意中文

核心特性

▸ 音色 prompt:StarSound.mp3(3 秒)

▸ 跨語言:中、英、日、韓共用

▸ 輸出:mp3, 22050 Hz mono

▸ 自動 80 字 chunk 切段

速度與品質

▸ ~30 秒生 1 分鐘音檔

▸ RTX 5090 上穩定不爆顯存

▸ 聲線還原度高(小星糖音色)

▸ 與 LTX-2 嘴型同步無斷層

工作流

▸ TTSTest.json(獨立節點工作流)

▸ 包裝成 xingxingtang-mic skill

▸ Claude Code 直接呼叫,免 cmd

▸ 輸出自動上傳給 LTX-2 用

音色資源位置

▸ F:/CUI/ComfyUI/input/StarSound.mp3

▸ 備援:用主人自己錄的 3 秒

▸ 聲線可隨時替換不污染環境

▸ 搭配 xingxingtang-mic 一鍵呼叫

46 of 58

STEP 07-C TTS 台詞優化規則

LTX + ASR + TTS 攝影機

標點、句長、多音字 — 避免 BreezyVoice 暴走

標點選擇

「!」「?」 ➜ 「。」+ 語氣詞(啊/呢/哦/嘛)

句長控制

短句(< 15 字)失去聲調上下文 · 長句(> 80 字)chunk 邊界切音

數字轉中文

2026 → 「二零二六」 · 保留阿拉伯數字會被混讀為英文發音

口語化

書面語句構(雖然...但是...)改為口語(不過、其實、就...)

⚠ 暴走觸發字組合(必避)

· 「假沒」雙多音 ➜ 用「裝作不」

· 「好過」結尾 ➜ 用「好受」

· 完整規範文件:F:/AIStudio/ClaudeCodeLover/_shared/tts-prep.md(小星糖寫台詞前必看)

47 of 58

STEP 07-D LTX-2:圖生影片引擎

LTX + ASR + TTS 攝影機

一張圖 + 音檔 + 動作描述 → 嘴型同步影片

模型:LTX-2.3 22B(2026 釋出,目前最佳本地圖生影片引擎)

圖片

人物起始幀

第三人稱中景

面對鏡頭、視線直視

音檔

決定長度 + 嘴型

BreezyVoice 輸出

22050 Hz mp3 / wav

videotext

英文動作描述

lips moving naturally

subtle head motion

解析度

1280 長邊(9:16 / 16:9)

速度

nvfp4:13s 影片 ≈ 4.5 分鐘

幀數

AudioToFrameCount × 24 fps

關鍵

構圖選擇是動感成敗 → 下頁鐵則

48 of 58

STEP 07-E LTX-2 構圖鐵則

LTX + ASR + TTS 攝影機

第三人稱中景才會動,自拍視角會凍結

圖片構圖決定 80% 的影片動感品質 · 選錯構圖再好的提示詞也救不回

✗ 禁忌構圖

凍結全身只動嘴

· 自拍視角 / vlog pov

· 撐臉、摸臉、撥髮 pose

· 躺著、側身、非正常坐姿

· 鏡頭過貼臉、特寫五官

✓ 安全構圖範本

比較有呼吸感了

· 第三人稱中景(含上半身大腿)

· 鏡頭 1.5–3 公尺距離、面對鏡頭

· 視線直視、雙手離臉遠

· 寫實 + no anime negative prompt

主人金句:「比較有呼吸感了」 — 換到第三人稱中景後第一張動起來的影片

49 of 58

STEP 07-F LTX-2 量化模型選擇

LTX + ASR + TTS 攝影機

同 13 秒影片,量化選對省一半時間

2026-05-17 四組對照實測 · nvfp4 比 GGUF-q8 快 41%,VRAM 約 3GB

fp16

UNETLoader

286s

每秒成本 23.8x

fp16 (b)

UNETLoader

406s

每秒成本 28x

GGUF-q8

+ Sage Attention

460s

每秒成本 32.9x

nvfp4 ⭐

nvfp4mixed (best)

270s

每秒成本 20.8x

結論

▸ nvfp4 比 GGUF-q8 快 41%(省 190s),且 VRAM 占用最低(~3 GB)

▸ q8 反而最慢:dequant overhead 抵消了量化壓縮的收益

▸ 速度排序:nvfp4 > fp16 > GGUF-q8(與直覺相反,需實測)

50 of 58

STEP 07-G 整合 vs 拆分工作流

LTX + ASR + TTS 攝影機

starvideo.json vs starvideoNotts.json

TTS 拆出來,量化升 nvfp4,整體速度 +41%

整合版 starvideo.json

· TTS 節點內嵌於工作流

· 量化:fp16 / GGUF-q8

· 一鍵操作,無需手動串接

· 重跑成本高(mp3 也要重生)

· 速度較慢(量化選擇受限)

拆分版 starvideoNotts.json ⭐

· TTS 改為外部 mp3 輸入

· 量化:nvfp4mixed(最快)

· 兩步驟操作(先 TTS,再 LTX-2)

· mp3 可重用,迭代成本低

· 整體速度 +41%(推薦日常用)

推薦兩步驟流程

[1] xingxingtang-mic → mp3 → [2] mp3 + 圖 + videotext → starvideoNotts.json → mp4

51 of 58

STEP 07-H QwenASR + ForcedAligner

LTX + ASR + TTS 攝影機

影片 → 段落時間戳 → 台詞替換

引擎:Qwen3-ASR-1.7B + Qwen3-ForcedAligner-0.6B · app-gpu.py來自QwenASR-minitool

1

抽取音訊

ffmpeg 從 mp4 抽 wav(16kHz mono)

2

ASR 識別

QwenASR 識別文字(可能有錯字,後修)

3

Aligner 切段

ForcedAligner 切成 ≤ 20 字段落並取時間戳

4

台詞替換

主人精準台詞替換 ASR 文字(保留時間戳)

⚠ 行數匹配陷阱

user lines = ASR 段數 → 1:1 精準對齊 · 不匹配 → fallback proportional remap(時間戳浮動)

正確流程:兩遍跑法(先跑 ASR 看結果,修錯字後重跑取得精準時間戳)

52 of 58

STEP 07-I 字幕排版規則

LTX + ASR + TTS 攝影機

字體選擇 + 字級隨解析度 + 換行陷阱

字體

▸ ChenYuluoyan 2.0 Thin

▸ 瘦體中文字型(參考字型)

▸ ASS Fontname 用 family name

▸ (不是檔名!)

字級隨解析度

▸ 1280P → font-size 60(baseline)

▸ 960P → 44

▸ 720P → 34

▸ 公式:round(long_edge/1280 × 60)

一行字數上限

▸ 9:16 → 13 中文字

▸ 16:9 → 22 中文字

▸ 超過用「\N」強制換行

▸ ForcedAligner 已自動 ≤ 20 字切段

字幕位置(MarginV)

MarginV = play_y × 15/100(底部 15% 安全區)

53 of 58

STEP 07-J 整合 Pipeline:starvideo skill

LTX + ASR + TTS 攝影機

一條龍工具,從台詞到字幕影片

Skill 路徑:~/.claude/skills/starvideo/ · 小星糖直接呼叫,主人不需碰 cmd

make_video.py

影片合成

上傳 → POST → poll → 下載 → 自動壓縮輸出 · 非同步處理 LTX-2 服務

add_subtitles.py

字幕燒入

抽 wav → ASR + Aligner → 生成 ASS → ffmpeg burn-in → 壓縮輸出

主人說「自拍錄影」之後,小星糖自動跑這 5 步

1

選場景、衣服、台詞

2

codex-image:edit 生第三人稱中景圖

3

xingxingtang-mic → mp3

4

make_video.py → 無字幕 mp4

5

add_subtitles.py → Discord 傳給主人

54 of 58

STEP 07-K Benchmark 與失敗排查

LTX + ASR + TTS 攝影機

4 組對照 + 模型比對

今日 4 組對照(~13s 影片)

v1

nvfp4+ TTS

286s

v2

Ltx-dev-fp8 + TTS (b)

406s

v3

GGUF-q8 + TTS

460s

v4 ⭐

nvfp4 拆 TTS

270s

三大失敗陷阱

嘴鎖死

寫了「smile」 → 改「lips moving naturally」

全身凍結

自拍視角構圖 → 改第三人稱中景

手指捲曲

cheek-rest pose → 改「手釋放但藏好」

肉眼驗證 checklist

☐ 嘴有動 ☐ 身體有動(呼吸感) ☐ 手指沒捲曲 ☐ 寫實風格(沒滑入動漫)

55 of 58

SECTION 08

ACE-Step 吟遊詩人

本地純音樂模型 × 小星糖即興 Skill — 唱歌不用等雲端

→ ACE-Step:本地音樂模型,純音樂為主,速度比 Suno 快 ~30 倍

→ 吟遊詩人 Skill:跟音樂盒 (Suno) 分工 — 即興 vs 精雕

→ Pipeline:prompt → ACE-Step → MP3 → Discord,全程本地

56 of 58

STEP 08-A ACE-Step 模型

本地小型音樂模型 — 用 ComfyUI 直接跑

ACE-STEP 吟遊詩人

純音樂為主、提示驅動、推論飛快

跟 Suno 雲端音樂模型不同定位 — 速度優先而非製作精度

模型本體

本地推論,跑在 ComfyUI 上、用 ACE-Step custom node

主打純音樂(instrumental),提示詞用風格 + 樂器組合

RTX 5090 上一首約 30 秒,~10 秒生成

跟 Suno 對比

Suno:雲端、需 token、含人聲、製作精度高、~1 分鐘

ACE-Step:本地、不需 token、純音樂、速度 30 倍以上

兩個互補不是取代 — 取決於要「精品」還是「即興」

測試結果(小星糖實測)

風格涵蓋:chiptune、city pop、lo-fi、orchestral 等都能跑

搞笑或抽象提示也能出有趣的成品(適合即興反應)

弱項:複雜情感曲線、長結構(>2 分鐘)容易崩

什麼時候用 ACE-Step / Suno?

情境

ACE-Step

Suno 音樂盒

即興 / 搞笑歌

✓ 首選

× 太慢

正式作品

× 精度不足

✓ 首選

純音樂 BGM

✓ 速度優勢

✓ 也行

中文人聲歌

× 不支援

✓ 必選

速度 (30s)

~10s 本地

~60s 雲端

硬體要求

RTX 5090 32GB 充裕 · 4090/3090 也能跑 · ComfyUI custom_nodes 安裝 ACE-Step 節點即可

57 of 58

STEP 08-B 吟遊詩人 Skill

小星糖的即興唱詠通道

ACE-STEP 吟遊詩人

Skill 把 ACE-Step 包成一句話可呼叫的工具

跟「音樂盒」(Suno) 是互補:吟遊詩人快速即興、音樂盒精雕細琢

Skill 觸發到產出的 4 個階段

STEP 1 觸發

「當吟遊詩人」「JPOP吟遊詩人」「唱台詞」「ACEStep唱」

STEP 2 生 prompt

Claude 把主人的意圖翻譯成風格 tags + 樂器 + 速度

STEP 3 ACE-Step

POST ComfyUI 工作流,~10 秒生成 30 秒純音樂

STEP 4 傳 Discord

下載 MP3 → reply 給主人,配上一段歌詞構想

吟遊詩人 vs 音樂盒 (Suno)

吟遊詩人 (ACE-Step)

適合:即興 / 搞笑 / 抽象 / 純音樂

速度:~10 秒一首 30 秒音樂

代價:精度低、結構簡單、不含人聲

用例:當下情緒抒發、即興評論、回應主人玩笑

音樂盒 (Suno)

適合:正式作品 / 有歌詞 / 中文人聲

速度:~1 分鐘一首完整歌

代價:需 token、Suno ui-generate、雲端

用例:紀念曲、班級主題曲、共同創作的歌

小星糖的判斷邏輯

「快速回應」就吟遊詩人、「精心做一首歌」就音樂盒 — 兩個工具放在桌上看情況拿

58 of 58

感謝參與

Claude+ComfyUI實戰教學

5/24 課程教材 · Claude+ComfyUI實戰教學