完整說明工作流程下載:點我查看
在這篇教學中,我會帶你用 n8n 打造一個「超級語音助理」,只要上傳錄音檔,它就能:
- 自動轉成文字稿
- 用 AI 整理成結構化摘要
- 產生兩種不同格式的報告
- 自動寄給你所有資料連結
我每週至少有 3-5 場會議需要記錄,這套流程幫我節省了大量時間,希望對你也有幫助!
這篇文的目標
完成這篇教學後,你將獲得:
- 一個全自動的語音轉文字+AI摘要系統
- 學會如何整合 OpenAI、Google Drive 和通知系統
- 了解如何善用 AI 處理非結構化資料
不用擔心技術門檻,我會用最簡單的方式講解,就算你完全沒寫過程式,也能輕鬆跟著做!
工具流程預覽
這個工作流程總共包含7個主要步驟:
- 啟動語音轉錄服務
- 從 Google Drive 搜尋並下載音訊檔案
- 使用 OpenAI 進行語音轉錄
- 將轉錄文本處理成結構化 JSON 報告
- 將 JSON 轉換成 Markdown 報告
- 將原始轉錄文本儲存到 Google Drive
- 將轉錄報告連結發送給使用者
接下來,我會逐一詳細說明每個步驟。
Step 1:設置觸發條件
首先,我們需要一個觸發點來啟動整個流程。在這個工作流中,有兩種方式可以觸發:
手動觸發
最簡單的方式就是使用「Manual Trigger」節點,點擊執行按鈕就能啟動流程。這適合你想要自己控制何時處理音訊檔的情況。
Google Drive 自動觸發(選用)
如果你希望更自動化,可以設置 Google Drive 觸發器,當有新檔案上傳到特定資料夾時,自動啟動流程。
這個設計還包含一個「人工確認」環節 – 當檔案上傳後,系統會先發送 Gmail 確認信,詢問你是否要繼續流程。這在用量計費的 API(如 OpenAI)中很有用,避免不必要的費用支出。
Gmail User for Approval 說明:
這個節點在偵測到新的聲音檔案後,發送郵件給使用者,請求審核是否繼續執行工作流程。
欄位說明:
- sendTo:收件人 email 地址(使用環境變數)
- message:郵件內容,告知用戶有新檔案
- subject:郵件主旨
- operation:設為 sendAndWait,暫停工作流等待回覆
- approvalOptions:設定為雙選項(批准/拒絕)
Step 2:搜尋並下載音訊檔案
一旦工作流被觸發,下一步是從 Google Drive 獲取音訊檔案。
Search Google Drive 說明:
這個節點負責搜尋 Google Drive 中特定資料夾的檔案。
欄位說明:
- folderId:設定為「Audio Recordings」資料夾的 ID
- whatToSearch:設為「files」,表示搜尋檔案
Filter by .m4a extension 說明:
這個節點過濾搜尋結果,只保留 .m4a 音訊檔案。
欄位說明:
- conditions:檢查檔案名稱是否以 .m4a 結尾
- ignoreCase:設為 true,不區分大小寫
Limit to last file 說明:
這個節點只保留最新的一個檔案進行處理。
欄位說明:
- keep:設為「lastItems」,只保留最後一項
Download audio file 說明:
這個節點從 Google Drive 下載選定的音訊檔案。
欄位說明:
- fileId:使用前一節點傳遞的檔案 ID
- operation:設為「download」,下載檔案內容
Step 3:使用 OpenAI 進行語音轉錄
接下來,我們使用 OpenAI 的語音識別功能將音訊轉換為文字。
Transcribe with OpenAI 說明:
這個節點使用 OpenAI 的 API 將音訊檔案轉換為文字。
欄位說明:
- resource:設為「audio」
- operation:設為「transcribe」,進行轉錄操作
Set Config 說明:
這個節點將轉錄文本和當前時間作為變數保存,以便後續使用。
欄位說明:
- text:保存轉錄的文本
- datetime:記錄當前時間
Step 4:處理轉錄並生成結構化 JSON 報告
有了原始轉錄文本後,我們使用 AI 將其處理成更有結構的格式。
Summarize to Structured JSON 說明:
這個節點使用 OpenAI 的 GPT-4o-mini 模型,將原始轉錄文本轉換為結構化的 JSON 格式,包含摘要、要點等。
欄位說明:
- modelId:使用 GPT-4o-mini 模型
- content:將轉錄文本和當前時間作為輸入
- system:指示 AI 如何結構化輸出
Get Filename for JSON 說明:
這個節點生成用於儲存 JSON 報告的檔案名稱。
欄位說明:
- filename:使用檔案 ID、名稱和時間組合生成檔案名
Save JSON file to Google Drive 說明:
這個節點將 JSON 報告保存到 Google Drive。
欄位說明:
- name:使用生成的檔案名
- content:保存 AI 生成的 JSON 內容
- folderId:保存到「Audio Recordings」資料夾
- operation:設為「createFromText」,創建文本檔案
Get JSON File Meta 說明:
這個節點獲取已保存 JSON 檔案的元數據,主要是為了獲取可分享的連結。
欄位說明:
- queryString:使用檔案名搜尋
- options.fields:指定要獲取的欄位,包含 id、webViewLink 和 name
Prepare Response JSON 說明:
這個節點將 JSON 檔案的原始數據重新命名為 id_json。
欄位說明:
- assignments:新增一個名為 id_json 的變數
- value:設為當前節點的完整輸出($json)
Step 5:處理轉錄並生成 Markdown 報告
除了 JSON 格式外,我們還生成更易讀的 Markdown 格式報告。
Summarize to JSON 說明:
這個節點使用 OpenAI 將轉錄文本整理成結構化摘要,但採用不同的提示詞。
欄位說明:
- modelId:使用 GPT-4o-mini 模型
- content:將轉錄文本作為輸入
- system:指示 AI 如何分析並結構化內容
Convert JSON to Markdown 說明:
這個節點將 AI 生成的結構化內容轉換為 Markdown 格式。
欄位說明:
- modelId:使用 GPT-4o-mini 模型
- content:傳入 JSON 內容和當前時間
- system:指示 AI 轉換為 Markdown 格式
Get Filename for Markdown 說明:
這個節點生成 Markdown 報告的檔案名稱。
欄位說明:
- filename:使用檔案 ID、名稱和時間組合生成檔案名,但副檔名為 .md
Save Markdown file to Google Drive 說明:
這個節點將 Markdown 報告保存到 Google Drive。
欄位說明:
- name:使用生成的檔案名
- content:保存 AI 生成的 Markdown 內容
- folderId:保存到「Audio Recordings」資料夾
- operation:設為「createFromText」,創建文本檔案
Get Markdown File Meta 說明:
這個節點獲取已保存 Markdown 檔案的元數據。
欄位說明:
- queryString:使用檔案名搜尋
- options.fields:指定要獲取的欄位
Prepare Response Markdown 說明:
這個節點將 Markdown 檔案的原始數據重新命名為 id_markdown。
欄位說明:
- assignments:新增一個名為 id_markdown 的變數
- value:設為當前節點的完整輸出($json)
Step 6:保存原始轉錄文本
為了保持完整記錄,我們還會保存未經處理的原始轉錄文本。
Save Raw Transcript to Google Drive 說明:
這個節點將原始轉錄文本保存為文本檔案。
欄位說明:
- name:使用檔案 ID、名稱和時間組合生成檔案名,副檔名為 .txt
- content:保存原始轉錄文本
- folderId:保存到「Audio Recordings」資料夾
- operation:設為「createFromText」,創建文本檔案
Step 7:發送通知給使用者
最後,我們將所有報告的連結發送給使用者,這樣你就能輕鬆查看結果了。
Merge All Paths 說明:
這個節點將前面所有路徑的資料合併在一起,準備發送。
欄位說明:
- mode:設為「combine」,合併不同路徑的數據
- combineBy:按位置合併
Email Content Formatter 說明:
這個節點使用 OpenAI 將資料格式化為漂亮的 HTML 電子郵件內容。
欄位說明:
- modelId:使用 GPT-4o-mini 模型
- content:包含 HTML 樣板和檔案連結資訊
Send Gmail Message 說明:
這個節點發送包含報告連結的電子郵件。
欄位說明:
- sendTo:收件人 email 地址(使用環境變數)
- message:使用 AI 格式化的 HTML 內容
- subject:郵件主旨
Send Telegram Message 說明:
這個節點同時發送 Telegram 消息,提供更即時的通知。
欄位說明:
- text:包含檔案連結的訊息內容
- chatId:使用環境變數指定接收訊息的聊天 ID
- parse_mode:設為 HTML,支援格式化文本
常見問題與解決方案
1. API 費用控制
由於這個工作流使用了付費的 OpenAI API,所以要注意控制費用:
- 設定每月的使用上限
- 可考慮使用較便宜的模型(如從 GPT-4o-mini 改為 GPT-3.5-turbo)
- 使用人工確認步驟避免不必要的 API 調用
2. 音訊檔案格式問題
這個流程設定為處理 .m4a 檔案,如果你使用其他格式:
- 修改「Filter by .m4a extension」節點的條件,改為你常用的格式
- 某些格式可能需要先進行轉換才能被 OpenAI 正確處理
3. Google Drive 權限問題
如果遇到檔案存取問題:
- 確認你的 Google 帳號有對應資料夾的讀寫權限
- 檢查 n8n 的 Google Drive 憑證是否有足夠權限
應用場景延伸
除了會議記錄外,這個工作流還可以用於:
- 講座內容轉錄 – 自動將線上課程錄音轉為筆記
- podcast內容摘要 – 快速獲取內容重點,不用聽完整集
- 個人語音備忘錄 – 錄下想法後自動整理成文字筆記
- 採訪內容快速處理 – 減少記者整理訪談的時間
延伸閱讀
想了解更多相關工具和技巧?可以參考這些文章:
好啦,教學就到這邊!有了這個工作流,你再也不用害怕開會和聽錄音了,讓 AI 代勞就好!希望這篇教學對你有幫助,如果有任何問題或想法,歡迎來社群跟大家討論!