Communitygithub.com

elevenlabs-fx

使用 ElevenLabs 生成音效、語音(TTS)和音樂,並透過 AudioFX 效果一步完成(`sfx generate`),或從 MCP 或使用者帳戶重複使用 ElevenLabs 音訊。涵蓋連線(API 金鑰、為 Claude 和 Claude Code 託管的 MCP、官方 ElevenLabs 技能)、提示生成音效,以及各種配方。

elevenlabs-fx 是什麼?

這是一個整合 ElevenLabs 與 AudioFX 的 AI 技能,專為影片、遊戲或任何需要自訂音訊的場景設計。它允許開發者或 AI 代理在一個命令中完成從文字生成音效、語音或音樂,並套用電話、收音機、水下、殘響等場景效果。支援多種平台,包括 Claude(桌面版與網頁版)、Claude Code 的 MCP 整合,以及透過 `sfx` CLI 工具直接操作。此技能會自動檢查 ElevenLabs API 金鑰是否存在,並提供安全的連線指引,避免在聊天中暴露金鑰。生成的音訊會自動儲存在本地,方便重複套用不同效果,無需重複花費點數。此外,還提供多種實用配方,例如將 TTS 語音放在電話或收音機中、生成一首在某個時間點潛入水下的歌曲、在剪接點疊加音效、以及建立無縫循環的背景環境音。支援中文與英文提示,技術文件也提供西班牙文說明。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/NachoEstevo/audiofx/tree/HEAD/skills/elevenlabs-fx

在你喜歡的 AI 中提問

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

說明文件

ElevenLabs + AudioFX

ElevenLabs 負責原始素材(根據提示生成音效、從文字生成語音、製作音樂);AudioFX 則讓素材融入場景(電話、收音機、水下、殘響、剪接點上的重擊效果)。sfx 是 node {{AUDIOFX_DIR}}/bin/sfx.mjs(完整特效目錄請參閱音效設計技能)。

1. 檢查連線

sfx doctor

最後一行會顯示是否找到 ElevenLabs 金鑰以及其位置(絕不列印金鑰本身)。CLI 和工作室會依序在環境變數、目前資料夾的 .env 檔案、AudioFX 儲存庫以及 ~/.audiofx/.env 中尋找 ELEVENLABS_API_KEY。

如果沒有金鑰,請告知使用者如何連線。切勿要求他們將金鑰貼到對話中,也請勿自行寫入檔案:

  1. 前往 https://elevenlabs.io/app/settings/api-keys 建立一個 API 金鑰(任何方案皆可;免費方案適用於音效和預設語音)。
  2. 在專案中執行 npx -y @elevenlabs/cli@latest onboard init(它會寫入一個 .env 檔案),或自行在 ~/.audiofx/.env 中加入 ELEVENLABS_API_KEY=...。
  3. 再次執行 sfx doctor。無需重新啟動。

其他連線方式(可選)

  • 託管 MCP,讓 Claude 可以直接呼叫 ElevenLabs 工具。在 Claude(網頁版或桌面版):設定 → 連接器 → 新增自訂連接器,輸入 https://api.elevenlabs.io/v1/mcp 並登入。在 Claude Code 中:claude mcp add --transport http elevenlabs https://api.elevenlabs.io/v1/mcp,然後使用 /mcp 進行身份驗證。目錄版本的連接器功能受限,可能不提供音樂生成。
  • 官方技能,具備 ElevenLabs API 專業知識(TTS、音效、音樂、代理):npx skills add elevenlabs/skills。

sfx generate 是影片工作最直接的路徑:它能在一個命令中完成生成、儲存副本以供重複使用,以及套用效果,無需 MCP。

2. 生成並一步處理

sfx generate <sfx|voice|music> "<提示>" <輸出檔案> [步驟...]
類型呼叫的服務選項
sfx音效(eleven_text_to_sound_v3)--duration 0.5–30(預設由模型決定),--loop,--influence 0–1(預設 0.3)
voice文字轉語音(eleven_v4)--voice <id>(預設 George,一個預設語音),--model <id>
music音樂--duration 3–600,--instrumental
  • 在消耗點數之前就會驗證整個處理鏈,因此步驟中的打字錯誤會免費失敗。
  • 每次生成的音訊也會儲存為 ~/.audiofx/generated/<類型>-<提示>-<時間>.mp3,並附帶一個包含提示的 .json 檔案。它會首先顯示在工作室的資料庫(「已生成」)中,讓使用者無需再次付費即可嘗試其他效果。使用 sfx apply 重複使用,無需再次生成。
  • 如果沒有指定步驟,原始生成結果會直接寫入輸出檔案(mp3 會複製;其他格式會轉換為 48 kHz)。
  • 如果語音出現 402 paid_plan_required 錯誤,表示使用了語音庫中的語音:請使用預設語音 ID,或要求使用者升級方案。429 表示達到速率限制:請等待並重試一次。

3. 配方

透過電話、收音機或裝置播放的 TTS 語音

sfx generate voice "嘿,是我。我在外面,開門。" call.wav voice-clean "telephone:noise=0.1"
sfx generate voice "機長廣播。" captain.wav "speaker:model=pa" "reverb:space=hall,mix=0.2"
sfx generate voice "四號單位,請回答。" radio.wav "walkie-talkie:drive=12"

TTS 語音乾淨且近距離:經過處理後才能融入場景。對於需要保持在前方的旁白,僅使用 voice-clean 和 loudness,或使用 trailer-voice 來獲得史詩般的朗讀效果。

在某個時間點潛入水下的歌曲

攝影機在第 12 秒潛入水下,並在第 18 秒浮出水面:

sfx generate music "歡快的獨立流行,明亮的吉他,120 BPM" song.wav "underwater:depth=0.8@12-18" --duration 30 --instrumental --fade 0.35

其他基於時間點的歌曲處理方式:"am-radio@0-8" --fade 1.2(從收音機播放,然後展開),"filter-sweep:fromFreq=300,toFreq=18000,start=10,duration=2"(為第 12 秒的掉拍做鋪墊),"tape-stop:at=20,length=0.9"(喜劇中止效果)。

在剪接點疊加的音效

生成音效,然後使用 layer 效果將其混入影片音訊的剪接點(此處為 6.0 秒):

sfx generate sfx "沉重的木門在石頭走廊中砰然關上" door.wav "reverb:space=hall,mix=0.25" --duration 2
sfx apply mix.wav mix-door.wav "layer:file=door.wav,at=6,align=onset,level=-3"

align=onset 會測量生成音效的起音時機,並將其定位在剪接點上,因此生成過程中前置的靜音不會導致延遲。生成的音效也會顯示在工作室的「樣本」標籤中,使用者可以透過聽覺在特定時間點嘗試它們。對於合成的重擊、上升音效或呼嘯聲,音效設計技能中的電影效果更快且免費;對於來自音效庫的錄製樣本,請參閱其中的「真實樣本作為疊加層」。

環境背景音

sfx generate sfx "窗外的細雨,遠處的城市交通,無雷聲" rain.wav "muffled:thickness=0.4" --duration 20 --loop

--loop 讓結尾與開頭銜接,使背景音可以在長場景中重複播放(在 ffmpeg 中使用 -stream_loop,或在 Remotion 中使用 <Loop>)。

重複使用使用者已生成的音訊

使用者在 ElevenLabs 應用程式中或透過 MCP 生成的音訊只是一個檔案:sfx apply <檔案> <輸出> <步驟...>。託管 MCP 傳回的連結(位於 elevenlabsusercontent.com)約兩小時後會過期,因此請先下載檔案,再處理本地副本。

提示生成音效

  • 描述來源、動作、材質和空間:「玻璃瓶在混凝土地板上碎裂,小房間」優於「玻璃破碎」。
  • 每次生成一個事件。使用多次生成的疊加,而不是要求整個場景。
  • 請求一個中性版本,以便之後用 AudioFX 處理:生成乾淨的「電話鈴聲」,然後使用 speaker:model=phone 或 distance 添加效果,使同一個檔案可以服務多個場景。
  • 短效果(重擊、點擊、呼嘯聲)最好使用 --duration 1–3;環境音和背景音則使用 --loop 和 10–30 秒。
  • --influence 接近 1 會嚴格遵循提示;較低的值則讓模型自行填充。

成本與注意事項

  • 每次 sfx generate 呼叫都會消耗使用者的 ElevenLabs 點數。生成一次,重複使用儲存的檔案,並透過 sfx apply 或在工作坊中更改效果。
  • 未經詢問,請勿循環生成以「挑選最佳結果」:提供兩到三個變體,讓使用者在 sfx studio 中透過聽覺選擇。
  • 生成的語音不得未經他人同意模仿真人。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能