Providers
ElevenLabs
OpenClaw از ElevenLabs برای تبدیل متن به گفتار، تبدیل گفتار به متن دستهای با Scribe v2، و STT جریانی با Scribe v2 Realtime استفاده میکند.
| قابلیت | سطح OpenClaw | پیشفرض |
|---|---|---|
| تبدیل متن به گفتار | messages.tts / talk |
eleven_multilingual_v2 |
| تبدیل گفتار به متن دستهای | tools.media.audio |
scribe_v2 |
| تبدیل گفتار به متن جریانی | Voice Call streaming یا Google Meet realtime.transcriptionProvider |
scribe_v2_realtime |
احراز هویت
ELEVENLABS_API_KEY را در محیط تنظیم کنید. XI_API_KEY نیز برای سازگاری با
ابزارهای موجود ElevenLabs پذیرفته میشود.
export ELEVENLABS_API_KEY="..."
تبدیل متن به گفتار
{
messages: {
tts: {
providers: {
elevenlabs: {
apiKey: "${ELEVENLABS_API_KEY}",
voiceId: "pMsXgVXv3BLzUgSXRplE",
modelId: "eleven_multilingual_v2",
},
},
},
},
}
برای استفاده از TTS نسخه ۳ ElevenLabs، مقدار modelId را روی eleven_v3 تنظیم کنید. OpenClaw
برای نصبهای موجود، eleven_multilingual_v2 را بهعنوان پیشفرض نگه میدارد.
کانالهای صوتی Discord وقتی ElevenLabs ارائهدهنده انتخابشده voice.tts/messages.tts باشد، از نقطه پایانی TTS جریانی ElevenLabs استفاده میکنند. پخش از
جریان صوتی برگشتی شروع میشود، بهجای اینکه ابتدا منتظر بماند OpenClaw کل فایل
صوتی را دانلود و بنویسد. latencyTier برای مدلهایی که آن را میپذیرند، به پارامتر
پرسوجوی optimize_streaming_latency در ElevenLabs نگاشت میشود؛ OpenClaw
این پارامتر را برای eleven_v3، که آن را رد میکند، حذف میکند.
تبدیل گفتار به متن
برای پیوستهای صوتی ورودی و قطعههای کوتاه صدای ضبطشده از Scribe v2 استفاده کنید:
{
tools: {
media: {
audio: {
enabled: true,
models: [{ provider: "elevenlabs", model: "scribe_v2" }],
},
},
},
}
OpenClaw صدای multipart را با model_id: "scribe_v2" به
/v1/speech-to-text در ElevenLabs ارسال میکند. راهنماییهای زبان در صورت وجود به
language_code نگاشت میشوند.
STT جریانی
Plugin بستهبندیشده elevenlabs، Scribe v2 Realtime را برای رونویسی جریانی Voice Call و
حالت عامل Google Meet ثبت میکند.
| تنظیم | مسیر پیکربندی | پیشفرض |
|---|---|---|
| کلید API | plugins.entries.voice-call.config.streaming.providers.elevenlabs.apiKey |
به ELEVENLABS_API_KEY / XI_API_KEY برمیگردد |
| مدل | ...elevenlabs.modelId |
scribe_v2_realtime |
| قالب صوتی | ...elevenlabs.audioFormat |
ulaw_8000 |
| نرخ نمونهبرداری | ...elevenlabs.sampleRate |
8000 |
| راهبرد commit | ...elevenlabs.commitStrategy |
vad |
| زبان | ...elevenlabs.languageCode |
(تنظیمنشده) |
{
plugins: {
entries: {
"voice-call": {
config: {
streaming: {
enabled: true,
provider: "elevenlabs",
providers: {
elevenlabs: {
apiKey: "${ELEVENLABS_API_KEY}",
audioFormat: "ulaw_8000",
commitStrategy: "vad",
languageCode: "en",
},
},
},
},
},
},
},
}
برای حالت عامل Google Meet، مقدار
plugins.entries.google-meet.config.realtime.transcriptionProvider را روی
"elevenlabs" تنظیم کنید و همان بلوک ارائهدهنده را زیر
plugins.entries.google-meet.config.realtime.providers.elevenlabs پیکربندی کنید.