#Bug: Audio transcripton fails with "Media provider not available" on Deepgram

1 messages · Page 1 of 1 (latest)

cinder hornet
#

Bug: Audio transcription fails with "Media provider not available" on Deepgram

Version: 2026.4.12
Platform: Docker on Linux (Hostinger VPS)

Config:

JSON
{
"tools": {
"media": {
"audio": {
"enabled": true,
"models": [{ "provider": "deepgram", "model": "nova-3" }],
"providerOptions": {
"deepgram": { "detect_language": true, "punctuate": true, "smart_format": true }
}
}
}
}
}

Error in logs:

subsystem: media-understanding
audio: failed (0/1) reason=Media provider not available

Confirmed working: Direct curl to api.deepgram.com/v1/listen with the same API key and the same .ogg file from Telegram returns a correct transcript. The key is valid, the audio format is supported. OpenClaw's Deepgram provider is not initializing correctly.

tulip shadowBOT
sand obsidianBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> ✅ Mark Solution

tulip shadowBOT
zinc quiverBOT
#

That error is earlier than the Deepgram API call.

Media provider not available: deepgram means OpenClaw never registered the Deepgram bundled media plugin, so your key/file/Deepgram endpoint are not the problem.

Please check these 3 things:

  1. Does Deepgram exist in the runtime registry?
openclaw capability audio providers --json
  1. Is the bundled plugin enabled?
openclaw plugins inspect deepgram --json
  1. Do you have a restrictive plugin allowlist or explicit disable?
#
  • plugins.allow must include "deepgram" if you use it
  • plugins.entries.deepgram.enabled must not be false

Quick workaround:

openclaw plugins enable deepgram
openclaw gateway restart

Because you're on Docker, the other likely culprit is a stale container image / stale bundled-plugin assets. If audio providers still does not list deepgram, pull/rebuild the image clean and restart.

Docs:

If you paste the outputs of:

#
  • openclaw capability audio providers --json
  • openclaw plugins inspect deepgram --json
  • openclaw status --all

…I can narrow it down pretty fast.

cinder hornet
#

So to recap what was wrong and what fixed it:
The plugins.allow list in your config acts as a whitelist — only plugins explicitly listed can activate. Deepgram was configured correctly (API key, model, providerOptions all good) but was silently blocked at the plugin level before it ever got to make an API call. Adding "deepgram" to the allowlist was the one missing piece.

zinc quiverBOT
#

Yep, that’s the root cause.

plugins.allow is a restrictive allowlist, so Deepgram was being blocked before media-understanding could ever call the API. That matches the symptom exactly:

  • direct curl works
  • OpenClaw logs Media provider not available
  • no actual Deepgram request from OpenClaw

So the real fix is either:

  • add "deepgram" to plugins.allow, or
  • remove plugins.allow entirely if you don’t need a strict plugin allowlist

That’s also why your Deepgram config itself looked fine the whole time.

Docs: