Providers
ElevenLabs
OpenClaw برای تبدیل متن به گفتار، تبدیل دستهای گفتار به متن با Scribe
v2 و تبدیل جریانی گفتار به متن با Scribe v2 Realtime از ElevenLabs استفاده میکند. این Plugin همراه محصول ارائه شده و
بهطور پیشفرض فعال است؛ نیازی به اجرای مرحله plugins install نیست.
| قابلیت | سطح OpenClaw | پیشفرض |
|---|---|---|
| تبدیل متن به گفتار | messages.tts / talk |
eleven_multilingual_v2 |
| تبدیل دستهای گفتار به متن | tools.media.audio |
scribe_v2 |
| تبدیل جریانی گفتار به متن | پخش جریانی Voice Call یا realtime.transcriptionProvider در Google Meet |
scribe_v2_realtime |
احراز هویت
متغیر ELEVENLABS_API_KEY را در محیط تنظیم کنید. برای سازگاری با ابزارهای موجود
ElevenLabs، متغیر XI_API_KEY نیز پذیرفته میشود.
export ELEVENLABS_API_KEY="..."تبدیل متن به گفتار
{ messages: { tts: { providers: { elevenlabs: { apiKey: "${ELEVENLABS_API_KEY}", voiceId: "pMsXgVXv3BLzUgSXRplE", modelId: "eleven_multilingual_v2", }, }, }, },}برای استفاده از تبدیل متن به گفتار ElevenLabs v3، مقدار modelId را روی eleven_v3 تنظیم کنید. OpenClaw برای
نصبهای موجود، eleven_multilingual_v2 را بهعنوان پیشفرض حفظ میکند.
وقتی ElevenLabs بهعنوان ارائهدهنده voice.tts/messages.tts انتخاب شده باشد، کانالهای صوتی Discord
از نقطه پایانی تبدیل جریانی متن به گفتار ElevenLabs استفاده میکنند: پخش از جریان صوتی
بازگرداندهشده آغاز میشود، بهجای آنکه منتظر بماند OpenClaw ابتدا کل
فایل صوتی را بارگیری کند. latencyTier برای مدلهایی که آن را میپذیرند، به پارامتر پرسوجوی
optimize_streaming_latency در ElevenLabs نگاشت میشود؛ OpenClaw این پارامتر را برای
eleven_v3 که آن را رد میکند، ارسال نمیکند.
تبدیل گفتار به متن
برای پیوستهای صوتی ورودی و بخشهای کوتاه صدای ضبطشده از Scribe v2 استفاده کنید:
{ tools: { media: { audio: { enabled: true, models: [{ provider: "elevenlabs", model: "scribe_v2" }], }, }, },}OpenClaw صدای چندبخشی را با
model_id: "scribe_v2" به /v1/speech-to-text در ElevenLabs ارسال میکند. در صورت وجود راهنمای زبان، آن به language_code نگاشت میشود.
تبدیل جریانی گفتار به متن
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 |
| راهبرد ثبت | ...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 پیکربندی کنید.