SenseAudio Speech-to-Text for Inbound Voice Notes
Covers how OpenClaw transcribes inbound audio and voice-note attachments using SenseAudio through the shared tools.media.audio pipeline. Includes setup steps, provider settings, and transcript injection details.
Read this when
- You want SenseAudio speech-to-text for audio attachments
- You need the SenseAudio API key env var or audio config path
Inbound audio and voice-note attachments are transcribed by SenseAudio via the shared tools.media.audio pipeline in OpenClaw. Audio is posted as multipart data by OpenClaw to the OpenAI-compatible transcription endpoint, and the resulting text is injected as {{Transcript}} along with an [Audio] block.
| Property | Value |
|---|---|
| Provider id | senseaudio |
| Plugin | bundled, enabledByDefault: true |
| Contract | mediaUnderstandingProviders (audio) |
| Auth env var | SENSEAUDIO_API_KEY |
| Default model | senseaudio-asr-pro-1.5-260319 |
| Default URL | https://api.senseaudio.cn/v1 |
| Website | senseaudio.cn |
| Docs | docs.senseaudio.cn |
Getting started
Set your API key
export SENSEAUDIO_API_KEY="..."
Enable the audio provider
{
tools: {
media: {
models: [
{
provider: "senseaudio",
model: "senseaudio-asr-pro-1.5-260319",
capabilities: ["audio"],
},
],
audio: {
enabled: true,
},
},
},
}
Send a voice note
Send an audio message over any connected channel. The audio is uploaded by OpenClaw to SenseAudio, and the transcript is then used in the reply pipeline.
Options
| Option | Path | Description |
|---|---|---|
model | tools.media.models[].model | SenseAudio ASR model id |
language | tools.media.models[].language | Optional language hint |
prompt | tools.media.models[].prompt | Optional transcription prompt |
baseUrl | tools.media.models[].baseUrl | Override the OpenAI-compatible base |
headers | tools.media.models[].headers | Extra request headers |
Note
In OpenClaw, SenseAudio handles batch STT only. Realtime transcription in Voice Call keeps using providers that support streaming STT.