by Rain Chu | 9 月 15, 2026 | Apple , Mac
Mac 空間快滿時,我會先找出到底是哪些資料夾變大,再決定要清快取、移除軟體,還是整理下載過的 AI 模型。
Mole 把這些工作集中在終端機裡,輸入 mo 就能用方向鍵操作,涵蓋磁碟分析、清理、解除安裝、系統維護與即時監控。
對已經使用 Homebrew、Codex 或本地模型的 Mac 使用者,Mole 很適合當作日常維護工具,它能協助回收空間、找出資源占用,但清掉檔案並不代表 CPU 會自動變快。先知道瓶頸在哪裡,才不會刪了一堆快取,最後只是讓軟體重新下載相同資料。
Mole 免費嗎,終端機版和 DMG App 差在哪裡
目前的 Mole GitHub 專案 是免費開源 CLI,採 GPL-3.0 授權。
Mole for Mac 繁體中文官網 提供的是另外一款付費原生圖形介面 App。免費開源的說法應對應 CLI,不能套用到所有同名版本。
CLI 適合用鍵盤操作、希望檢查原始碼,或要把結果交給其他程式處理的人,原生 App 則提供視覺化磁碟樹狀圖、App 管理、選單列狀態等操作介面,對不想開終端機的人更直覺,官方目前標示 App 為一次購買、終身更新,一份授權可用於兩台 Mac,實際價格和條款以購買頁為準。本文以下以免費 CLI 為主。
安裝 Mole,先確認 Homebrew 能使用
按下 Command 加空白鍵,搜尋「終端機」。如果已安裝 Homebrew,先檢查版本,再安裝 Mole。
brew --version
brew install mole
mo --version
mo
還沒裝 Homebrew,可以到 Homebrew 官網 取得安裝命令。安裝完成後,照終端機顯示的 Next steps 設定環境,再重新開啟終端機。Apple Silicon 和 Intel 的安裝位置可能不同,直接照自己電腦輸出的步驟最穩。
輸入管理員密碼時,終端機通常不會顯示字元或星號,輸入完按 Enter 即可。Mole 只有在操作需要較高權限時才會提出要求,不必把每一條命令都加上 sudo。
第一次使用,我會從 Analyze 開始
先執行磁碟分析,沿著最大的資料夾往下查看。比起直接啟動清理,這一步更容易理解自己的硬碟用在哪裡。
mo analyze
也可以指定範圍,縮小到下載資料夾或外接磁碟。外接磁碟不包含在預設總覽裡,要另外指定。
mo analyze ~/Downloads
mo analyze /Volumes
使用方向鍵瀏覽,需要判斷內容時在 Finder 開啟對應位置。Analyze 內的移除操作會在確認後將所選項目移到垃圾桶,這和部分清理命令的刪除行為不同。要立即回收實際空間,還要考慮垃圾桶是否已清空。操作快捷鍵以畫面下方提示為準。
AI 模型快取很大,但它不一定是垃圾
本地 AI 工作流常會保存多個模型版本、量化格式與下載快取,依照 Hugging Face 官方快取說明 ,Hub 檔案快取預設位於 ~/.cache/huggingface/hub,設定過 HF_HOME 或 HF_HUB_CACHE 時則可能在別處。可以先用 Mole 查看預設快取的上層資料夾。
mo analyze ~/.cache/huggingface
模型檔值得保留與否,取決於近期是否還會使用,以及重新下載的成本。你可以先列出每個模型的用途,保留常用版本,再逐一移除已淘汰的模型。不同快取版本可能共用檔案,適合搭配模型下載工具自身的管理功能,避免只刪掉某個片段後留下不完整模型。
如果你正在比較 llama.cpp、MLX 與 Ollama 的本地推理方式 ,要特別留意不同工具可能各自保存權重。整理時先確認模型屬於哪個工具,才知道之後要從哪裡重新取得。
做 ComfyUI 本地影音工作流 時也一樣,模型、輸入素材和生成成果應分開管理。尚未交付的成品有保留價值,不能只因為容量大就把整個輸出目錄視為可刪快取。
Clean 清快取,先看 dry-run 結果
準備清理時,先預覽會處理哪些路徑。需要保留的快取可以加入保護清單,再執行清理。
mo clean --dry-run
mo clean --whitelist
確認預覽內容後,以下命令會實際進行清理。
mo clean
清理範圍包括符合規則的快取、日誌、暫存與已移除 App 的殘留。清理後部分軟體第一次開啟可能要重建快取或重新下載資料,這是規劃清理時間時需要考慮的成本。Mole 的保護規則可以減少誤操作,但仍要自己確認預覽清單是否包含工作需要的資料。
瀏覽器也要分清楚快取和設定。Chrome 擴充功能的存放位置 和一般網頁快取用途不同,不要自行把整個 Chrome 使用者資料夾都當成垃圾刪除。
需要追查剛才做了什麼,可以查看操作紀錄。
mo history
mo history --json
Uninstall 移除 App,也檢查相關殘留
不用的軟體可以交給 Uninstall,一起檢查能明確對應到該 App 的相關檔案。先做預覽,確認選取的是正確程式與版本。
mo uninstall --dry-run
確定要解除安裝後,再執行下方命令並選取 App。
mo uninstall
如果 App 本體早已刪除,改用 mo clean 檢查殘留比較合適。同一套軟體的不同版本可能共用資料,所以「完整移除」不能理解成所有相似名稱的資料夾都應一起消失,仍在使用的共用資料需要保留。
Optimize 與 Status,分別處理維護和觀察
遇到縮圖、搜尋或系統服務異常,可以先預覽 Optimize 的維護項目。它會依系統狀況略過不適用的工作,不能把它當成每台 Mac 都會得到相同效果的加速按鈕。
mo optimize --dry-run
確認項目後才執行實際維護,需要排除的工作可用保護設定管理。
mo optimize --whitelist
mo optimize
只想了解目前 CPU、記憶體、磁碟、網路與電力狀態時,用唯讀的 Status 儀表板即可。按 q 可以離開。
mo status
對跑本地模型的人來說,可以在載入模型前後觀察記憶體壓力,再在生成內容時看 CPU 和磁碟活動。如果空間回收了,運算仍然慢,就應繼續檢查模型大小、同時執行的工作與記憶體,而不是反覆清理相同快取。
開發者可以用 Purge 整理專案產物
許多舊專案占空間,是因為 node_modules、target、build 或 dist 長期保留。Purge 會以專案為單位整理候選項目,先設定要掃描的資料夾,再做預覽。
mo purge --paths
mo purge --dry-run
看清楚清單後,實際清理使用以下命令。
mo purge
Purge 會永久刪除你確認的項目 。原則上這些產物能重新建立,但自己的專案可能把手工修改內容或唯一成品放進 build 或 dist,所以仍需先核對。清掉依賴後,下一次開發也要重新安裝,應保留套件清單與 lockfile。
下載資料夾裡的舊安裝包則交給 Installer。先確認是否還需要離線重裝,再決定移除。
mo installer --dry-run
以下會進入安裝包的實際移除流程。
mo installer
Mole 常用命令速查
工作 起手命令 使用重點 查看空間 mo analyze 先瀏覽,移除需確認 查看狀態 mo status 唯讀監控 清理快取 mo clean –dry-run 先預覽,再執行 clean 移除 App mo uninstall –dry-run 先確認程式與殘留 系統維護 mo optimize –dry-run 先確認維護項目 專案產物 mo purge –dry-run 正式執行可能永久刪除 舊安裝包 mo installer –dry-run 先確認是否仍需保存
先從查看與預覽開始,再依需要執行對應操作
整合 Raycast,減少每天開終端機的步驟
Mole 官方提供快速啟動器腳本,可以加入 Clean、Uninstall、Optimize、Analyze 與 Status。以下命令請逐行操作,先下載官方腳本,用 less 閱讀內容,按 q 離開閱讀畫面,確認後才執行最後一行。
curl -fsSL https://raw.githubusercontent.com/tw93/Mole/main/scripts/setup-quick-launchers.sh -o setup-mole-launchers.sh
less setup-mole-launchers.sh
bash setup-mole-launchers.sh
開啟 Raycast Settings,進入 Extensions 的 Script Commands
新增腳本目錄 ~/Library/Application Support/Raycast/script-commands
執行 Reload Script Directories 重新載入
在 Raycast 搜尋 analyze 或 status,開啟相應功能
清理指令仍然會啟動 Mole 本身的操作流程。快速啟動器的價值在於少打字,並不代表能略過對清理範圍的判斷。官方腳本在找到 Alfred 設定時,也會建立對應 workflow。
讓 Codex 協助讀取磁碟報告
Mole 已有 JSON 輸出,適合把資料交給 Codex 整理。可以請 Codex 解釋哪些資料夾占空間,以及哪些是模型、快取、安裝包或專案產物,再由自己決定下一步。
mo analyze --json ~/Documents
mo status --json
mo history --json
可以這樣下提示詞。以下是整理報告的範例,並不會自動開始刪除。
請使用 Mole 的唯讀分析與 JSON 輸出,整理我指定資料夾的空間占用。按模型檔、專案依賴、生成成果與安裝包分類,列出路徑、容量與可能用途。請保留正在使用的模型和唯一成品,先提供清理建議,等我指定項目後再執行刪除。
JSON 報告可能包含使用者名稱與專案路徑。把它交給雲端服務時,就和 Mole 本身在本機掃描是兩個不同的資料處理步驟,可以先限制分析範圍。
更新、移除與常見錯誤
用 Homebrew 安裝的版本,更新時指定 Mole 即可。
brew update
brew upgrade mole
不再需要這個工具時,用原本的套件管理方式解除安裝。
brew uninstall mole
如果用官方安裝腳本安裝,則使用 mo update 更新與 mo remove 移除工具本身。不要把 mo uninstall 和 mo remove 混在一起,前者是管理其他 App,後者是移除 Mole。
遇到 Bundled status binary not found,先確認版本與命令位置。如果原本是 Homebrew 安裝,可用以下方式重新安裝套件,恢復遺失的執行檔。
command -v mo
mo --version
brew reinstall mole
原本使用官方腳本安裝時,依錯誤訊息執行 mo update,或重新執行官方安裝流程。若電腦同時裝了兩個版本,先整理命令搜尋路徑,避免更新了一份,實際卻執行另一份。
FAQ
Mole 可以完全免費使用嗎
CLI 版可以,GitHub 專案採 GPL-3.0 開源授權。原生 Mole for Mac App 是另外的付費產品,兩者的授權和介面不同。
Mole 清理後一定會讓 Mac 變快嗎
不一定。它可以協助回收空間與處理部分維護工作,效能是否改善仍取決於磁碟剩餘空間、記憶體壓力、背景程序和實際工作負載。
Mole 有 Windows 版嗎
主要產品針對 macOS,官方 GitHub 目前另有實驗性的 windows 分支。不要把 Mac 的 Homebrew 命令與清理規則直接套到 Windows,也不要假設兩邊功能完全相同。
Analyze 和 Clean 都會刪除檔案嗎
Analyze 主要供瀏覽分析,選取移除後會確認並移到垃圾桶。Clean 會按清理規則實際刪除資料,第一次操作先使用 dry-run 預覽。
我會怎麼把 Mole 放進日常工作
第一次先跑 Analyze 和 Status,弄清楚容量與資源占用。空間不足時再預覽 Clean,需要移除 App 時用 Uninstall,舊專案交給 Purge。這樣比較容易把每次清理和實際問題對上,也能保留常用模型與工作成果。
我很喜歡 Mole 把路徑、大小與操作結果攤開的方式。對經常下載模型、建立測試專案與輸出影音素材的人,能知道硬碟裡放了什麼,比每次容量不足才四處翻資料夾方便得多。
功能與命令依 Mole 官方文件 核對,原生 App 資訊可看 繁體中文官網 ,清理行為的保護範圍可參考 官方安全說明 。
by Rain Chu | 9 月 14, 2026 | AI , QWEN , TTS , 虛擬人 , 語音合成 , 語音辨識
把 AI 對話、即時語音和會動的人像放在同一台電腦上,現在已經可以做出一套不依賴雲端 API 的互動數位人,用 faster-whisper 聽懂麥克風,讓 Qwen3 產生回答,再交給 Qwen3-TTS 合成聲音,最後由 LiveTalking 完成口型同步與 WebRTC 串流。
先講我的結論。這套方案的價值是隱私、角色控制與離線能力,不是安裝後完全沒有成本。模型權重下載完成後確實不需要按次支付 API 費用,但顯卡、記憶體、硬碟、電力與維護時間仍然是成本,所謂 8GB 顯存能跑,也必須以較小的 LLM、量化權重和分階段載入為前提.若想讓 14B LLM、Whisper large-v3、1.7B TTS 與口型模型同時常駐,16GB 顯存仍可能不夠。
整套本地 AI 數位人怎麼運作
這不是單一模型,而是一條由五個服務組成的即時管線。
VAD 判斷使用者何時開始與停止說話
faster-whisper 把麥克風聲音轉成文字
Qwen3 與 llama.cpp 根據角色設定產生回答
Qwen3-TTS 把回答轉成指定音色的語音
LiveTalking 接收音訊並驅動嘴型,再透過 WebRTC 顯示互動人像
這種模組化做法和我之前整理的 Hugging Face speech-to-speech 本地即時語音 Agent 是同一條思路。每一層都能替換,但每一層也有自己的模型、連接埠與執行環境。LiveTalking 不會自動知道 Qwen3-TTS 在哪裡,兩者中間仍需要官方支援的 TTS 外掛,或一個把生成音訊送到 /humanaudio 的橋接程式。
先算顯存,不要先相信 8GB 宣傳
元件 RTX 4090 範例占用 低顯存調整 Qwen3-14B Q4_K_M 約 9GB 改用 8B 或 4B 的 Q4_K_M faster-whisper large-v3 約 3GB 改用 medium,準確度會有取捨 Qwen3-TTS 1.7B 約 4GB 改用 0.6B 或依序載入服務 Wav2Lip 256 約 1.3GB 降低批次並避免其他 GPU 程式常駐
這是 RTX 4090 整合環境的估計值,不同量化、上下文長度與 CUDA 版本都會改變結果
四個元件加起來約 17.3GB,還沒算 CUDA context、瀏覽器與暫存空間。16GB 顯卡跑到 99% 甚至整台機器失去回應,並不意外。6GB 顯存可以先用 Qwen3-4B 的 GGUF 量化版,並把語音辨識改成 medium。8GB 到 12GB 則適合 Qwen3-8B 搭配較小 TTS,或讓部分元件使用 CPU。若想了解 GGUF、llama.cpp 與 Ollama 的取捨,可以先看 本地大模型推理框架比較 。
第一步,在 Windows 準備 WSL 2
這套整合方式把 llama.cpp 放在 Windows,語音與數位人服務放在 Ubuntu 24.04 的 WSL 2。先用系統管理員身分開啟 PowerShell。
wsl --update
wsl --install -d Ubuntu-24.04
Windows 使用者目錄的 .wslconfig 可以設定記憶體與鏡像網路。32GB 是範例,請依實際 RAM 調整,不要把主機記憶體全部交給 WSL。
[wsl2]
memory=32GB
networkingMode=mirrored
[experimental]
hostAddressLoopback=true
修改後重啟 WSL。
wsl --shutdown
進入 Ubuntu 後先用 nvidia-smi 檢查 GPU。NVIDIA 的 Linux 驅動不要再裝進 WSL,CUDA passthrough 由 Windows 顯示卡驅動提供。AMD 顯卡不能照搬這套 CUDA 整合包,需要改走 ROCm 支援的元件,或把無法使用 ROCm 的部分移到 CPU。
專案最好放在 Linux 家目錄,不要直接在 /mnt/c 執行。這能避開 I/O 速度、權限與換行格式問題。
mkdir -p ~/setup
cp -r "/mnt/c/Users/YOUR_NAME/Desktop/AI/." ~/setup/
cd ~/setup
sudo apt update
sudo apt install -y ffmpeg dos2unix python3-venv
dos2unix *.sh
chmod +x *.sh
第二步,用 llama.cpp 啟動 Qwen3
llama.cpp 提供 OpenAI 相容 HTTP 服務,語音管線不必知道底層跑的是 GGUF。16GB 以上可以從 Qwen3-14B 的 Q4_K_M 開始,8GB 到 12GB 建議改成 8B,4GB 到 6GB 則從 4B 測試。
llama-server -m E:\llama.cpp\models\Qwen3-14B-Instruct-Q4_K_M.gguf ^
-np 1 -c 8192 -fa on --temp 1.0 --top-p 0.95 ^
--host 0.0.0.0 --port 8090
新版 llama.cpp 文件也開始使用 llama serve 名稱,實際命令要以下載版本為準。Windows 的 8080 有時落在 Hyper-V 保留範圍,所以範例改用 8090。若服務無法綁定,可以先檢查保留埠。
netsh interface ipv4 show excludedportrange protocol=tcp
第三步,安裝即時語音管線
Hugging Face 官方 speech-to-speech 現在以 serve、talk 和 local 為主要命令,舊資料裡的 --mode 已經淘汰。先建立獨立環境,再安裝 faster-whisper 額外依賴。
python3 -m venv ~/venvs/s2s
source ~/venvs/s2s/bin/activate
python -m pip install --upgrade pip
pip install "speech-to-speech[faster-whisper]"
以下範例把 LLM 指向 Windows 上的 llama.cpp。不同版本的 STT 參數名稱可能調整,正式啟動前先執行 speech-to-speech serve --help 對照目前安裝版本。
speech-to-speech serve \
--stt faster-whisper \
--stt_model_name large-v3 \
--language zh \
--llm_backend responses-api \
--tts qwen3 \
--model_name Qwen3-14B-Instruct-Q4_K_M \
--responses_api_base_url http://127.0.0.1:8090/v1 \
--responses_api_api_key "" \
--responses_api_stream \
--enable_live_transcription
模型全部下載完成後,可以設定 HF_HUB_OFFLINE=1 驗證斷網狀態。這一步比口頭宣稱本地化更可靠,因為只要還有任一個後端指向雲端,就不算完整離線。
第四步,準備 Qwen3-TTS 與參考聲音
Qwen3-TTS 官方最簡單的安裝方式是獨立建立 Python 3.12 環境。它支援聲音克隆、音色設計與串流輸出。更多模型差異和 ComfyUI 節點用法,可以延伸看 Qwen3-TTS 音色設計整理 。
conda create -n qwen3-tts python=3.12 -y
conda activate qwen3-tts
pip install -U qwen-tts
參考音訊建議控制在 5 到 15 秒,只留單一說話人,沒有音樂與明顯環境聲。參考文字必須和音訊實際內容完全相同,否則容易出現漏字、錯字與音色漂移。情緒也會一起被模仿,所以不要用過度激動的片段當作一般對話基準。
ffmpeg -i ~/setup/ref.wav -ac 1 -ar 16000 -c:a pcm_s16le ~/s2s/ref.wav
ffprobe -v error -show_entries stream=sample_rate,channels,codec_name \
-show_entries format=duration -of default=nw=1 ~/s2s/ref.wav
只應克隆自己或已取得明確授權的聲音。把真人聲紋放入公開服務前,也要考慮檔案存取權限、提示注入與未授權冒用。
第五步,製作自然的待機人像
人像素材不適合直接使用張嘴、手擋住嘴巴或劇烈轉頭的畫面。先生成嘴唇閉合、正面或微側面的基準圖,再用 Wan2.2 圖生影片做五秒左右的待機動作。提示詞只描述動作,不要重新描述人物外觀,能減少五官漂移。
電影感 16 比 9 構圖,一位成年東亞女性位於畫面右側三分之一,深色安靜房間,左側保留大量空間,螢幕冷光照亮臉部,輪廓帶柔和暖光,嘴唇自然閉合,雙手不遮擋嘴部,自然皮膚紋理,淺景深,真實攝影質感
負面提示詞
張嘴,說話,露齒,正面平光,明亮背景,過高對比,過度曝光,人物置中,多人,手遮擋嘴部,文字,浮水印,塑膠皮膚,過度修圖,卡通,3D 渲染
待機動畫提示詞
人物保持坐姿,只有細微自然呼吸,緩慢眨眼一次,頭部輕微移動後回到原位,嘴唇全程閉合,鏡頭完全鎖定,沒有縮放,沒有切鏡
關閉自動提示詞增強,輸出比例盡量和原圖相同。Wan2.2 常見原生片段是 81 幀、16 FPS,約五秒。若要二十秒待機,不要期待模型一次生成毫無漂移的長鏡頭,可以在自然停頓點循環短片。其他數位人生成思路可參考 LongCat 數位人工作流 。
第六步,安裝 LiveTalking
LiveTalking 官方目前測試的環境是 Ubuntu 24.04、Python 3.12、PyTorch 2.9.1 與 CUDA 12.8。下面命令照官方版本撰寫,但 PyTorch 下載來源仍應配合自己的 CUDA 驅動,不要盲目安裝 cu128。
git clone https://github.com/lipku/LiveTalking.git
cd LiveTalking
conda create -n livetalking python=3.12 -y
conda activate livetalking
pip install torch==2.9.1 torchvision==0.24.1 torchaudio==2.9.1 \
--index-url https://download.pytorch.org/whl/cu128
pip install -r requirements.txt
下載官方提供的 wav2lip256.pth 後,把它放到 models,並改名成 wav2lip.pth。範例角色資料夾則解壓到 data/avatars。完成後啟動 WebRTC 服務。
python app.py --transport webrtc --model wav2lip \
--avatar_id wav2lip256_avatar1 \
--stun 'stun:stun.l.google.com:19302'
瀏覽器開啟 http://localhost:8010/index.html,按下開始連線。正式讓外部裝置使用時,官方提醒需要 TCP 8010 和 WebRTC 使用的 UDP 連接埠。不要直接把整段 UDP 範圍暴露到公網,應優先放在可信任區網、VPN 或經過限制的防火牆環境。
自己製作 Wav2Lip 角色時,可以把短影片轉成 avatar 資料。素材要維持正面可見、光線穩定與嘴部清楚。
python avatars/wav2lip/genavatar.py \
--video_path data/video/avatar.mp4 \
--img_size 256 \
--avatar_id my_avatar
第七步,正確啟動與串接
我會把服務拆成四個終端視窗,照下面順序啟動。每一步都先確認健康狀態,再開下一個服務。
Windows 啟動 llama.cpp,確認 http://127.0.0.1:8090/v1/models 有回應
WSL 啟動 Qwen3-TTS 或 speech-to-speech,先完成單句語音測試
WSL 啟動 LiveTalking,確認 8010 網頁能顯示待機角色
最後啟動橋接程式,把 TTS 產生的音訊送入 LiveTalking 的 /humanaudio
作者提供的一鍵整合包包含自訂腳本與橋接程式,並不是 Hugging Face、Qwen 或 LiveTalking 的官方發行版。下載前應先檢查檔案來源、雜湊值、啟動腳本和網路連線,不要把未知執行檔直接放進主要工作電腦。想要長期維護,我更建議從官方專案建立環境,再自行補一個最小橋接層。
WebSocket failed 怎麼排查
先確認服務真的啟動 。7860、8010 與 8090 是不同服務,瀏覽器頁面存在不代表後端 WebSocket 已連線
檢查 WSL 網路 。修改 .wslconfig 後一定要執行 wsl --shutdown,鏡像網路與 hostAddressLoopback 才會重新載入
確認 Windows 防火牆 。先只開必要 TCP 埠,在同一台電腦測通後再處理區網
不要混用 localhost 。容器、WSL 與 Windows 各自看到的 127.0.0.1 可能不是同一個服務
確認瀏覽器麥克風權限 。遠端網頁通常需要 HTTPS 或 localhost 才能取得安全的麥克風權限
降低 Noise Gate 。如果網頁已連線但偵測不到聲音,先關閉門檻測試,再逐步調高
調整 VAD 停頓 。約 900 到 1200 毫秒比較不容易搶話,但設定越長,回答開始時間也越慢
可以改成真正的 3D 角色嗎
可以,但不是把 Wav2Lip 模型換成一個 3D 檔案就完成。現在這條路線以 2D 影像或待機影片為基礎,口型模型直接修改臉部像素。真正的 3D 角色需要另外加入 Unity、Unreal Engine 或 WebGL renderer,再把 TTS 音訊轉成 viseme、音素或 blendshape 權重,驅動角色的嘴型、表情、眼神與骨架。
保留 VAD、Whisper、Qwen3 與 Qwen3-TTS,替換最後一層即可。新的輸出流程會變成 TTS 音訊、音素時間軸、3D blendshape、即時 renderer。若只是想讓角色有更豐富動作,可以先使用 LiveTalking 的自訂動作設定或多段待機素材,成本會比完整 3D 低很多。
本地不等於沒有風險
角色資料、聲音與對話都留在本機,確實能降低資料送往雲端的風險。但只要把服務開到區網或公網,就要重新考慮驗證、連接埠、惡意音訊、提示注入與檔案上傳。對話記憶也不是安裝完成就會永久存在,長期記憶需要另外接資料庫、摘要或向量檢索,否則聊天變長後仍可能忘記前文或開始胡亂延伸。
LiveTalking 官方也明確要求,使用此專案製作並發布到平台的內容必須包含 LiveTalking 浮水印與標誌。正式商用前要再確認每個模型、角色素材、聲音和整合程式的授權,不要只看程式能不能跑。
官方資源與參考資料
FAQ
8GB 顯存真的可以跑本地 AI 數位人嗎
可以做出可用版本,但不適合讓 14B LLM、large-v3、1.7B TTS 與口型模型全部以高規格同時常駐。建議改用 Qwen3-8B 或 4B 量化版、較小 TTS、較低 batch,必要時把部分模型放到 CPU。
可以完全離線,不使用任何 API 嗎
可以。前提是 STT、LLM、TTS 和數位人全部使用本地後端,而且模型與依賴已下載完成。設定 HF_HUB_OFFLINE=1 並在斷網環境測試,才能確認沒有隱藏的雲端依賴。
可以用英文或其他語言聊天嗎
可以,但 STT、LLM 與 TTS 三層都要支援目標語言。Whisper 與 Qwen3 的多語能力較完整,最終自然度通常由 TTS 音色與參考音訊決定。中英混合時要額外測試專有名詞、數字與語速。
Mac 可以照這篇安裝嗎
不能原封不動照做,因為本文整合路線依賴 Windows、WSL 與 CUDA。llama.cpp、Whisper 和部分 speech-to-speech 元件可以改走 Apple Silicon 的 Metal 或 MLX,但 LiveTalking 口型模型與整合腳本需要另外確認 macOS 支援,不能直接套用 NVIDIA 命令。
最後怎麼選
如果只是想快速聊天,雲端語音助手會更省時間。如果需求是讓私人對話留在本機、建立固定角色、接自己的資料或研究數位人介面,這套模組化管線就很值得做。我的建議是先讓文字對話跑通,再加入 STT 和 TTS,最後才接 LiveTalking。一次啟動所有元件,只會讓錯誤來源變得難以判斷。
真正值得學會的不是某個一鍵包,而是知道聲音在哪裡變成文字,回答在哪裡生成,音色在哪裡被控制,口型又由哪一個服務驅動。把這五層拆清楚後,未來換模型、換角色、換前端,整套系統仍然能繼續使用。
by Rain Chu | 9 月 13, 2026 | DIY , ESP32 , 硬體
立創實戰派 ESP32-S3 最吸引我的地方,不是單一規格有多高,而是它把一個語音 AI 裝置需要的零件先整合好了,有彩色觸控螢幕、雙麥克風、喇叭、攝影機、姿態感測器、TF 卡與無線連線都放進同一個小型外殼,拿到手後可以先燒錄小智 AI,也能從 ESP-IDF 與 LVGL 開始做自己的應用。
如果只是想快速體驗語音助理,使用現成韌體就不必先建置編譯環境,想學 ESP32-S3、改介面或加入感測器,再走原始碼編譯路線。這兩條路應該分開看,先完成最短的可用流程,再決定要不要進入韌體開發。
先講結論
想最快用起來,下載立創實戰派對應的小智 AI 預編譯韌體,燒錄後完成 WiFi 配網與裝置綁定
想學完整開發流程,使用 VSCode、ESP-IDF 外掛與官方例程
想做可操作的圖形介面,可以從 LVGL 掌機範例開始修改
想更換大語言模型或使用自己的 API 金鑰,應把設定放在小智後端,不要把密鑰寫死在 ESP32 韌體
這塊板子整合度高,但攝影機只有 30 萬畫素,WiFi 只支援 2.4 GHz,外殼也偏向開源學習用途
立創實戰派 ESP32-S3 是什麼
立創官方技術文件 把它定位成更接近實際產品的全功能開發板。核心模組是 ESP32-S3-WROOM-1-N16R8,搭載雙核心 Xtensa LX7 處理器,最高時脈 240 MHz,另外有 16 MB Flash 與 8 MB PSRAM。這樣的容量足以容納圖形介面、音訊處理、網路通訊與較大的韌體分割區。
項目 規格 可以拿來做什麼 主控模組 ESP32-S3-WROOM-1-N16R8 雙核心 240 MHz,16 MB Flash,8 MB PSRAM 螢幕 2 吋 ST7789 IPS,320 × 240 狀態介面、選單、動畫與影像預覽 觸控 FT6336 電容觸控 直接在螢幕操作 LVGL 介面 攝影機 GC0308,30 萬畫素 基礎影像擷取、人臉偵測與視覺實驗 姿態感測器 QMI8658 六軸 IMU 角度、移動與震動偵測 音訊輸入 ES7210 搭配雙麥克風 語音喚醒、指令與即時對話 音訊輸出 ES8311、NS4150B 與 1W 喇叭 語音回應、音樂與提示音 連線 2.4 GHz WiFi、Bluetooth 5 LE 雲端 AI、裝置控制與藍牙 HID 擴充 TF 卡與兩組 GH1.25 介面 檔案儲存、GPIO、I2C、UART、CAN 與 PWM
板子尺寸約為 69 × 41 × 14 mm,外殼不用螺絲就能拆開。不過官方商品頁也特別說明,外殼採用 3D 列印與黏貼工藝,高溫下可能變形,長時間使用也可能變黃或變脆。它適合學習、原型與桌面裝置,不應直接把這個外殼當成量產產品的結構標準。
ESP32-S3 具備 AI 向量指令,適合加速喚醒詞、訊號處理與小型邊緣模型,但它不是用來直接執行一般數十億參數 LLM 的主機。板子的原理圖、PCB、軟體例程與分章教學都有公開,S3 與 C3 則是兩套不同資料,下載時要先確認型號,不能只因外觀接近就混用韌體。
兩條上手路線怎麼選
路線 適合對象 需要準備 第一個成果 直接燒錄 第一次接觸 ESP32 或只想用小智 AI Windows 電腦、資料傳輸線、Flash Download Tool 可以喚醒與對話的語音終端 原始碼編譯 要改功能、畫面、喚醒詞或伺服器 VSCode、ESP-IDF、Git 與對應版本的原始碼 可自行維護與燒錄的韌體 官方應用例程 要學螢幕、音訊、感測器與 LVGL 立創資料包與相符的 ESP-IDF 版本 掌機介面與六種示範功能
對初學者來說,我會先走直接燒錄。確認麥克風、喇叭、螢幕與網路都正常後,再安裝開發環境。這樣遇到編譯或驅動問題時,至少知道硬體本身沒有壞。
方法一:直接燒錄小智 AI 韌體
小智 AI 已經支援立創實戰派 ESP32-S3。最省時間的做法是從 xiaozhi-esp32 Releases 下載檔名包含 lichuang-dev 的韌體壓縮檔。版本號會持續更新,請依發佈頁面的最新穩定版本操作,不要只找舊教學裡固定的版本。
下載並解壓縮 v版本號_lichuang-dev.zip
從 Espressif 官方下載 Flash Download Tool
開啟工具後將 ChipType 選為 ESP32-S3
載入解壓縮後的韌體,起始燒錄位址設為 0x0
用具備資料傳輸能力的 USB Type-C 線連接開發板
選擇新增的 COM 連接埠,鮑率可先使用 921600
先按 ERASE 清除舊韌體,再按 START 開始燒錄
完成後重新插拔 USB 線,或按下 RST 鍵重新啟動
如果 ERASE 或 START 失敗,先重新插拔開發板,再改用另一個 COM 連接埠或降低燒錄速度。電腦完全看不到連接埠時,第一件事是換一條確定能傳資料的 USB 線,不要先懷疑韌體。
小智 AI 的發佈包通常提供可從 0x0 寫入的合併韌體。其他範例若提供四個分開的 bin 檔,就要同時載入四個檔案,並逐一填入套件標示的位址。合併韌體與分割韌體的寫法不同,不能看到 bin 檔就全部設成 0x0。
第一次開機的配網與啟用
用手機連上開發板建立的 Xiaozhi-xxxx 無線網路
如果沒有自動跳出設定頁,在瀏覽器開啟 192.168.4.1
選擇家中或手機熱點的 2.4 GHz WiFi,輸入密碼後等待重新啟動
開啟 xiaozhi.me 並登入控制台
新增裝置,輸入開發板螢幕上的六位數啟用碼
重新啟動後說出喚醒詞,確認收音、連線與播放都正常
ESP32-S3 的無線網路只支援 2.4 GHz。手機熱點若固定在 5 GHz,開發板就不會出現在可連線清單。配網頁打不開時,可以暫時關閉手機行動數據,只保留連到開發板的 WiFi。這種 AP 配網概念也可以延伸參考我之前整理的 ESP32 WiFi 配網做法 。
完成基本對話後,可以再試著要求調整螢幕亮度,確認語音服務不只會回答問題,也能把意圖轉成板端控制。這種從對話到裝置動作的能力,才是把語音 AI 做成實體終端最有意思的地方。
小智可以連其他 LLM 嗎
可以,但要先分清楚板端與後端的責任,ESP32 主要負責喚醒、收音、播放、螢幕與網路傳輸。語音活動偵測、語音辨識、LLM 推理與語音合成通常由伺服器完成,再透過 WebSocket 把結果送回裝置。API 金鑰因此應放在伺服器端,不是直接寫進開發板。
使用官方小智服務時,可以在 xiaozhi.me 控制台調整官方提供的模型與角色。目前官方專案說明預設讓個人使用者連接 Qwen 即時模型。若要接自己選擇的供應商、模型或 API 金鑰,比較完整的路線是部署 xiaozhi-esp32-server ,再從伺服器設定 LLM、ASR 與 TTS provider。
自架後端的流程是 ESP32 把音訊送到伺服器,伺服器依序完成 VAD、ASR、LLM 與 TTS,再把合成語音送回 ESP32 播放。這和 Hugging Face speech-to-speech 語音 Agent 的模組化概念相近。如果想把 LLM 留在自己的電腦或內網,可以再參考 本地大模型推理框架比較 ,選擇 Ollama、llama.cpp 或其他 OpenAI 相容服務。
正式部署時不要把 API 金鑰提交到 GitHub,也不要把沒有驗證的 WebSocket 服務直接開放到公網。至少要使用環境設定或伺服器端設定檔保存密鑰,限制管理介面來源,並為裝置與管理者建立不同權限。
方法二:安裝 ESP-IDF 開發環境
立創教學使用 VSCode 搭配 Espressif IDF 外掛。官方例程原本以 ESP-IDF 5.1.4 製作,也測試過 5.2.2。另一方面,現在的 xiaozhi-esp32 主線已經把 6.0.2 列為優先版本,5.5.2 主要保留給舊板相容。這兩組版本不要混為一談,使用立創例程就照例程要求,編譯最新小智主線則照該版本 README。
ESP-IDF 可以線上安裝,也能先使用官方資料準備好的離線安裝程式。新手在 Windows 上比較適合先走離線路線,安裝速度通常更可預期,也比較不容易在 Python 環境與工具鏈下載階段卡住。線上安裝的好處是版本選擇直接,但網路中斷時需要更多除錯經驗。
安裝 VSCode
在延伸模組中安裝 Espressif IDF
執行 Configure ESP-IDF Extension
選擇 EXPRESS 快速安裝
選擇伺服器與指定的 ESP-IDF 版本
將 ESP-IDF 與 IDF_TOOLS 放在不同資料夾
等待 ESP-IDF、工具鏈與 Python 虛擬環境完成安裝
開啟例程後選擇正確連接埠、esp32s3 目標與 USB 轉串口下載方式
工程路徑最好只使用英文字母與數字,也不要放空白。若圖形介面操作不順,也可以在 ESP-IDF 終端使用以下基本命令。
idf.py set-target esp32s3
idf.py fullclean
idf.py build
idf.py -p COM19 flash monitor
COM19 只是 Windows 範例,請換成自己電腦實際出現的連接埠。macOS 與 Linux 會是不同名稱。編譯環境安裝失敗時,不要在原資料夾反覆疊加不同 IDF 版本,先確認目前工程需要哪一版,再重新選定工具鏈。
VSCode 的 ESP-IDF 外掛也有把建置、燒錄與終端監看串在一起的操作。第一次可先跑 Hello World,看到燒錄完成並在終端持續輸出,才表示工具鏈、連接埠與下載方式都已經通過。若建置速度慢到數小時,先看工作管理員是否有殘留的編譯程序,也檢查防毒軟體是否反覆掃描 build 資料夾。只應為可信任的專案目錄建立最小排除範圍,不要長時間關閉整套即時防護。
從原始碼編譯小智 AI
需要修改喚醒詞、後端位址、介面或裝置功能時,可以直接取得官方原始碼。
git clone https://github.com/78/xiaozhi-esp32.git
cd xiaozhi-esp32
idf.py set-target esp32s3
idf.py menuconfig
idf.py fullclean
idf.py build
idf.py flash monitor
在 menuconfig 內選擇立創實戰派 ESP32-S3 對應板型,並確認 Flash、PSRAM、分割表、字型與 LVGL 設定符合專案文件。板上有 16 MB Flash,不代表任意分割表都會自動用滿。從別的開發板設定切換過來時,先執行 fullclean,可以減少舊的 sdkconfig 與建置產物造成的錯誤。
目前主線對 ESP-IDF 版本的要求已經和早期立創教學不同。若只是要使用小智 AI,直接燒錄 Releases 裡為 lichuang-dev 建好的韌體會穩定很多。只有準備修改程式時,才值得投入時間處理版本、分割表與驅動相容性。
掌機範例其實是一套產品介面
立創提供的 14-handheld 範例使用 LVGL 做出類似手機的主畫面。它不是完整的遊戲模擬器,而是一個把板上週邊整合到同一套觸控介面的參考專案。主畫面包含六個應用。
姿態與運動監測,顯示 XYZ 角度並判斷震動
音樂播放器,從音訊系統輸出內容
TF 卡瀏覽器,查看目錄與檔名
攝影機預覽,將畫面送到螢幕
WiFi 連線,掃描網路並取得網路時間
藍牙控制器,將開發板當成 HID 裝置控制手機或電腦音量
這個範例的價值在於學會如何讓 LVGL、觸控、音訊、感測器與網路共用同一個應用生命週期。想做桌面資訊面板、智慧家庭控制器、兒童學習機或語音 Agent 終端,都可以從這套架構刪掉不需要的頁面,再加入自己的功能。
還沒有拿到實體板時,可以先用 Wokwi ESP32 與 Arduino 模擬器 練習基礎 GPIO 與程式結構。不過實戰派的專用螢幕、音訊 codec、攝影機與完整腳位配置仍需要真機驗證。
最容易踩到的問題
USB 只有供電沒有資料,結果電腦完全找不到連接埠
手機熱點使用 5 GHz,ESP32-S3 無法搜尋
立創例程與最新小智主線使用不同 ESP-IDF 版本
切換板型後沒有清理舊建置資料,導致驅動或分割表錯誤
把 API 金鑰寫進公開韌體或 Git 儲存庫
把掌機示例誤認成現成遊戲系統,低估後續 UI 與應用開發工作
帶電插拔 TF 卡,造成檔案系統損壞
使用 exFAT 格式記憶卡,卻沒有先確認 ESP-IDF 範例的檔案系統支援
另外不要為了看內部結構就直接拆螢幕。螢幕與外殼之間使用黏性很強的雙面膠,熱風可能先讓 3D 列印外殼變形,撬動也可能傷到面板或排線。一般檢查只需要滑開後蓋,除非已經接受零件損壞風險,否則不值得繼續拆。
我會怎麼開始
第一天先燒錄預編譯的小智 AI 韌體,完成配網、綁定與語音測試。第二步跑官方掌機例程,確認螢幕、觸控、IMU、TF 卡、攝影機、WiFi 與藍牙都能單獨工作。第三步才建立自己的專案,把不需要的功能移除,留下語音、畫面與一個最重要的感測器。
這塊板子真正適合的不是只做一個會聊天的盒子,而是把語音 Agent 變成有螢幕、有感測器、能控制周邊的實體入口。ESP32 不需要負責執行大型模型,它應該專心處理即時互動與硬體,重運算交給後端。把這個邊界想清楚,後續更換模型、接 MCP 或搬到本地伺服器都會容易很多。
FAQ
立創實戰派 ESP32-S3 在哪裡購買
可以從立創開發板專案頁 查看介紹,也可以到立創商城商品頁 確認庫存、價格與出貨內容。商品型號是 LCKFB-SZPI-ESP32-S3-VA,下單前仍要依當下頁面確認版本與配送地區。
一定要自己編譯韌體嗎
不用。只想使用小智 AI 時,下載立創實戰派對應的預編譯韌體即可。要改板端功能、畫面、喚醒詞、後端位址或加入自己的硬體時,才需要安裝 ESP-IDF 並重新編譯。
可以使用 OpenAI、Gemini 或本地模型嗎
可以,但是否直接支援取決於你使用的後端。官方 xiaozhi.me 提供自己的模型選項。要填入第三方 API 金鑰或接本地 LLM,建議自架相容的小智伺服器,在後端選擇 provider 與保存密鑰,再讓開發板連到該伺服器。
它能直接跑大型語言模型嗎
不能把一般數十億參數的大型語言模型直接放進 ESP32-S3 執行。板端負責音訊、畫面、感測器與通訊,LLM 推理放在雲端、電腦、NAS 或獨立 AI 主機上。
為什麼手機找不到配網熱點
先確認韌體燒錄完成且裝置已重新啟動,再檢查手機是否開著 WiFi。設定上游網路時必須使用 2.4 GHz。若設定頁沒有自動開啟,可以手動連上 Xiaozhi-xxxx 後瀏覽 192.168.4.1。
資源整理
by Rain Chu | 9 月 12, 2026 | Apple , iPhone
搭配 Apple 的 Object Capture,它可以把實體物件或小型空間轉成帶有網格與材質的 3D 模型,再用 USDZ 格式送進後製流程
這條路不要求先學 Blender,也不必從零手工建模,真正要掌握的是拍攝品質、Xcode 部署與模型進入 Final Cut Pro 的方式。
等等先用 iPhone 收集影像,再由 RealityKit 做攝影測量與重建,接著把 USDZ 轉成 Final Cut Pro 可讀取的標題範本,最後才安排旋轉、縮放、鏡頭與 AI 生成素材。看似複雜,但每一段都有清楚的工具邊界。
Object Capture 到底做了什麼
RealityKit Object Capture 使用攝影測量技術,從不同角度的照片找出重複特徵,推算相機位置、物體幾何與表面材質,最後輸出 3D 模型。LiDAR 可以補充深度與真實比例,但模型細節仍高度依賴照片的清晰度、重疊率與光線。
Apple 建議相鄰照片保留至少 70% 的重疊,低於 50% 時容易失敗,反光、透明、半透明、單一純色與會變形的物件也比較難重建。最穩的拍法是使用柔和均勻的光,保持焦距、曝光與白平衡一致,慢慢繞物體兩到三圈,並補拍較高與較低的角度。
開始前需要準備什麼
一台 Mac,安裝最新版 Xcode
符合 Object Capture 範例需求的 iPhone 或 iPad
目前官方範例要求 LiDAR Scanner、A14 Bionic 或更新晶片,以及 iOS 或 iPadOS 18 以上
Final Cut Pro
想手動建立範本時需要 Apple Motion
想快速批次處理時可使用 3D to Timeline
官方範例必須在實體裝置上執行,不能只開 iOS Simulator。
開發測試可以在 Xcode 登入個人 Apple Account 並選擇 Personal Team,不一定要先購買 Apple Developer Program。若要正式散布 App,仍要依 Apple 最新會員與簽署規則處理。
下載並安裝 Object Capture 掃描 App
Apple 提供可直接下載的 Scanning objects using Object Capture 範例。它不是 App Store 成品,而是一個需要用 Xcode 安裝到自己 iPhone 的範例專案。
從 Mac App Store 安裝 Xcode,首次開啟時讓它完成必要元件下載
打開 Apple 範例頁面並按 Download,解壓縮後開啟 GuidedCaptureSample 專案
在 Xcode 左側選取專案,再選 App Target
進入 Signing and Capabilities,勾選 Automatically manage signing
在 Team 選擇自己的 Personal Team
把 Bundle Identifier 改成唯一名稱,例如 tips.rain.guidedcapture
在 Target 的 Info 設定確認相機權限說明存在
把 Application supports iTunes file sharing 設為 YES,也把 Supports opening documents in place 設為 YES,之後才容易從 Finder 取出掃描照片與 USDZ
用傳輸線連接 iPhone,依提示選擇信任這台電腦
在 Xcode 上方執行裝置選擇自己的 iPhone,按下 Run
第一次安裝時,iPhone 可能要求開啟開發者模式。位置通常在「設定」的「隱私權與安全性」底部。
開啟後裝置會重新啟動,再確認啟用。若出現開發者憑證未受信任,可到「設定」的「一般」再進入「VPN 與裝置管理」,信任自己的開發者 App 憑證。
如果 Xcode 顯示 pairing is in progress,先等裝置配對完成再執行,若簽署欄位變紅,優先檢查 Team、Bundle Identifier 是否唯一,以及 iPhone 是否已解鎖並信任 Mac。
物件模式與區域模式怎麼選
模式 適合內容 拍攝重點 常見輸出 Object Mode 杯子、鞋子、玩具與單一商品 先框住物件,再繞行兩到三圈並補拍上下角度 可直接完成物件重建與 USDZ Area Mode 房間、工作區、走廊與較大場景 緩慢移動並保持大量視角重疊,避免人員與物件移動 影像資料夾,再交給 Mac 重建
Object Mode 會先偵測物件邊界框。調整到完整包住目標後開始掃描,畫面會提示移動速度、距離與尚未覆蓋的角度。第一圈完成後,可以依物件特性翻面再補一圈。柔軟、對稱紋理或容易改變形狀的物件不適合翻動,否則前後照片的特徵可能對不上。
Area Mode 比較像收集一組空間照片,不代表 iPhone 會立刻產出乾淨完整的室內數位分身。狹窄空間、大片白牆、鏡面、重複圖樣與移動中的人,都會讓幾何破碎。它適合先做場景草模、鏡頭規劃或背景參考,不應直接假設能取代專業空間掃描。
在 Mac 重建照片並輸出 USDZ
若手上是一組照片或 Area Mode 匯出的影像,可以下載 Apple 的 Building an object reconstruction app 範例。做法和前一個專案相同,開啟 Xcode、設定 Personal Team 與唯一 Bundle Identifier,然後在 Mac 上執行。
選擇 Image Folder,指定掃描照片所在資料夾
輸入模型名稱與儲存位置
選擇 Triangular Mesh
第一次先用 Medium 品質測試
單一物件可啟用 Isolate object from environment
空間掃描則改用 Include environment around object
按 Process 並等待 USDZ 生成
Medium 通常是畫質與檔案大小比較平衡的起點。Reduced 適合快速預覽與網頁傳輸,Full 需要更多時間、記憶體與儲存空間。Raw 保留最高細節,主要留給後續 3D 軟體整理,不適合直接塞進剪輯時間軸。Mac 端可先用 Finder Quick Look 檢查方向、比例、材質與破洞,再決定是否重跑。
把 USDZ 放進 Final Cut Pro 的兩條路
快速路徑:3D to Timeline
3D to Timeline 會把一個或多個 USDZ 批次包成 Motion 相容的 Final Cut 標題。把檔案拖進 App,完成後開啟 Final Cut Pro,就能在 Titles Browser 找到 3D Models 類別。這是最省時間的做法,也不需要自己操作 Motion。
目前 App Store 頁面標示免費,需求是 macOS 14 以上與 Final Cut Pro 10.8 以上,價格與需求日後仍可能調整。模型進入時間軸後,可在 Inspector 控制大小、位置、旋轉、相機與預設動畫,也能加關鍵影格做進場、跟隨與轉向。
手動路徑:Apple Motion
在 Motion 建立 Final Cut Title 專案
選擇 File、Import、Media,匯入 USDZ
刪除不需要的預設文字,調整模型方向、大小、燈光與相機
把想在 Final Cut Pro 修改的參數發布到 Inspector
選擇 File、Save,設定名稱與分類後按 Publish
回到 Final Cut Pro 的 Titles Browser,將新範本拖進時間軸
Apple Motion 官方只支援匯入 USDZ 3D 物件。手動製作的好處是能控制燈光、相機、材質與發布參數,也能做成團隊可重複使用的模板。儲存後的範本通常位於使用者的 Movies/Motion Templates 目錄,移到另一台 Mac 時要保留相同資料夾結構。
AI 生成與實拍 3D 可以怎麼接
最有意思的不是單獨炫耀一個會旋轉的模型,而是把真實物件、3D 資產與 AI 畫面放進同一個敘事。可以先掃描商品取得可控的 USDZ,再拍一張真實桌面作為起始畫面,交給 Google Flow 或其他圖生影片模型產生動作,最後回到 Final Cut Pro 疊合實拍、AI 片段與 3D 模型。
這和只用文字生成影片不同。掃描模型負責可重複控制的形狀與角度,AI 負責難以實拍的動態與氛圍,剪輯軟體則負責節奏、遮罩、追蹤與聲音。若想把這套方式再往自動化推進,可以延伸閱讀 Codex 動態圖表與短影片工作流 、AI 動畫 Skills 選擇指南 與 OpenMontage 本地影片工作流 。
AI 產生的物件不一定能維持精確幾何與材質,所以商品外型、Logo 與功能結構不能只靠生成模型。若要從文字或少量照片快速做概念模型,可以試 Suzanne3D ,再把輸出轉成 USDZ。想把更多雲端圖像與影片節點接成流程,也可以參考 RunningHub 與 ComfyUI 工作流 。
常見失敗與修正方式
模型破洞:補拍物體底部、凹槽與被遮住的角度
材質漂移:避免硬陰影與高光,維持相同曝光與白平衡
比例不對:使用帶深度資料的支援裝置,或在後製重新校正比例
場景支離破碎:增加照片重疊,避開大片無紋理牆面與移動物件
Final Cut 找不到模型:確認模型已被轉成標題範本,而不是只把 USDZ 放進素材庫
Xcode 無法安裝:檢查裝置配對、開發者模式、Team、Bundle Identifier 與憑證信任
我的建議工作流
第一次不要從整個房間開始。先找一個表面有紋理、沒有反光、形狀固定的小物件,用 Object Mode 完成兩圈掃描,先輸出 Medium USDZ,再用 3D to Timeline 放進 Final Cut Pro。這條最短路徑成功後,再挑戰 Area Mode、Motion 自訂範本與 AI 合成。
這套流程真正降低的不是 3D 專業的上限,而是把現實世界帶進影片的起步成本。掃描品質仍要靠拍攝判斷,模型如何出現在畫面裡仍要靠剪輯與美術。工具把門打開了,創作價值最後還是取決於你怎麼安排模型、鏡頭與故事。
FAQ
沒有 LiDAR 的 iPhone 可以用嗎
可以手動拍照片再送到 Mac 重建,但目前 Apple 的完整 Object Capture 掃描範例要求具備 LiDAR、A14 Bionic 或更新晶片,以及 iOS 18 以上。是否支援最好在 App 內檢查 ObjectCaptureSession.isSupported,不要只用手機年份判斷。
一定要買 Apple Motion 嗎
不一定。只想快速把 USDZ 放進 Final Cut Pro,可以使用 3D to Timeline。想自己控制模板結構、燈光、相機、動畫與可調參數,Motion 會比較完整。
USDZ 能直接拖進 Final Cut Pro 嗎
一般做法不是把 USDZ 當普通影片素材匯入,而是先用 3D to Timeline 或 Motion 將它包成 Final Cut 標題範本,再從 Titles Browser 放進時間軸。
官方資源
by Rain Chu | 9 月 11, 2026 | AI , skills
fal.ai 是一個生成式媒體 API 平台,它把多家圖片、影片、音訊與 3D 模型放在同一套介面下,開發者不必為每一家服務分別串接帳號與 SDK。再把操作規則包成 Codex Skill,就能讓 Codex 根據任務選模型、整理提示詞、上傳參考圖、送出工作、追蹤結果,最後把檔案下載到專案資料夾。
這套方式真正省下的是固定訂閱與切換工具的時間,不是讓付費模型突然變成免費。fal.ai 採預付點數與按量計費,圖片可能依張數或百萬像素計價,影片常依秒數、解析度或單次輸出計價。對偶爾生成、需要跨模型比較的人很有彈性,長期大量生成前則一定要先算成本。
先講結論,fal.ai 適合什麼人
做法 適合情況 優點 要注意什麼 fal.ai Playground 偶爾做一兩張圖或測模型 不用先寫程式,直接調參數 重複任務仍要手動操作 fal.ai 加 Codex Skill 固定工作流、批次產出、專案整合 能保存規則、命名、目錄與成本檢查 需要 API 點數與基本設定 單一平台訂閱 高度依賴固定工具與固定模型 介面完整,方案可能含較高用量 不用時仍可能支付月費 本地 ComfyUI 生成量大、重視隱私、已有顯卡 沒有每次 API 費用,控制度高 需要顯存、硬碟與維護經驗
如果每個月只做少量成品,又想在 Nano Banana、GPT Image、Seedance、Kling、MiniMax 等模型之間切換,按量付費通常比同時維持多個訂閱直覺。若每天大量產圖,或素材不能離開本機,則可以先看 Krea2 與 ComfyUI 圖像編輯工作流 ,影片生成也可參考 LTX 2.3 本地部署教學 。
Skill 的價值不是多一個聊天指令
Skill 可以把一套反覆使用的製作規則交給 Codex。它不只是記住「呼叫 fal.ai」,而是先判斷這次是文字生圖、圖片編輯、文字生影片或圖生影片,再選對端點與參數。不同操作通常有不同的模型 ID,文字生圖與圖片編輯即使使用同一模型,也不能假設共用同一個端點。
讀取 參考圖 資料夾,辨認可用素材與用途
先擴寫提示詞,再讓使用者確認內容與預估費用
依圖片、影片、編輯或動畫需求選擇端點
使用日期、模型與任務名稱建立可追蹤檔名
把結果下載到 完成檔,不要只留下暫時網址
保存請求 ID、模型 ID、主要參數與實際輸出
這和用 Codex 製作動畫的思路相同。工具負責執行,Skill 負責把規格、步驟與驗收條件固定下來。想再理解 Skill 如何控制視覺製作,可以延伸閱讀 7 個 AI 動畫 Skills 怎麼選 與 Codex 動態圖表和短影片工作流 。
建立專案與安裝 Python 套件
先在工作目錄建立 Skill、參考圖與完成檔資料夾,再建立獨立的 Python 環境。
mkdir -p .codex/skills/fal-media/scripts
mkdir -p 參考圖 完成檔
python3 -m venv .venv
source .venv/bin/activate
python -m pip install fal-client python-dotenv
到 fal.ai Dashboard 建立 API Key。只需要呼叫模型時先選 API 權限,不必一開始就給管理權限。金鑰只會完整顯示一次,取得後放進專案根目錄的 .env。
FAL_KEY=在這裡填入自己的金鑰
接著把 .env 與輸出資料夾加入 .gitignore。不要把金鑰貼進聊天內容,也不要寫在 Skill、Python 程式或 Git 儲存庫裡。
.env
.venv/
完成檔/
先用圖片完成第一個測試
模型名稱與輸入欄位會隨模型不同而改變,送出前要先看該模型的 API 頁面。下面以 Nano Banana 2 的文字生圖端點示範。第一次先產一張低風險測試圖,確認金鑰、額度與輸出格式都正常。
from pathlib import Path
from urllib.request import urlretrieve
import fal_client
from dotenv import load_dotenv
load_dotenv()
result = fal_client.subscribe(
"fal-ai/nano-banana-2",
arguments={
"prompt": "明亮自然光下的現代木質工作桌,畫面乾淨,寫實產品攝影",
"num_images": 1,
},
)
output = Path("完成檔/fal-nano-banana-2.png")
output.parent.mkdir(parents=True, exist_ok=True)
urlretrieve(result["images"][0]["url"], output)
print(output)
subscribe() 會自動進入佇列並等待結果,適合圖片與短時間測試。若要做圖片編輯,先用 fal_client.upload_file() 上傳本地參考圖,再依模型文件切換到編輯端點,例如 fal-ai/nano-banana-2/edit。輸入欄位可能是單一圖片或圖片陣列,不能直接把另一個模型的參數名稱搬過來。
影片任務改用佇列
影片生成時間較長,正式流程應使用 submit() 先取得請求 ID,再查狀態或接 webhook。這樣即使終端關閉,仍能用請求 ID 找回工作。下面使用 Seedance 2.0 文字生影片端點 ,參數依目前官方文件填寫。
from pathlib import Path
from urllib.request import urlretrieve
import fal_client
from dotenv import load_dotenv
load_dotenv()
handler = fal_client.submit(
"bytedance/seedance-2.0/text-to-video",
arguments={
"prompt": "清晨的城市屋頂,一架小型無人機緩慢掠過,電影感廣角鏡頭,自然環境聲",
"resolution": "720p",
"duration": "5",
"aspect_ratio": "16:9",
"generate_audio": True,
"bitrate_mode": "standard",
},
)
print(f"request_id: {handler.request_id}")
result = handler.get()
output = Path("完成檔/fal-seedance-2.mp4")
output.parent.mkdir(parents=True, exist_ok=True)
urlretrieve(result["video"]["url"], output)
print(output)
這個範例最後仍用 handler.get() 等待完成,目的是讓第一次測試保持簡單。大量任務應保存請求 ID,定期查詢狀態,或把 webhook URL 傳給 submit()。新的 fal.ai 帳號通常從較低的同時執行數開始,超出的工作會留在佇列,不需要自己不斷重送。
可以直接交給 Codex 的 Skill 提示詞
先讓 Codex 建立 .codex/skills/fal-media/SKILL.md 與必要腳本。下面這段不是一次性的生圖提示詞,而是用來定義整套工作方式。
請在目前專案建立一個 fal-media Codex Skill,使用 Python fal-client。
工作規則
1. API 金鑰只從環境變數 FAL_KEY 讀取,不得顯示、記錄或寫入程式碼
2. 先判斷任務屬於文字生圖、圖片編輯、文字生影片或圖生影片
3. 呼叫前先讀取對應模型的官方 API 文件,確認端點 ID、必要欄位、輸出格式與目前價格
4. 讀取參考圖資料夾中的素材,列出準備使用的檔名與用途
5. 先把我的簡短需求整理成完整提示詞,但在產生前必須讓我確認提示詞、模型、解析度、時長、數量與預估費用
6. 圖片測試可使用 subscribe,影片與長時間任務使用 submit 並保存 request_id
7. 生成完成後立刻下載到完成檔資料夾
8. 檔名格式為日期時間、模型短名、任務短名
9. 同時保存一份 JSON 紀錄,包含端點 ID、參數、request_id、輸出路徑與執行時間
10. 失敗時先回報錯誤與可能費用,不要自動無限重試
請先建立檔案與顯示差異,不要實際呼叫付費 API。
Skill 建好後,日常任務可以簡化成一段明確需求。
請使用 fal-media Skill,把參考圖中的咖啡機做成 5 秒 16:9 產品影片。
鏡頭從正面特寫緩慢拉遠,保留機身外型與顏色,加入清晨窗光和少量蒸氣。
先比較兩個適合的圖生影片模型,列出各自預估費用、速度與限制。
等我確認模型與完整提示詞後才開始生成。
提示詞要固定哪些資訊
目的與輸出類型,例如商品首圖、社群短片或角色動作測試
主體、場景、動作與必須保留的特徵
構圖、鏡頭、光線、材質與色彩
尺寸、比例、時長、解析度與輸出數量
參考圖的用途,例如保留人物、只取服裝或只參考構圖
避免事項,例如不要改 Logo、不要增加文字、不要改變產品比例
成本上限與開始前是否需要人工確認
擴寫提示詞不是把形容詞堆得越多越好。對圖片而言,主體、構圖、光線與限制比華麗文字重要。對影片而言,還要明確交代起始狀態、動作順序、鏡頭移動、時間長度與聲音。一次只測一個主要變因,才能知道品質改變來自模型、提示詞還是參數。
不是免費,只是把固定月費改成按量計費
fal.ai 使用預付點數。依官方說明,成功輸出才會依模型單位計費,排隊時間與伺服器錯誤通常不計費,但若使用者端錯誤發生前已經啟動 GPU 工作,仍可能產生費用。已購買點數目前有期限,模型價格也可能調整,所以文章裡的舊價格不能代替每次執行前的模型頁面。
圖片先用一張與較低解析度測試
影片先做 4 到 5 秒,再決定是否延長
送出前顯示模型單價、數量、秒數與預估總額
設定單次成本上限,超過就停止並要求確認
不要在失敗後自動切換更貴模型
保存 request_id,避免誤以為失敗而重複送出
對只想偶爾試一張圖的人,直接使用 Playground 會更省事。對已經每天用 Codex 管專案的人,Skill 的價值才會明顯,因為相同的命名、資料夾、模型選擇與確認規則都能重複使用。至於高頻生成,應把 fal.ai、固定訂閱與本地工作流的實際月成本放在一起比較。
API 金鑰、參考圖與成品都要保護
前端網頁或桌面 App 不能把 FAL_KEY 直接打包進程式。瀏覽器程式碼可被查看,應由自己的後端代理請求,再由伺服器附加金鑰。桌面工具也應使用系統安全儲存區或後端,而不是把金鑰放在可讀取的設定檔。
資料保留同樣不能忽略。fal.ai 文件目前指出,JSON 請求與回應預設可能保留一段時間,可透過 X-Fal-Store-IO 控制平台不要保存這部分內容。但生成的媒體網址屬於另一件事,拿到網址的人可能可以存取,且 CDN 檔案不是永久保存。敏感素材應先確認模型與平台政策,完成後立刻下載,並依需求設定媒體生命週期。
我的建議工作流
先在 fal.ai Playground 用同一段需求比較兩個模型
確認畫質、速度、授權、輸入格式與目前單價
把選定端點寫進 Skill 的模型對照表
讓 Codex 擴寫提示詞並列出預估成本
人工確認後只做一張圖或 5 秒影片
檢查主體一致性、文字、構圖、聲音與瑕疵
通過後才增加解析度、時長或數量
下載成品並保存參數與 request_id
如果最後還要把多段素材組成完整內容,可以把生成素材交給 OpenMontage 本地影片工作流 或 HyperFrames。
fal.ai 比較像生成引擎與模型入口,Skill 負責製作規則,剪輯與編排工具則負責把素材變成能交付的作品。
FAQ
fal.ai 是免費的嗎
不是。它主要採預付點數與按量計費,不同模型、解析度、秒數與輸出數量會影響費用。少量使用可能比維持多個月費訂閱划算,但不代表零成本。
一定要建立 Codex Skill 嗎
不一定。只測一次模型,直接用 Playground 最快。需要反覆處理參考圖、提示詞、模型選擇、成本確認、下載與命名時,Skill 才能省下大量重複操作。
可以把 API Key 貼給 Codex 嗎
不要。把金鑰存成 FAL_KEY 環境變數,並讓程式直接讀取。對瀏覽器與公開 App,必須透過後端代理,不能把金鑰放在前端。
生成完成後可以只保存網址嗎
不建議。CDN 有保留期限,且媒體網址可能被持有網址的人存取。完成後應立即下載到自己的儲存空間,並保存請求 ID 與模型參數。
官方資源
近期留言