Providers

ElevenLabs

يستخدم OpenClaw ElevenLabs لتحويل النص إلى كلام، وتحويل الكلام إلى نص دفعيًا باستخدام Scribe v2، وSTT المتدفق باستخدام Scribe v2 Realtime.

القدرة سطح OpenClaw الافتراضي
تحويل النص إلى كلام messages.tts / talk eleven_multilingual_v2
تحويل الكلام إلى نص دفعيًا tools.media.audio scribe_v2
تحويل الكلام إلى نص متدفق بث المكالمات الصوتية أو 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",
        },
      },
    },
  },
}

عيّن modelId إلى eleven_v3 لاستخدام ElevenLabs v3 TTS. يُبقي OpenClaw eleven_multilingual_v2 كافتراضي لعمليات التثبيت الحالية.

تستخدم قنوات الصوت في Discord نقطة نهاية TTS المتدفق من ElevenLabs عندما يكون ElevenLabs هو موفر voice.tts/messages.tts المحدد. يبدأ التشغيل من دفق الصوت المُعاد بدلًا من انتظار OpenClaw لتنزيل ملف الصوت بالكامل وكتابته أولًا. يرتبط latencyTier بمعلمة الاستعلام optimize_streaming_latency في ElevenLabs للنماذج التي تقبلها؛ ويحذف OpenClaw هذه المعلمة مع eleven_v3، لأنه يرفضها.

تحويل الكلام إلى نص

استخدم Scribe v2 لمرفقات الصوت الواردة ومقاطع الصوت المسجلة القصيرة:

{
  tools: {
    media: {
      audio: {
        enabled: true,
        models: [{ provider: "elevenlabs", model: "scribe_v2" }],
      },
    },
  },
}

يرسل OpenClaw صوتًا متعدد الأجزاء إلى ElevenLabs /v1/speech-to-text مع model_id: "scribe_v2". تُربط تلميحات اللغة بـ language_code عند وجودها.

STT المتدفق

يسجل Plugin elevenlabs المضمّن Scribe v2 Realtime للنسخ المتدفق في وضع الوكيل للمكالمات الصوتية و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.

ذات صلة