Audio and voice notes
기준일: 2026-07-26
공식 기준: Audio and voice notes
Audio and voice notes 문서는 OpenClaw 공식 문서(nodes/audio)를 한국어로 정리한 가이드입니다. How inbound audio/voice notes are downloaded, transcribed, and injected into replies 명령·설정 키·코드 예시는 공식 문서를 그대로 보존하며, 해석과 절차 안내는 한국어로 제공합니다. 최종 동작은 설치된 CLI 버전과 공식 원문을 확인하세요.
핵심 요약
How inbound audio/voice notes are downloaded, transcribed, and injected into replies
한국어 가이드 범위: nodes/audio 경로의 설정·명령·제약·예시를 학습용으로 재구성합니다.
문서 구성
공식 문서의 주요 섹션은 다음과 같습니다.
- What it does
- Auto-detection (default)
- Config examples
- Provider + CLI fallback (OpenAI + Whisper CLI)
- Provider-only (Deepgram)
- Provider-only (Mistral Voxtral)
- Provider-only (SenseAudio)
- Echo transcript to chat (opt-in)
- Notes and limits
- Resident local STT
- Proxy environment support
- Mention detection in groups
- Gotchas
- 관련 문서
상세 내용
What it does
When audio understanding is enabled (or auto-detected), OpenClaw:
위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과
--help를 확인하세요.
Auto-detection (default)
If you have not configured models and tools.media.audio.enabled is not false, OpenClaw auto-detects in this order and stops at the first working option:
위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과
--help를 확인하세요.
주요 항목:
whisper-cli, before CPU defaults only when an earlier model invocation in the current process observed Metal or CUDAsherpa-onnx-offlineon its default CPU provider (requiresSHERPA_ONNX_MODEL_DIRwithtokens.txt,encoder.onnx,decoder.onnx, andjoiner.onnx)whisper-cliwhen Metal/CUDA is only build-capable or the selected backend is otherwise unobservedparakeet-mlxon Apple Silicon (MLX-capable; device use remains unobserved)whisper(Python CLI; downloads models automatically)
openclaw capability audio providers
openclaw doctor --lint --only core/doctor/local-audio-acceleration --severity-min info
Config examples
이 섹션의 세부 항목은 공식 문서 Config examples를 참고하세요.
Provider + CLI fallback (OpenAI + Whisper CLI)
{
tools: {
media: {
models: [
{ provider: "openai", model: "gpt-4o-transcribe", capabilities: ["audio"] },
{
type: "cli",
command: "whisper",
args: ["--model", "base", "{{AttachmentPath}}"],
timeoutSeconds: 45,
capabilities: ["audio"],
},
],
audio: { enabled: true, preferredModel: "openai/gpt-4o-transcribe" },
},
},
}
Provider-only (Deepgram)
{
tools: {
media: {
models: [{ provider: "deepgram", model: "nova-3", capabilities: ["audio"] }],
audio: { enabled: true },
},
},
}
Provider-only (Mistral Voxtral)
{
tools: {
media: {
models: [{ provider: "mistral", model: "voxtral-mini-latest", capabilities: ["audio"] }],
audio: { enabled: true },
},
},
}
Provider-only (SenseAudio)
{
tools: {
media: {
models: [
{
provider: "senseaudio",
model: "senseaudio-asr-pro-1.5-260319",
capabilities: ["audio"],
},
],
audio: { enabled: true },
},
},
}
Echo transcript to chat (opt-in)
{
tools: {
media: {
audio: {
enabled: true,
echoTranscript: true,
echoFormat: '📝 "{transcript}"',
},
},
},
}
Notes and limits
주요 항목:
- Provider auth follows the standard model auth order (auth profiles, env vars,
models.providers.*.apiKey). - Groq setup details: Groq.
- Deepgram picks up
DEEPGRAM_API_KEYwhenprovider: "deepgram"is used. Setup details: Deepgram. - Mistral setup details: Mistral.
- SenseAudio picks up
SENSEAUDIO_API_KEYwhenprovider: "senseaudio"is used. Setup details: SenseAudio. - Audio providers can use defaults under
tools.media.audioor overridebaseUrl,headers,providerOptions, and limits on theirtools.media.models[]entry. - The built-in audio size cap is 20MB. An entry-level
maxBytesoverride can change it; oversize audio is skipped for that model and the next entry is tried. - Audio files below 1024 bytes are skipped before provider/CLI transcription.
- Default
maxCharsfor audio is unset (full transcript). Settools.media.audio.maxCharsor per-entrymaxCharsto trim output. - OpenAI auto-detect default is
gpt-4o-transcribe; setmodel: "gpt-4o-mini-transcribe"for a cheaper/faster option. - Transcript is available to templates as
{{Transcript}}. tools.media.audio.echoTranscriptis off by default;echoFormataccepts a{transcript}placeholder.- CLI stdout is capped at 5MB; keep CLI output concise.
- CLI
argsshould use{{AttachmentPath}}for the local audio file path. Runopenclaw doctor --fixto migrate deprecated{input}placeholders from olderaudio.transcription.commandconfigs (retired key:audio.transcription, replaced bytools.media.models).{{MediaPath}}remains a deprecated compatibility alias. tools.media.concurrencybounds media tasks; it is not a GPU scheduler.
Resident local STT
Auto-detected local STT remains process-per-request. OpenClaw does not currently manage a resident whisper.cpp server because the standard Homebrew whisper-cpp package disables that server, while the upstream example has no configured bounded admission queue. A plugin-owned resident lifecycle needs a maintained packaged worker with health/startup, model residency, bounded queueing, cancellation/timeout, loopback-only no-auth operation, and no cloud fallback before it can be enabled safely.
위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과
--help를 확인하세요.
Proxy environment support
Provider-based audio transcription honors standard outbound proxy env vars, matching undici's EnvHttpProxyAgent semantics:
위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과
--help를 확인하세요.
주요 항목:
HTTPS_PROXY/https_proxyHTTP_PROXY/http_proxyALL_PROXY/all_proxy
Mention detection in groups
On channels that support audio preflight, OpenClaw transcribes audio before checking for mentions when requireMention: true is set for a group chat. This lets a captionless voice note pass the mention gate when its transcript contains a configured mention pattern. Channel-specific docs describe transports that require a typed mention instead.
위 내용은 공식 문서의 해당 섹션 요지입니다. 세부 플래그·기본값은 원문과
--help를 확인하세요.
주요 항목:
- Set
channels.telegram.groups.<chatId>.disableAudioPreflight: trueto skip preflight transcript mention checks for that group. - Set
channels.telegram.groups.<chatId>.topics.<threadId>.disableAudioPreflightto override per-topic (trueto skip,falseto force-enable). - Default is
false(preflight enabled when mention-gated conditions match).
Gotchas
주요 항목:
- Scope rules use first-match-wins;
chatTypeis normalized todirect,group, orchannel. - Ensure your CLI exits 0 and prints plain text; JSON output needs to be massaged via
jq -r .text. - Known file-output modes are authoritative: an empty or missing inferred transcript file produces no transcript instead of falling back to CLI progress output.
- For
parakeet-mlx, use--output-format txt(orall) with--output-dirand the default{filename}output template. The upstreamPARAKEET_OUTPUT_FORMATandPARAKEET_OUTPUT_TEMPLATEenvironment variables are also honored. OpenClaw reads<output-dir>/<media-basename>.txt; the defaultsrtformat, other formats, and custom output templates continue to use stdout. - Keep timeouts reasonable (
timeoutSeconds, default 60s) to avoid blocking the reply queue. - Preflight transcription only processes the first audio attachment for mention detection. Additional audio attachments are processed during the main media-understanding phase.
관련 문서
주요 항목:
- Media understanding
- Talk mode
- Voice wake
실습 체크리스트
- 공식 문서와 로컬 버전을 대조합니다:
https://docs.openclaw.ai/nodes/audio - 관련 CLI는
openclaw --help및 하위 명령--help로 옵션을 확인합니다. - 설정 변경 시
openclaw config/openclaw doctor로 유효성을 검사합니다. - Gateway·채널·플러그인 변경 후에는 필요 시 Gateway를 재시작합니다.
자주 쓰는 명령·설정 예시
openclaw capability audio providers
openclaw doctor --lint --only core/doctor/local-audio-acceleration --severity-min info
{
tools: {
media: {
models: [
{ provider: "openai", model: "gpt-4o-transcribe", capabilities: ["audio"] },
{
type: "cli",
command: "whisper",
args: ["--model", "base", "{{AttachmentPath}}"],
timeoutSeconds: 45,
capabilities: ["audio"],
},
],
audio: { enabled: true, preferredModel: "openai/gpt-4o-transcribe" },
},
},
}
{
tools: {
media: {
models: [{ provider: "deepgram", model: "nova-3", capabilities: ["audio"] }],
audio: { enabled: true },
},
},
}
{
tools: {
media: {
models: [{ provider: "mistral", model: "voxtral-mini-latest", capabilities: ["audio"] }],
audio: { enabled: true },
},
},
}
{
tools: {
media: {
models: [
{
provider: "senseaudio",
model: "senseaudio-asr-pro-1.5-260319",
capabilities: ["audio"],
},
],
audio: { enabled: true },
},
},
}
{
tools: {
media: {
audio: {
enabled: true,
echoTranscript: true,
echoFormat: '📝 "{transcript}"',
},
},
},
}
관련 링크
- 공식 원문: nodes/audio
- OpenClaw 문서 홈
이 가이드는 공식 문서를 한국어 학습용으로 재구성한 것입니다. 옵션 기본값·플래그 이름은 설치 버전에 따라 달라질 수 있습니다.