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 پیکربندی کنید.

مرتبط