使用 n8n + telegram + Gemini 實作 Youtube 摘要機器人
直接使用 Workflow
先決條件
- 運行中的 n8n 實例
- Telegram 帳號
- Google AI Studio 帳號
第一步:串接 Telegram

從 Bot Father 取得 API Token

點擊這個連結即可直接在 Telegram 使用
取得 API Token 需要 3 個步驟
- 執行
/newbot指令

- 填寫
name:用來顯示在聊天室的命名,不用擔心被別人使用過


name 的範例顯示方式- 填寫
username:bot 的唯一 ID,如果與別人重複會需要重新命名,並且需要以bot結尾

API Token 的格式會是:8888800000:ABCDE4lfG5i0NVaAxnozHeafaK2y-pNuHFA
BOT_ID:BOT_ALPHANUMERIC_PART
取得 API Token 後,記得不要泄漏給其他人、或是公佈在公開網路上。
下個步驟我們將把 Credential 新增到 n8n 的 telegram 節點。
新增 n8n Telegram Credential
- 在你的 n8n 實例中選擇新增 Credential

- 找到 Telegram 後點擊新增

- 在
Access Token欄位填入剛剛得到的 API Token,並且 Save

新增 Telegram 節點:接收訊息、回傳貼圖
新增 Telegram Trigger Node
新增 Telegram Trigger 後,我們可以試試 Pull Event,也就是試著傳訊息給 bot。
這邊我們可以直接傳送一個 youtube 連結給 telegram,方便後續直接測試使用。
傳送連結範例:https://www.youtube.com/watch?v=CfM7JHJWe58



接下來我們再建立一個 Telegram Send a Sticker 節點,並且將對應的 Chat ID 拖拉到指定欄位。
把喜歡的貼圖 ID 複製到 Sticker 欄位:
CAACAgIAAxkBAAEPeuNo3MVT6jez0GGZsM406FsRRVo66QACKRUAAviLwEupQBIzh-Q46DYE


如果一切正常,那我們將進入下一步關鍵節點:Gemini 串接。
第二步:使用 Gemini

這一步是我們所有節點中最關鍵的一步,但一切都建立在你有先在 Google AI Studio 註冊帳號、取得 API Key。

不用擔心,只要你擁有 Google 帳號,註冊跟取得 API Key 都是幾個步驟點一點就可以完成的事。
Google AI Studio 目前甚至是不會收取額外費用的,免費額度提供得非常大方。

取得 Google AI Studio API Key
這個步驟非常簡單:
- 使用 Google 帳號登入 Google AI Studio
- 點擊左下角
Get API key - 會需要你先新增一個 project
- 這裡的 project 是為了讓你更好管理你的 API key,可以查看不同 project 的使用狀況
- 最後則是新增 API Key,準備將其填入 n8n 的 Credential
再次提醒不要將你的 API Key 公開、或是提供給其他人使用
新增 Credential

將剛剛複製到的 API Key 填入對應的格子中。

儲存過後,如果上方出現 Connection tested successfully ,那恭喜你,你已經可以在 n8n 使用 Gemini 的服務!
新增 HTTP 節點

接下來的步驟會比較複雜,由於目前 n8n 官方的 Gemini 節點還沒辦法直接取得 youtube 轉錄稿的功能,我們將直接使用 API Request 的方式跟 Gemini 互動。
使用 Gemini API 影片理解功能

我們一步一步把需要的內容填進去 HTTP Node:

Method選擇POST- 在
URL欄位填入:https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent Authentication欄位選擇Predefined Credential TypeCredential Type選擇Google Gemini(PaLM) ApiGoogle Gemini(PaLM) Api選擇剛剛建立的Google AI StudioAPI Key
- 點擊
Send BodyBody Content Type選擇JSONSpecify Body選擇Using JSON- 將以下內容貼入欄位
{
"contents": [
{
"parts": [
{
"text": "Create a summary in zh-tw using its transcript. You will use the following template:\n\n\"\"\"\n\n## Summary\n\n{Multiple sentences summarising the YouTube video in zh-tw\n\n## Notes\n\n{Bullet points that summarize the key points or important moments from the video’s transcript with explanations in zh-tw}\n\n## Quotes\n\n{Extract 10 best sentences from the transcript in a list}\n\"\"\"\n\nTranscript: get from the video\n\nReturn Summary and Notes in zh-tw, but Quotes in original context"
},
{
"file_data": {
"file_uri": "{{ $('Telegram Trigger').item.json.message.text }}"
}
}
]
}
]
}接下來我們就可以執行 Execute Step,等待差不多一分鐘後就會有結果產出。
這次特別選了沒有字幕的影片當作參考,因為底層的邏輯是讓 Gemini 產出 Youtube 影片的逐字稿,再根據逐字稿去產出摘要。

到這裡其實已經算大功告成了,接下來我們只要將總結摘要回傳到 Telegram,就成功完成這個 workflow。
第三步:回傳摘要至 Telegram

格式化摘要
由於 Telegram MarkdownV2 的限制,由 AI 產出的摘要格式很難滿足需求,導致傳送很容易失敗。
因此我用了 telegramify-markdown + Cloudflare Workers & Pages 去部署了一個免費的服務解決這個問題。
這裡新增一個 HTTP 節點,依照下方步驟填入即可:

Method選擇POST- 在
URL欄位填入:https://api.md2tg.projectstain.dev/ - 點擊
Send BodyBody Content Type選擇JSONSpecify Body選擇Using Fields BelowName填入markdownValue將左側的 text 拉到對應的欄位中
- 點擊
Execute Step後右側會出現輸出的結果
刪除貼圖、回傳摘要至聊天室
這邊的操作很簡單,只需要將之前傳送的貼圖刪除、最後再把摘要回傳即可。

chat_id 、message_id 拉到對應欄位 最後的步驟:

- 新增 Telegram
Send a text messageNode - 將對應的
telegram_text、chat_id拖到欄位中 Additional Fields中選擇Parse Mode- 選擇
Markdown V2
- 選擇
Execute Step後即出現結果

最後的最後:啟用工作流

啟用工作流後,你的 Youtube 摘要機器人就正式完成!
隨時將想摘要的影片丟入 telegram 中,無論是手機版或是電腦版都能正確執行。




Member discussion