概觀
elevenlabs-stt 是什麼?
elevenlabs-stt 是一個語音轉文字技能,讓你的 agent 或 CLI 工作流程可以透過 inference.sh(infsh)CLI 連接到 ElevenLabs Scribe 模型。
它的重點是 高準確度、時間對齊的音訊轉寫,而不是一般的記事功能。此技能特別針對媒體類工作流程設計,例如:
- 清理與整理錄音,用於音訊與影片剪輯
- 建立具精準時間點的字幕與隱藏式字幕
- 產出精確的Podcast 與訪談逐字稿
- 透過逐字對齊產生對嘴與卡拉 OK 節奏
- 標註音訊事件並辨識錄音中不同的說話人
主要能力
基於 ElevenLabs Scribe v1/v2 模型(透過 inference.sh 上的 elevenlabs/stt app),elevenlabs-stt 提供:
- 將音訊轉寫為結構化文字
- **說話人分離(speaker diarization)**與說話人辨識(誰在何時講話)
- 音訊事件標註(例如音樂、靜音、背景聲)
- 逐字時間戳與對既有文字進行強制對齊(forced alignment)
- 適合字幕與後製的字幕友善輸出格式
- 多語系支援,自動偵測超過 90 種語言
官方描述中,這些模型在支援條件下可達 98% 以上的轉寫準確度,因此此技能非常適合用於具製作品質要求的音訊與影片專案。
適合哪些人使用 elevenlabs-stt?
若你符合以下情況,elevenlabs-stt 很可能相當適合你:
- 從事音訊或影片後製,需要可靠的逐字稿
- 製作 Podcast、網路研討會、訪談或演講,希望自動取得文字稿
- 在工作流程中需要時間對齊的字幕或字幕檔
- 建置需要從腳本呼叫 ElevenLabs STT 的開發者工具、agent 或資料管線
- 想把所有流程維持在 CLI 與 JSON 優先的環境中
比較不適合的情境包括:
- 需要完全以瀏覽器操作、零 CLI、給非技術使用者的介面
- 只想從音訊中做隨意記事,不在意時間戳、說話人分離或資料結構
- 無法在 agent 執行的環境中安裝或使用
infshCLI
在你的工具鏈中扮演的角色
elevenlabs-stt 位於工作堆疊中的音訊剪輯與語音工具這一層:
- 上游:音訊擷取(Zoom 錄影、OBS、電話錄音、原始 WAV/MP3)
- 核心:elevenlabs-stt +
infsh進行轉寫、說話人分離、對齊與標註 - 下游:剪輯軟體時間軸(Premiere、Resolve)、字幕流程、搜尋索引、AI 摘要或 QA agent
由於此技能定義於 inferen-sh/skills repo 中,它能與其他基於 inference.sh 的工具乾淨整合,並在底層使用 Bash(infsh *)執行。
使用方式
1. 先決條件與環境準備
在把 elevenlabs-stt 當作技能使用之前,你需要:
- 在 agent 或使用者所在機器上安裝 inference.sh CLI(
infsh) - 一個可正常使用的 inference.sh 帳號並已成功登入
- 網路連線,讓
infsh可以呼叫elevenlabs/sttapp,並(選擇性地)存取你提供的遠端音訊 URL
安裝 CLI 時,請依技能中引用的官方說明操作:
- CLI 安裝文件:
https://raw.githubusercontent.com/inference-sh/skills/refs/heads/main/cli-install.md
安裝完成後,先進行驗證登入:
infsh login
這會設定之後從技能中執行 infsh app run 所需的認證資訊。
2. 安裝 elevenlabs-stt 技能
如果你使用的環境支援 npx skills 並開啟技能功能,可以直接從 inferen-sh/skills repository 新增 elevenlabs-stt:
npx skills add https://github.com/inferen-sh/skills --skill elevenlabs-stt
這會:
- 以 slug 註冊
elevenlabs-stt技能 - 讓其設定(包含允許的工具與工作流程邏輯)可供你的 agent 執行環境使用
若你的平台採用不同方式管理技能,可自行 mirror 同一個 repository 與 skill slug,並確保技能的中繼資料(SKILL.md、metadata.json(如有))被正確載入。
3. 核心轉寫流程
當技能與 CLI 都已安裝好,底層實際運作即是透過 infsh 呼叫 elevenlabs/stt app。
一個與技能自動化行為相對應的基本手動範例如下:
# Transcribe a remote audio file
infsh app run elevenlabs/stt --input '{"audio": "https://audio.mp3"}'
這個模式就是 elevenlabs-stt 在你的 agent 中運作的基礎。技能會:
- 接收你的音訊輸入(依整合方式可為 URL 或路徑)
- 使用 JSON input 呼叫
infsh app run elevenlabs/stt - 回傳包含逐字稿與時間資訊的結構化 JSON
在設定與此技能相關的 prompts、工具或 pipeline 時,可以用這個心智模型來設計。
4. 模型選擇:Scribe v1 與 Scribe v2
此技能提供使用 ElevenLabs 的 Scribe v1 與 Scribe v2 模型:
- Scribe v2(
scribe_v2) – 最新且準確度最高(預設)。適合大多數新專案。 - Scribe v1(
scribe_v1) – 穩定、已在實務中驗證的版本。若既有流程已依賴其行為,可經由此維持一致性。
若你的環境或 agent 支援傳入模型參數,可以直接指定模型 ID。若未指定模型,則依文件預期會預設使用 Scribe v2。
5. 實務使用模式
以下是安裝完成後常見的 elevenlabs-stt 使用方式。
基本轉寫
適用於會議紀錄、Podcast 或演講等單純轉寫情境:
infsh app run elevenlabs/stt --input '{"audio": "https://meeting-recording.mp3"}'
你可以在 agent 工作流程中包裝這個呼叫,讓使用者能用類似指令操作:
- 「用 elevenlabs-stt 轉寫這場會議錄音。」
- 「用 elevenlabs-stt 把這個 MP3 轉成文字逐字稿。」
結果會是一份結構化的逐字稿,可供儲存、建立索引或後續摘要。
說話人分離與辨識
如果上游的 elevenlabs/stt app 已開啟說話人分離功能,輸出的 JSON 會包含依說話人標記的 token 或片段。
你可以在 agent 的 prompt 中加入類似指示:
- 「執行 elevenlabs-stt,並回傳依說話人區分的逐字稿片段。」
- 「依照 elevenlabs-stt 的時間戳,將逐字稿依說話人分組。」
這對於多方座談、客戶電話或訪談節目特別實用。
字幕與隱藏式字幕產生
由於 elevenlabs-stt 會輸出時間戳與逐字強制對齊,你可以:
- 將片段轉為 SRT 或 VTT 字幕檔
- 在後製軟體中與影片軌同步文字
- 用來驅動卡拉 OK 式逐字反白或對嘴參考
在實際流程中,你可以:
- 對音訊軌呼叫 elevenlabs-stt。
- 將時間資訊映射成字幕區塊。
- 將字幕輸出或匯入至 NLE 或串流平台。
音訊事件標註
當你在呼叫 elevenlabs/stt 時啟用音訊事件標註,輸出可標記音樂、靜音、雜訊或其他事件。
可用於:
- 幫剪輯師標示剪輯點
- 在摘要時略過非語音片段
- 自動偵測主要說話人活躍的區段
6. 檔案與 repository 結構
在 inferen-sh/skills repository 中,elevenlabs-stt 技能位於:
tools/audio/elevenlabs-stt/
如果你要自訂或自行託管此技能,建議優先查看下列檔案:
SKILL.md– 技能的權威說明,包括用途與觸發條件- 任一相關的
rules/、resources/或scripts/目錄(若存在)中的輔助邏輯
這些檔案會說明技能如何串接 infsh CLI,以及它預期使用的 prompts 與限制條件。
常見問題(FAQ)
什麼時候應該用 elevenlabs-stt,而不是更簡單的語音轉文字工具?
當你需要的是高準確度、時間戳與結構化輸出,而不是大略的文字內容時,就非常適合使用 elevenlabs-stt。
特別適用於以下核心工作內容:
- 音訊或影片剪輯
- 發布 Podcast 或對談型內容
- 製作字幕與隱藏式字幕
- 分析對話,並需要說話人標記與時間資訊
如果你只需要大致的文字紀錄,不在乎時間戳或說話人資訊,較輕量的工具可能已足夠。
我可以期待什麼樣的準確度與語言涵蓋範圍?
根據技能說明,ElevenLabs Scribe 模型提供:
- 在支援條件下 98% 以上的轉寫準確度
- 超過 90 種語言的涵蓋,並具備自動語言偵測
實際成效仍會受到錄音品質、口音、背景雜音與麥克風擺放等因素影響,但這些模型定位是用於高準確度、可上線製作的使用情境。
使用 elevenlabs-stt 必須安裝 inference.sh CLI 嗎?
必須。elevenlabs-stt 的實作核心就是圍繞 inference.sh(infsh)CLI 與 elevenlabs/stt app。此技能允許的工具中也明確列出使用帶有 infsh 指令的 Bash。
如果你的環境無法安裝或執行 infsh,就無法依預期使用 elevenlabs-stt。此時你可能需要尋找不同的技能,或改用本 repo 之外的直接 API 整合方式。
elevenlabs-stt 可以處理本機音訊檔嗎?還是只能用 URL?
文件中的示例使用的是遠端 URL:
infsh app run elevenlabs/stt --input '{"audio": "https://audio.mp3"}'
一般來說,Inference.sh 支援多種輸入模式,但對本機檔案的實際處理方式,取決於你的 infsh 環境設定(例如上傳機制或掛載路徑)。
在 agent 中,你通常可以:
- 提供可存取的音訊檔 URL,或
- 利用執行環境的檔案處理機制,讓本機檔案對
infsh可見
若你需要嚴格的「僅本機檔案」工作流程,請確認自家環境的檔案傳遞規則。
elevenlabs-stt 會直接產出 SRT 或 VTT 字幕檔嗎?
此技能是整合 elevenlabs/stt app,後者會回傳帶有時間戳與對齊資訊的結構化 JSON。從 repository 的證據來看,重點在 JSON 輸出,而非直接輸出 SRT/VTT。
你可以這樣實作:
- 取得 elevenlabs-stt 回傳的 JSON。
- 將片段與時間戳映射成 SRT 或 VTT 區塊。
- 在你的 pipeline 中存成字幕檔。
許多使用者會用簡單腳本或 agent 的後處理步驟來完成這段轉換。
elevenlabs-stt 的強制對齊(forced alignment)是如何運作的?
強制對齊會利用底層的 Scribe 模型,將音訊與文字在逐字層級對齊,並回傳每個 token 或單字精確的時間戳。
這在以下情境非常有用:
- 你已經有稿子或節目腳本,希望對齊到最終錄音
- 需要精準的對嘴時間(用於配音、卡拉 OK 或字幕反白)
- 想快速定位每一句在音訊中被說出的時間位置
對齊輸出的細節由 elevenlabs/stt app 控制,elevenlabs-stt 則是將其以技能形式暴露給你的 agent 與 CLI 工作流程。
elevenlabs-stt 適合用在即時串流轉寫嗎?
技能文件與示例主要聚焦在透過 infsh app run 以 audio 輸入進行的檔案式轉寫。在目前提供的證據中,沒有明確提到即時串流的支援。
因此,建議將 elevenlabs-stt 視為批次轉寫工具,適用於已錄好的音訊檔,而不是低延遲的即時字幕解決方案。
要在哪裡查看或修改 elevenlabs-stt 的設定?
你可以在 inferen-sh/skills GitHub repository 中查看此技能:
- 基礎 repo:
https://github.com/inferen-sh/skills - 技能路徑:
tools/audio/elevenlabs-stt/
建議從 SKILL.md 開始,了解觸發條件、說明與使用方式。如果你的平台支援自訂技能,可以 fork 後依照環境需求調整技能設定、prompts 或允許的工具。
