メインコンテンツへ移動

Cloudflare

Mastra の CloudflareVoice クラスは、Cloudflare Workers AI を使用した Text-to-Speech 機能を提供します。この 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
Text-to-Speech 合成の設定。
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'
音声合成に使用するデフォルトの Voice ID。

メソッド
メソッドへの直接リンク

speak()
speakへの直接リンク

Cloudflare の Text-to-Speech サービスを使用してテキストを音声に変換します。

input:

string | NodeJS.ReadableStream
音声に変換するテキストまたはテキストストリーム。

options?:

Options
設定オプション。
Options

speaker?:

string
音声合成に使用する Voice ID。

format?:

string
出力音声形式。

戻り値:Promise<NodeJS.ReadableStream>

getSpeakers()
getspeakersへの直接リンク

使用可能な Voice オプションの配列を返します。各要素には次の値が含まれます。

voiceId:

string
Voice の一意な識別子(例:'en-US-1')

language:

string
Voice の言語コード(例:'en-US')

注意事項
注意事項への直接リンク

  • API トークンは、コンストラクターオプションまたは環境変数(CLOUDFLARE_API_TOKEN と CLOUDFLARE_ACCOUNT_ID)で指定できます
  • Cloudflare Workers AI は、低レイテンシーのエッジコンピューティング向けに最適化されています
  • この Provider は Text-to-Speech(TTS)機能だけをサポートし、Speech-to-Text(STT)はサポートしません
  • このサービスは、ほかの Cloudflare Workers 製品と適切に統合できます
  • 本番環境で使用する場合は、Cloudflare アカウントに適切な Workers AI サブスクリプションがあることを確認してください
  • 一部の Provider と比べると Voice オプションは限定的ですが、エッジで優れたパフォーマンスを発揮します

Text-to-Speech に加えて Speech-to-Text 機能も必要な場合は、次の Provider の使用を検討してください。

  • OpenAI:TTS と STT の両方を提供します
  • Google:TTS と STT の両方を提供します
  • Azure:TTS と STT の両方を提供します