Skip to main content

Deepgram

Deepgram is a speech-to-text API. In WednesdayAI it is used for inbound audio and voice note transcription via tools.media.audio. When enabled, WednesdayAI uploads audio files to Deepgram and injects the transcript into the reply pipeline.
Deepgram is a transcription provider, not a text generation model. It cannot be used as a primary or fallback model. Configure it under tools.media.audio, not under models.providers.

Prerequisites

Quick setup

1. Get an API key

Sign in to console.deepgram.com and create an API key. Keys start with Token dg_. Store it on the gateway host:
echo 'DEEPGRAM_API_KEY=dg_...' >> ~/.openclaw/.env

2. Enable audio transcription

{
  tools: {
    media: {
      audio: {
        enabled: true,
        models: [{ provider: "deepgram", model: "nova-3" }],
      },
    },
  },
}

Configuration options

OptionDefaultNotes
modelnova-3Deepgram model ID
language(auto)Language hint, e.g. "en"
providerOptions.deepgram.detect_languagefalseEnable automatic language detection
providerOptions.deepgram.punctuatefalseAdd punctuation to transcript
providerOptions.deepgram.smart_formatfalseApply smart formatting

With language hint

{
  tools: {
    media: {
      audio: {
        enabled: true,
        models: [{ provider: "deepgram", model: "nova-3", language: "en" }],
      },
    },
  },
}

With Deepgram options

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

Using a proxy

Override the endpoint and headers when routing through a proxy:
{
  tools: {
    media: {
      audio: {
        enabled: true,
        baseUrl: "https://your-proxy/deepgram",
        headers: { "X-Custom-Header": "value" },
        models: [{ provider: "deepgram", model: "nova-3" }],
      },
    },
  },
}

Provider settings

SettingValue
Provider IDdeepgram
Auth env varDEEPGRAM_API_KEY
Use casePre-recorded audio transcription (not streaming)

Troubleshooting

Verify DEEPGRAM_API_KEY is set correctly in ~/.openclaw/.env and the key is active in the Deepgram console.
Check file size limits and supported formats in the Deepgram documentation. WednesdayAI applies its own audio size caps before sending to Deepgram.
Ensure tools.media.audio.enabled is true and the deepgram provider is listed in models.