OpenClaw kann ausgehende Antworten bei 14 Speech-Providern in Audio umwandeln und native Sprachnachrichten auf Feishu, Matrix, Telegram und WhatsApp, Audio-Anhänge überall sonst sowie PCM/Ulaw-Streams für Telefonie und Talk ausliefern. TTS ist die Sprachausgabe-Hälfte von TalksDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
stt-tts-Modus. Provider-native
realtime-Talk-Sitzungen synthetisieren Sprache innerhalb des Echtzeit-Providers,
statt diesen TTS-Pfad aufzurufen, während transcription-Sitzungen keine
Assistenten-Sprachantwort synthetisieren.
Schnellstart
Pick a provider
OpenAI und ElevenLabs sind die zuverlässigsten gehosteten Optionen. Microsoft und
Local CLI funktionieren ohne API-Schlüssel. Die vollständige Liste finden Sie in der
Provider-Matrix.
Set the API key
Exportieren Sie die Env-Var für Ihren Provider, zum Beispiel
OPENAI_API_KEY,
ELEVENLABS_API_KEY. Microsoft und Local CLI benötigen keinen Schlüssel.Auto-TTS ist standardmäßig aus. Wenn
messages.tts.provider nicht gesetzt ist,
wählt OpenClaw den ersten konfigurierten Provider in der Registry-Reihenfolge für die automatische Auswahl aus.
Das integrierte tts-Agent-Tool ist nur für explizite Absichten gedacht: gewöhnlicher Chat bleibt
Text, sofern der Benutzer nicht Audio anfordert, /tts verwendet oder Auto-TTS/direktive
Sprache aktiviert.Unterstützte Provider
| Provider | Authentifizierung | Hinweise |
|---|---|---|
| Azure Speech | AZURE_SPEECH_KEY + AZURE_SPEECH_REGION (auch AZURE_SPEECH_API_KEY, SPEECH_KEY, SPEECH_REGION) | Native Ogg/Opus-Sprachnotiz-Ausgabe und Telefonie. |
| DeepInfra | DEEPINFRA_API_KEY | OpenAI-kompatibles TTS. Standardmäßig hexgrad/Kokoro-82M. |
| ElevenLabs | ELEVENLABS_API_KEY oder XI_API_KEY | Voice Cloning, mehrsprachig, deterministisch über seed; gestreamt für Discord-Sprachwiedergabe. |
| Google Gemini | GEMINI_API_KEY oder GOOGLE_API_KEY | Gemini-API-Batch-TTS; persona-bewusst über promptTemplate: "audio-profile-v1". |
| Gradium | GRADIUM_API_KEY | Sprachnotiz- und Telefonieausgabe. |
| Inworld | INWORLD_API_KEY | Streaming-TTS-API. Native Opus-Sprachnotiz und PCM-Telefonie. |
| Local CLI | keine | Führt einen konfigurierten lokalen TTS-Befehl aus. |
| Microsoft | keine | Öffentliches Edge Neural TTS über node-edge-tts. Best Effort, kein SLA. |
| MiniMax | MINIMAX_API_KEY (oder Token Plan: MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY, MINIMAX_CODING_API_KEY) | T2A-v2-API. Standardmäßig speech-2.8-hd. |
| OpenAI | OPENAI_API_KEY | Wird auch für automatische Zusammenfassungen verwendet; unterstützt Persona-instructions. |
| OpenRouter | OPENROUTER_API_KEY (kann models.providers.openrouter.apiKey wiederverwenden) | Standardmodell hexgrad/kokoro-82m. |
| Volcengine | VOLCENGINE_TTS_API_KEY oder BYTEPLUS_SEED_SPEECH_API_KEY (Legacy-AppID/Token: VOLCENGINE_TTS_APPID/_TOKEN) | BytePlus Seed Speech HTTP API. |
| Vydra | VYDRA_API_KEY | Gemeinsamer Bild-, Video- und Speech-Provider. |
| xAI | XAI_API_KEY | xAI-Batch-TTS. Native Opus-Sprachnotiz wird nicht unterstützt. |
| Xiaomi MiMo | XIAOMI_API_KEY | MiMo-TTS über Xiaomi Chat Completions. |
summaryModel (oder
agents.defaults.model.primary), daher muss dieser Provider ebenfalls authentifiziert sein,
wenn Sie Zusammenfassungen aktiviert lassen.
Konfiguration
Die TTS-Konfiguration liegt untermessages.tts in ~/.openclaw/openclaw.json. Wählen Sie ein
Preset und passen Sie den Provider-Block an:
- Azure Speech
- ElevenLabs
- Google Gemini
- Gradium
- Inworld
- Local CLI
- Microsoft (no key)
- MiniMax
- OpenAI + ElevenLabs
- OpenRouter
- Volcengine
- xAI
- Xiaomi MiMo
Sprachüberschreibungen pro Agent
Verwenden Sieagents.list[].tts, wenn ein Agent mit einem anderen Provider,
einer anderen Stimme, einem anderen Modell, einer anderen Persona oder einem anderen Auto-TTS-Modus sprechen soll. Der Agent-Block wird per Deep Merge über
messages.tts gelegt, sodass Provider-Anmeldedaten in der globalen Provider-Konfiguration bleiben können:
agents.list[].tts.persona zusammen mit der Provider-Konfiguration. Sie überschreibt die globale messages.tts.persona nur für diesen Agenten.
Rangfolge für automatische Antworten, /tts audio, /tts status und das Agent-Tool tts:
messages.tts- aktives
agents.list[].tts - Kanal-Override, wenn der Kanal
channels.<channel>.ttsunterstützt - Konto-Override, wenn der Kanal
channels.<channel>.accounts.<id>.ttsübergibt - lokale
/tts-Einstellungen für diesen Host - Inline-Direktiven
[[tts:...]], wenn Modell-Overrides aktiviert sind
messages.tts und werden per Deep Merge über die früheren Ebenen gelegt. So können gemeinsame Provider-Anmeldedaten in messages.tts bleiben, während ein Kanal oder Bot-Konto nur Stimme, Modell, Persona oder Automatikmodus ändert:
Personas
Eine Persona ist eine stabile gesprochene Identität, die deterministisch providerübergreifend angewendet werden kann. Sie kann einen Provider bevorzugen, eine providerneutrale Prompt-Absicht definieren und providerspezifische Bindings für Stimmen, Modelle, Prompt-Vorlagen, Seeds und Spracheinstellungen enthalten.Minimale Persona
Vollständige Persona (providerneutraler Prompt)
Auflösung der Persona
Die aktive Persona wird deterministisch ausgewählt:- lokale Einstellung
/tts persona <id>, falls gesetzt. messages.tts.persona, falls gesetzt.- Keine Persona.
- Direkte Overrides (CLI, Gateway, Talk, erlaubte TTS-Direktiven).
- lokale Einstellung
/tts provider <id>. providerder aktiven Persona.messages.tts.provider.- Automatische Auswahl aus der Registry.
messages.tts.providers.<id>messages.tts.personas.<persona>.providers.<id>- Vertrauenswürdige Request-Overrides
- Erlaubte, vom Modell ausgegebene TTS-Direktiv-Overrides
Wie Provider Persona-Prompts verwenden
Persona-Prompt-Felder (profile, scene, sampleContext, style, accent, pacing, constraints) sind providerneutral. Jeder Provider entscheidet selbst, wie er sie verwendet:
Google Gemini
Google Gemini
Fasst Persona-Prompt-Felder in eine Gemini-TTS-Prompt-Struktur ein, nur wenn die effektive Google-Provider-Konfiguration
promptTemplate: "audio-profile-v1" oder personaPrompt setzt. Die älteren Felder audioProfile und speakerName werden weiterhin als Google-spezifischer Prompt-Text vorangestellt. Inline-Audio-Tags wie [whispers] oder [laughs] innerhalb eines [[tts:text]]-Blocks bleiben im Gemini-Transkript erhalten; OpenClaw erzeugt diese Tags nicht.OpenAI
OpenAI
Ordnet Persona-Prompt-Felder dem Request-Feld
instructions zu, nur wenn keine expliziten OpenAI-instructions konfiguriert sind. Explizite instructions haben immer Vorrang.Other providers
Other providers
Verwenden nur die providerspezifischen Persona-Bindings unter
personas.<id>.providers.<provider>. Persona-Prompt-Felder werden ignoriert, sofern der Provider keine eigene Zuordnung für Persona-Prompts implementiert.Fallback-Richtlinie
fallbackPolicy steuert das Verhalten, wenn eine Persona kein Binding für den versuchten Provider hat:
| Richtlinie | Verhalten |
|---|---|
preserve-persona | Standard. Providerneutrale Prompt-Felder bleiben verfügbar; der Provider kann sie verwenden oder ignorieren. |
provider-defaults | Die Persona wird für diesen Versuch aus der Prompt-Vorbereitung ausgelassen; der Provider verwendet seine neutralen Standardwerte, während der Fallback zu anderen Providern fortgesetzt wird. |
fail | Diesen Provider-Versuch mit reasonCode: "not_configured" und personaBinding: "missing" überspringen. Fallback-Provider werden weiterhin versucht. |
talk.catalog auswählen und sie über die Talk-Sitzung oder den Handoff-Request übergeben. Das Öffnen einer Sprachsitzung sollte messages.tts oder globale Talk-Provider-Standards nicht verändern.
Modellgesteuerte Direktiven
Standardmäßig kann der Assistent[[tts:...]]-Direktiven ausgeben, um Stimme, Modell oder Geschwindigkeit für eine einzelne Antwort zu überschreiben, plus einen optionalen [[tts:text]]...[[/tts:text]]-Block für ausdrucksstarke Hinweise, die nur im Audio erscheinen sollen:
messages.tts.auto "tagged" ist, sind Direktiven erforderlich, um Audio auszulösen. Die Streaming-Blockauslieferung entfernt Direktiven aus sichtbarem Text, bevor der Kanal sie sieht, auch wenn sie über benachbarte Blöcke verteilt sind.
provider=... wird ignoriert, sofern modelOverrides.allowProvider: true nicht gesetzt ist. Wenn eine Antwort provider=... deklariert, werden die anderen Schlüssel in dieser Direktive nur von diesem Provider geparst; nicht unterstützte Schlüssel werden entfernt und als TTS-Direktivwarnungen gemeldet.
Verfügbare Direktivschlüssel:
provider(registrierte Provider-ID; erfordertallowProvider: true)voice/voiceName/voice_name/google_voice/voiceIdmodel/google_modelstability,similarityBoost,style,speed,useSpeakerBoostvol/volume(MiniMax-Lautstärke, 0–10)pitch(MiniMax-Ganzzahltonhöhe, −12 bis 12; Dezimalwerte werden abgeschnitten)emotion(Volcengine-Emotions-Tag)applyTextNormalization(auto|on|off)languageCode(ISO 639-1)seed
Slash-Befehle
Einzelner Befehl/tts. Auf Discord registriert OpenClaw zusätzlich /voice, weil /tts ein integrierter Discord-Befehl ist. Textuelles /tts ... funktioniert weiterhin.
Befehle erfordern einen autorisierten Absender (Allowlist-/Owner-Regeln gelten), und entweder
commands.text oder die native Befehlsregistrierung muss aktiviert sein./tts onschreibt die lokale TTS-Einstellung aufalways;/tts offschreibt sie aufoff./tts chat on|off|defaultschreibt einen sitzungsbezogenen Auto-TTS-Override für den aktuellen Chat./tts persona <id>schreibt die lokale Persona-Einstellung;/tts persona offlöscht sie./tts latestliest die neueste Assistentenantwort aus dem aktuellen Sitzungstranskript und sendet sie einmalig als Audio. Es speichert nur einen Hash dieser Antwort im Sitzungseintrag, um doppelte Sprachausgaben zu unterdrücken./tts audioerzeugt eine einmalige Audioantwort (schaltet TTS nicht ein).limitundsummarywerden in lokalen Einstellungen gespeichert, nicht in der Hauptkonfiguration./tts statusenthält Fallback-Diagnosen für den neuesten Versuch:Fallback: <primary> -> <used>,Attempts: ...sowie Details pro Versuch (provider:outcome(reasonCode) latency)./statuszeigt den aktiven TTS-Modus sowie den konfigurierten Provider, das Modell, die Stimme und bereinigte Metadaten für benutzerdefinierte Endpunkte, wenn TTS aktiviert ist.
Benutzerspezifische Einstellungen
Slash-Befehle schreiben lokale Overrides nachprefsPath. Der Standard ist ~/.openclaw/settings/tts.json; überschreiben Sie ihn mit der Umgebungsvariablen OPENCLAW_TTS_PREFS oder messages.tts.prefsPath.
| Gespeichertes Feld | Wirkung |
|---|---|
auto | Lokaler Auto-TTS-Override (always, off, …) |
provider | Lokaler Override des primären Providers |
persona | Lokaler Persona-Override |
maxLength | Schwellenwert für Zusammenfassung (standardmäßig 1500 Zeichen) |
summarize | Schalter für Zusammenfassung (standardmäßig true) |
messages.tts plus den aktiven Block agents.list[].tts für diesen Host.
Ausgabeformate (fest)
Die TTS-Sprachauslieferung wird durch Kanalfähigkeiten gesteuert. Kanal-Plugins geben an, ob TTS im Sprachstil Provider nach einem nativen Zielvoice-note fragen soll oder ob normale audio-file-Synthese beibehalten und kompatible Ausgabe nur für die Sprachauslieferung markiert werden soll.
- Kanäle mit Sprachnotiz-Unterstützung: Sprachnotiz-Antworten bevorzugen Opus (
opus_48000_64von ElevenLabs,opusvon OpenAI).- 48 kHz / 64 kbit/s ist ein guter Kompromiss für Sprachnachrichten.
- Feishu / WhatsApp: Wenn eine Sprachnotiz-Antwort als MP3/WebM/WAV/M4A
oder eine andere wahrscheinliche Audiodatei erzeugt wird, transkodiert das Kanal-Plugin sie vor dem Senden der nativen Sprachnachricht mit
ffmpegnach 48 kHz Ogg/Opus. WhatsApp sendet das Ergebnis über die Baileys-audio-Payload mitptt: trueundaudio/ogg; codecs=opus. Wenn die Konvertierung fehlschlägt, erhält Feishu die Originaldatei als Anhang; der WhatsApp-Versand schlägt fehl, statt eine inkompatible PTT-Payload zu posten. - Andere Kanäle: MP3 (
mp3_44100_128von ElevenLabs,mp3von OpenAI).- 44,1 kHz / 128 kbit/s ist die Standardbalance für Sprachverständlichkeit.
- MiniMax: MP3 (
speech-2.8-hd-Modell, 32-kHz-Abtastrate) für normale Audioanhänge. Für vom Kanal angegebene Sprachnotiz-Ziele transkodiert OpenClaw das MiniMax-MP3 vor der Auslieferung mitffmpegnach 48 kHz Opus, wenn der Kanal Transkodierung angibt. - Xiaomi MiMo: Standardmäßig MP3 oder WAV, wenn konfiguriert. Für vom Kanal angegebene Sprachnotiz-Ziele transkodiert OpenClaw die Xiaomi-Ausgabe vor der Auslieferung mit
ffmpegnach 48 kHz Opus, wenn der Kanal Transkodierung angibt. - Lokale CLI: verwendet das konfigurierte
outputFormat. Sprachnotiz-Ziele werden nach Ogg/Opus konvertiert, und Telefonieausgabe wird mitffmpegin rohes 16-kHz-Mono-PCM konvertiert. - Google Gemini: Gemini API TTS gibt rohes 24-kHz-PCM zurück. OpenClaw verpackt es für Audioanhänge als WAV, transkodiert es für Sprachnotiz-Ziele nach 48 kHz Opus und gibt PCM für Talk/Telefonie direkt zurück.
- Gradium: WAV für Audioanhänge, Opus für Sprachnotiz-Ziele und
ulaw_8000bei 8 kHz für Telefonie. - Inworld: MP3 für normale Audioanhänge, natives
OGG_OPUSfür Sprachnotiz-Ziele und rohesPCMbei 22050 Hz für Talk/Telefonie. - xAI: standardmäßig MP3;
responseFormatkannmp3,wav,pcm,mulawoderalawsein. OpenClaw verwendet den Batch-REST-TTS-Endpunkt von xAI und gibt einen vollständigen Audioanhang zurück; der Streaming-TTS-WebSocket von xAI wird von diesem Provider-Pfad nicht verwendet. Das native Opus-Sprachnotizformat wird von diesem Pfad nicht unterstützt. - Microsoft: verwendet
microsoft.outputFormat(Standardaudio-24khz-48kbitrate-mono-mp3).- Der gebündelte Transport akzeptiert ein
outputFormat, aber nicht alle Formate sind beim Dienst verfügbar. - Ausgabeformatwerte folgen den Microsoft Speech-Ausgabeformaten (einschließlich Ogg/WebM Opus).
- Telegram
sendVoiceakzeptiert OGG/MP3/M4A; verwenden Sie OpenAI/ElevenLabs, wenn Sie garantierte Opus-Sprachnachrichten benötigen. - Wenn das konfigurierte Microsoft-Ausgabeformat fehlschlägt, versucht OpenClaw es erneut mit MP3.
- Der gebündelte Transport akzeptiert ein
Auto-TTS-Verhalten
Wennmessages.tts.auto aktiviert ist, führt OpenClaw Folgendes aus:
- Überspringt TTS, wenn die Antwort bereits Medien oder eine
MEDIA:-Direktive enthält. - Überspringt sehr kurze Antworten (unter 10 Zeichen).
- Fasst lange Antworten zusammen, wenn Zusammenfassungen aktiviert sind, unter Verwendung von
summaryModel(oderagents.defaults.model.primary). - Hängt das erzeugte Audio an die Antwort an.
- In
mode: "final"wird weiterhin nur Audio-TTS für gestreamte finale Antworten gesendet, nachdem der Textstream abgeschlossen ist; die erzeugten Medien durchlaufen dieselbe Kanal-Mediennormalisierung wie normale Antwortanhänge.
maxLength überschreitet und die Zusammenfassung deaktiviert ist (oder kein API-Schlüssel für das
Zusammenfassungsmodell vorhanden ist), wird Audio übersprungen und die normale Textantwort gesendet.
Ausgabeformate nach Kanal
| Ziel | Format |
|---|---|
| Feishu / Matrix / Telegram / WhatsApp | Sprachnotiz-Antworten bevorzugen Opus (opus_48000_64 von ElevenLabs, opus von OpenAI). 48 kHz / 64 kbps bieten ein gutes Verhältnis aus Verständlichkeit und Größe. |
| Andere Kanäle | MP3 (mp3_44100_128 von ElevenLabs, mp3 von OpenAI). 44,1 kHz / 128 kbps als Standard für Sprache. |
| Talk / Telefonie | Provider-eigenes PCM (Inworld 22050 Hz, Google 24 kHz) oder ulaw_8000 von Gradium für Telefonie. |
- Feishu / WhatsApp-Transcodierung: Wenn eine Sprachnotiz-Antwort als MP3/WebM/WAV/M4A ankommt, transcodiert das Kanal-Plugin sie mit
ffmpegzu 48 kHz Ogg/Opus. WhatsApp sendet über Baileys mitptt: trueundaudio/ogg; codecs=opus. Wenn die Konvertierung fehlschlägt: Feishu fällt darauf zurück, die Originaldatei anzuhängen; der WhatsApp-Versand schlägt fehl, statt eine inkompatible PTT-Nutzlast zu posten. - MiniMax / Xiaomi MiMo: Standardmäßig MP3 (32 kHz für MiniMax
speech-2.8-hd); wird für Sprachnotiz-Ziele überffmpegzu 48 kHz Opus transcodiert. - Lokale CLI: Verwendet das konfigurierte
outputFormat. Sprachnotiz-Ziele werden zu Ogg/Opus konvertiert und Telefonie-Ausgabe zu rohem 16-kHz-Mono-PCM. - Google Gemini: Gibt rohes 24-kHz-PCM zurück. OpenClaw verpackt es für Anhänge als WAV, transcodiert es für Sprachnotiz-Ziele zu 48 kHz Opus und gibt PCM direkt für Talk/Telefonie zurück.
- Inworld: MP3-Anhänge, natives
OGG_OPUSfür Sprachnotizen, rohesPCMmit 22050 Hz für Talk/Telefonie. - xAI: Standardmäßig MP3;
responseFormatkannmp3|wav|pcm|mulaw|alawsein. Verwendet den Batch-REST-Endpunkt von xAI — Streaming-WebSocket-TTS wird nicht verwendet. Natives Opus-Format für Sprachnotizen wird nicht unterstützt. - Microsoft: Verwendet
microsoft.outputFormat(Standardaudio-24khz-48kbitrate-mono-mp3). TelegramsendVoiceakzeptiert OGG/MP3/M4A; verwenden Sie OpenAI/ElevenLabs, wenn Sie garantiert Opus-Sprachnachrichten benötigen. Wenn das konfigurierte Microsoft-Format fehlschlägt, versucht OpenClaw es erneut mit MP3.
Feldreferenz
Top-level messages.tts.*
Top-level messages.tts.*
Auto-TTS-Modus.
inbound sendet Audio nur nach einer eingehenden Sprachnachricht; tagged sendet Audio nur, wenn die Antwort [[tts:...]]-Direktiven oder einen [[tts:text]]-Block enthält.Veralteter Umschalter.
openclaw doctor --fix migriert dies zu auto."all" enthält zusätzlich zu finalen Antworten auch Tool-/Block-Antworten.Sprach-Provider-ID. Wenn nicht gesetzt, verwendet OpenClaw den ersten konfigurierten Provider in der Registry-Auto-Select-Reihenfolge. Das veraltete
provider: "edge" wird von openclaw doctor --fix zu "microsoft" umgeschrieben.Aktive Persona-ID aus
personas. Wird in Kleinbuchstaben normalisiert.Stabile gesprochene Identität. Felder:
label, description, provider, fallbackPolicy, prompt, providers.<provider>. Siehe Personas.Günstiges Modell für automatische Zusammenfassung; Standard ist
agents.defaults.model.primary. Akzeptiert provider/model oder einen konfigurierten Modellalias.Erlaubt dem Modell, TTS-Direktiven auszugeben.
enabled ist standardmäßig true; allowProvider ist standardmäßig false.Provider-eigene Einstellungen, indiziert nach Sprach-Provider-ID. Veraltete direkte Blöcke (
messages.tts.openai, .elevenlabs, .microsoft, .edge) werden von openclaw doctor --fix umgeschrieben; committen Sie nur messages.tts.providers.<id>.Harte Obergrenze für TTS-Eingabezeichen.
/tts audio schlägt fehl, wenn sie überschritten wird.Anfrage-Timeout in Millisekunden.
Überschreibt den lokalen Pfad für das Prefs-JSON (Provider/Limit/Zusammenfassung). Standard
~/.openclaw/settings/tts.json.Azure Speech
Azure Speech
Env:
AZURE_SPEECH_KEY, AZURE_SPEECH_API_KEY oder SPEECH_KEY.Azure Speech-Region (z. B.
eastus). Env: AZURE_SPEECH_REGION oder SPEECH_REGION.Optionale Überschreibung des Azure Speech-Endpunkts (Alias
baseUrl).Azure-Voice-ShortName. Standard
en-US-JennyNeural.SSML-Sprachcode. Standard
en-US.Azure
X-Microsoft-OutputFormat für Standard-Audio. Standard audio-24khz-48kbitrate-mono-mp3.Azure
X-Microsoft-OutputFormat für Sprachnotiz-Ausgabe. Standard ogg-24khz-16bit-mono-opus.ElevenLabs
ElevenLabs
Fällt auf
ELEVENLABS_API_KEY oder XI_API_KEY zurück.Modell-ID (z. B.
eleven_multilingual_v2, eleven_v3).ElevenLabs-Voice-ID.
stability, similarityBoost, style (jeweils 0..1), useSpeakerBoost (true|false), speed (0.5..2.0, 1.0 = normal).Textnormalisierungsmodus.
2-stelliger ISO 639-1-Code (z. B.
en, de).Ganzzahl
0..4294967295 für Best-Effort-Determinismus.Überschreibt die Basis-URL der ElevenLabs-API.
Google Gemini
Google Gemini
Fällt auf
GEMINI_API_KEY / GOOGLE_API_KEY zurück. Wenn ausgelassen, kann TTS models.providers.google.apiKey vor dem Env-Fallback wiederverwenden.Gemini-TTS-Modell. Standard
gemini-3.1-flash-tts-preview.Vorgefertigter Gemini-Voice-Name. Standard
Kore. Alias: voice.Stil-Prompt in natürlicher Sprache, der dem gesprochenen Text vorangestellt wird.
Optionales Sprecherlabel, das dem gesprochenen Text vorangestellt wird, wenn Ihr Prompt einen benannten Sprecher verwendet.
Auf
audio-profile-v1 setzen, um aktive Persona-Prompt-Felder in eine deterministische Gemini-TTS-Prompt-Struktur einzubetten.Google-spezifischer zusätzlicher Persona-Prompt-Text, der an die Director’s Notes der Vorlage angehängt wird.
Nur
https://generativelanguage.googleapis.com wird akzeptiert.Gradium
Gradium
Inworld
Inworld
Local CLI (tts-local-cli)
Local CLI (tts-local-cli)
Lokale ausführbare Datei oder Befehlszeichenfolge für CLI-TTS.
Befehlsargumente. Unterstützt die Platzhalter
{{Text}}, {{OutputPath}}, {{OutputDir}}, {{OutputBase}}.Erwartetes CLI-Ausgabeformat. Standard
mp3 für Audio-Anhänge.Befehls-Timeout in Millisekunden. Standard
120000.Optionales Arbeitsverzeichnis für den Befehl.
Optionale Umgebungs-Overrides für den Befehl.
Microsoft (no API key)
Microsoft (no API key)
Microsoft-Sprachnutzung zulassen.
Name der neuronalen Microsoft-Stimme (z. B.
en-US-MichelleNeural).Sprachcode (z. B.
en-US).Microsoft-Ausgabeformat. Standard
audio-24khz-48kbitrate-mono-mp3. Nicht alle Formate werden vom gebündelten Edge-gestützten Transport unterstützt.Prozentzeichenfolgen (z. B.
+10%, -5%).JSON-Untertitel neben die Audiodatei schreiben.
Proxy-URL für Microsoft-Sprachanfragen.
Override für Anfrage-Timeout (ms).
Legacy-Alias. Führen Sie
openclaw doctor --fix aus, um persistierte Konfiguration nach providers.microsoft umzuschreiben.MiniMax
MiniMax
Fällt auf
MINIMAX_API_KEY zurück. Token-Plan-Authentifizierung über MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY oder MINIMAX_CODING_API_KEY.Standard
https://api.minimax.io. Env: MINIMAX_API_HOST.Standard
speech-2.8-hd. Env: MINIMAX_TTS_MODEL.Standard
English_expressive_narrator. Env: MINIMAX_TTS_VOICE_ID.0.5..2.0. Standard 1.0.(0, 10]. Standard 1.0.Ganzzahl
-12..12. Standard 0. Bruchwerte werden vor der Anfrage abgeschnitten.OpenAI
OpenAI
Fällt auf
OPENAI_API_KEY zurück.OpenAI-TTS-Modell-ID (z. B.
gpt-4o-mini-tts).Stimmenname (z. B.
alloy, cedar).Explizites OpenAI-Feld
instructions. Wenn gesetzt, werden Persona-Prompt-Felder nicht automatisch zugeordnet.Zusätzliche JSON-Felder, die nach generierten OpenAI-TTS-Feldern in
/audio/speech-Anfrage-Bodys zusammengeführt werden. Verwenden Sie dies für OpenAI-kompatible Endpunkte wie Kokoro, die Provider-spezifische Schlüssel wie lang erfordern; unsichere Prototype-Schlüssel werden ignoriert.OpenAI-TTS-Endpunkt überschreiben. Auflösungsreihenfolge: Konfiguration →
OPENAI_TTS_BASE_URL → https://api.openai.com/v1. Nicht standardmäßige Werte werden als OpenAI-kompatible TTS-Endpunkte behandelt, daher werden benutzerdefinierte Modell- und Stimmennamen akzeptiert.OpenRouter
OpenRouter
Env:
OPENROUTER_API_KEY. Kann models.providers.openrouter.apiKey wiederverwenden.Standard
https://openrouter.ai/api/v1. Legacy https://openrouter.ai/v1 wird normalisiert.Standard
hexgrad/kokoro-82m. Alias: modelId.Standard
af_alloy. Alias: voiceId.Standard
mp3.Provider-native Geschwindigkeitsüberschreibung.
Volcengine (BytePlus Seed Speech)
Volcengine (BytePlus Seed Speech)
Env:
VOLCENGINE_TTS_API_KEY oder BYTEPLUS_SEED_SPEECH_API_KEY.Standard
seed-tts-1.0. Env: VOLCENGINE_TTS_RESOURCE_ID. Verwenden Sie seed-tts-2.0, wenn Ihr Projekt eine TTS-2.0-Berechtigung hat.App-Key-Header. Standard
aGjiRDfUWi. Env: VOLCENGINE_TTS_APP_KEY.Den Seed-Speech-TTS-HTTP-Endpunkt überschreiben. Env:
VOLCENGINE_TTS_BASE_URL.Stimmentyp. Standard
en_female_anna_mars_bigtts. Env: VOLCENGINE_TTS_VOICE.Provider-natives Geschwindigkeitsverhältnis.
Provider-natives Emotions-Tag.
Legacy-Felder der Volcengine Speech Console. Env:
VOLCENGINE_TTS_APPID, VOLCENGINE_TTS_TOKEN, VOLCENGINE_TTS_CLUSTER (Standard volcano_tts).xAI
xAI
Env:
XAI_API_KEY.Standard
https://api.x.ai/v1. Env: XAI_BASE_URL.Standard
eve. Live-Stimmen: ara, eve, leo, rex, sal, una.BCP-47-Sprachcode oder
auto. Standard en.Standard
mp3.Provider-native Geschwindigkeitsüberschreibung.
Xiaomi MiMo
Xiaomi MiMo
Env:
XIAOMI_API_KEY.Standard
https://api.xiaomimimo.com/v1. Env: XIAOMI_BASE_URL.Standard
mimo-v2.5-tts. Env: XIAOMI_TTS_MODEL. Unterstützt auch mimo-v2-tts.Standard
mimo_default. Env: XIAOMI_TTS_VOICE.Standard
mp3. Env: XIAOMI_TTS_FORMAT.Optionale natürlichsprachliche Stilanweisung, die als Benutzernachricht gesendet wird; sie wird nicht gesprochen.
Agenten-Tool
Das Tooltts wandelt Text in Sprache um und gibt einen Audio-Anhang für die
Antwortzustellung zurück. In Feishu, Matrix, Telegram und WhatsApp wird das Audio
als Sprachnachricht statt als Datei-Anhang zugestellt. Feishu und WhatsApp
können auf diesem Pfad Nicht-Opus-TTS-Ausgaben transkodieren, wenn ffmpeg
verfügbar ist.
WhatsApp sendet Audio über Baileys als PTT-Sprachnotiz (audio mit
ptt: true) und sendet sichtbaren Text separat von PTT-Audio, da
Clients Beschriftungen auf Sprachnotizen nicht zuverlässig anzeigen.
Das Tool akzeptiert optionale Felder channel und timeoutMs; timeoutMs ist ein
anrufbezogener Provider-Anfrage-Timeout in Millisekunden.
Gateway-RPC
| Methode | Zweck |
|---|---|
tts.status | Aktuellen TTS-Status und letzten Versuch lesen. |
tts.enable | Lokale Auto-Präferenz auf always setzen. |
tts.disable | Lokale Auto-Präferenz auf off setzen. |
tts.convert | Einmalige Text-→-Audio-Konvertierung. |
tts.setProvider | Lokale Provider-Präferenz setzen. |
tts.setPersona | Lokale Persona-Präferenz setzen. |
tts.providers | Konfigurierte Provider und Status auflisten. |
Service-Links
- OpenAI-Leitfaden für Text-to-Speech
- OpenAI Audio API-Referenz
- Azure Speech REST Text-to-Speech
- Azure Speech Provider
- ElevenLabs Text to Speech
- ElevenLabs-Authentifizierung
- Gradium
- Inworld TTS API
- MiniMax T2A v2 API
- Volcengine TTS HTTP API
- Xiaomi MiMo-Sprachsynthese
- node-edge-tts
- Microsoft Speech-Ausgabeformate
- xAI Text-to-Speech