Cloudflare
Mastra 的 CloudflareVoice 類別透過 Cloudflare Workers AI 提供文字轉語音功能。此 Provider 專注於高效率、低延遲的語音合成,適合邊緣運算環境。
使用範例「使用範例」的直接連結
import { CloudflareVoice } from '@mastra/voice-cloudflare'
// Initialize with configuration
const voice = new CloudflareVoice({
speechModel: {
name: '@cf/meta/m2m100-1.2b',
apiKey: 'your-cloudflare-api-token',
accountId: 'your-cloudflare-account-id',
},
speaker: 'en-US-1', // Default voice
})
// Convert text to speech
const audioStream = await voice.speak('Hello, how can I help you?', {
speaker: 'en-US-2', // Override default voice
})
// Get available voices
const speakers = await voice.getSpeakers()
console.log(speakers)
設定「設定」的直接連結
建構函式選項「建構函式選項」的直接連結
speechModel?:
CloudflareSpeechConfig
文字轉語音合成的設定。
CloudflareSpeechConfig
name?:
string
TTS 使用的模型名稱。
apiKey?:
string
具備 Workers AI 存取權限的 Cloudflare API 權杖。若未提供,則使用 CLOUDFLARE_API_TOKEN 環境變數。
accountId?:
string
Cloudflare 帳戶 ID。若未提供,則使用 CLOUDFLARE_ACCOUNT_ID 環境變數。
speaker?:
string
= 'en-US-1'
語音合成的預設語音 ID。
方法「方法」的直接連結
speak()「speak」的直接連結
使用 Cloudflare 的文字轉語音服務將文字轉換為語音。
input:
string | NodeJS.ReadableStream
要轉換為語音的文字或文字資料流。
options?:
Options
設定選項。
Options
speaker?:
string
語音合成使用的語音 ID。
format?:
string
輸出音訊格式。
回傳:Promise<NodeJS.ReadableStream>
getSpeakers()「getspeakers」的直接連結
回傳可用語音選項的陣列,其中每個節點包含:
voiceId:
string
語音的唯一識別碼(例如 'en-US-1')
language:
string
語音的語言程式碼(例如 'en-US')
注意事項「注意事項」的直接連結
- API 權杖可透過建構函式選項或環境變數(CLOUDFLARE_API_TOKEN 與 CLOUDFLARE_ACCOUNT_ID)提供
- Cloudflare Workers AI 針對低延遲的邊緣運算進行最佳化
- 此 Provider 僅支援文字轉語音(TTS)功能,不支援語音轉文字(STT)
- 此服務能與其他 Cloudflare Workers 產品良好整合
- 在正式環境使用時,請確認您的 Cloudflare 帳戶具備適當的 Workers AI 訂閱方案
- 相較於其他部分 Provider,可選語音較少,但邊緣效能極佳
相關 Provider「相關 Provider」的直接連結
如果除了文字轉語音之外也需要語音轉文字功能,請考慮使用下列 Provider: