Communitygithub.com

ZeroPointRepo/transcriptapi-frontieragent-skill

為Apodex AI的FrontierAgent提供YouTube字幕、影片搜尋與頻道查詢功能的技能。

transcriptapi-frontieragent-skill 是什麼?

這項技能讓基於文字的研究型AI代理(如FrontierAgent)能夠存取YouTube影片內容,將其轉換為可引用、含時間戳的文字。技能透過單一REST API運作,無需安裝`yt-dlp`、無頭瀏覽器或任何二進位執行檔,設定非常簡單:僅需在`.env`檔案中加入`TRANSCRIPT_API_KEY`環境變數。支援的三個主要功能為:取得影片字幕(可選純文字或JSON格式)、搜尋影片或頻道(每次搜尋耗費1點額度)、以及解析頻道代號(免費)。所有API請求都需要`Authorization`與`User-Agent`標頭,否則會被Cloudflare阻擋(錯誤碼1010)。此外,技能也提供了一個輔助腳本`scripts/transcript.sh`,可自動檢查金鑰是否存在並直接取得字幕。對於長影片,建議將字幕寫入檔案再分段讀取,以避免工具輸出預算超限。錯誤處理方面,常見的HTTP狀態碼(如401、403、404、422、429)都有明確的建議處理方式,幫助代理在遇到問題時做出適當反應。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add ZeroPointRepo/transcriptapi-frontieragent-skill

在你喜歡的 AI 中提問

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

說明文件

YouTube 字幕與搜尋

影片是大多數研究代理無法直接讀取的主要來源。這項技能將任何 YouTube 影片、頻道或搜尋查詢轉換為可引用且帶有時間戳的文字。

所有功能都透過單一 REST API 執行,無需安裝 yt-dlp、無頭瀏覽器或任何二進位執行檔。

設定

API 需要在環境變數中設定金鑰。在 FrontierAgent 的 .env 檔案中加入一行:

echo 'TRANSCRIPT_API_KEY=sk_your_key_here' >> .env

前往 https://transcriptapi.com 取得金鑰。免費方案提供 100 點額度,且無需綁定信用卡。FrontierAgent 在啟動時會載入 .env,而 shell 指令會繼承這些環境變數,因此 $TRANSCRIPT_API_KEY 在下方所有指令中皆可直接使用。

如果該變數為空,請停止操作並告訴使用者新增該變數。請不要猜測金鑰,也不要將該值印給使用者。

每個請求都需要這兩個標頭

Authorization: Bearer $TRANSCRIPT_API_KEY 以及一個真實的 User-Agent。缺少或使用預設的 User-Agent 將會收到 Cloudflare 的 403 錯誤,錯誤代碼為 1010。

取得字幕

每次使用消耗 1 點額度。video_url 接受完整的 YouTube 網址或僅包含 11 個字元的影片 ID。

curl -sS -G "https://transcriptapi.com/api/v2/youtube/transcript" \
  --data-urlencode "video_url=$VIDEO" \
  --data-urlencode "format=text" \
  --data-urlencode "send_metadata=true" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \
  -H "User-Agent: FrontierAgent/1.0"

當你需要每個片段的 start 和 duration 值,例如用來引用時間戳時,請改用 format=json。JSON 的格式為 {"video_id": "...", "language": "en", "transcript": [{"text": "...", "start": 18.0, "duration": 3.5}]}。

搜尋影片或頻道

每次使用消耗 1 點額度。type 可以是 video 或 channel,limit 範圍為 1 到 50。

curl -sS -G "https://transcriptapi.com/api/v2/youtube/search" \
  --data-urlencode "q=$QUERY" \
  --data-urlencode "type=video" \
  --data-urlencode "limit=20" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \
  -H "User-Agent: FrontierAgent/1.0"

解析頻道代號

免費,不消耗額度。接受 @handle、頻道網址或 UC... 的 ID。

curl -sS -G "https://transcriptapi.com/api/v2/youtube/channel/resolve" \
  --data-urlencode "input=@TED" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \
  -H "User-Agent: FrontierAgent/1.0"

其他頻道端點可直接接受相同的 channel 值,因此你通常不需要先解析。

輔助腳本

scripts/transcript.sh 包裝了字幕呼叫,並在金鑰缺失時直接報錯。

bash plugins/skills/youtube-transcripts/scripts/transcript.sh "https://www.youtube.com/watch?v=nm1TxQj9IsQ"

當呼叫失敗時

狀態碼意義處理方式
401金鑰錯誤或缺失請使用者檢查 .env 中的 TRANSCRIPT_API_KEY
403Cloudflare 封鎖了請求你漏掉了 User-Agent 標頭。加上後重試
404該影片沒有字幕直接告知使用者。不要自行編造字幕
422影片 ID 或網址格式錯誤重新從使用者的連結中讀取 ID
429額度用盡或達到速率限制回報此狀況。不要進入迴圈重試

長字幕可能會超出工具輸出預算。請要求使用 format=text,將內容寫入檔案(例如 > outputs/transcript.txt),然後再讀取你需要的部分。

處理回傳的內容

當原文措辭承載了特定主張時,請直接引用字幕而非改寫。自動產生的字幕可能存在辨識錯誤,因此在基於某個奇怪的技術術語建立論點之前,請將其與影片標題或描述進行比對驗證。

相關技能