Files
bot/docs/providers/deepgram.md
zeekay 4bdc9ee3e4 chore: rebrand openclaw → hanzo-bot for bridge merge
Comprehensive rename of all openclaw references to hanzo-bot equivalents:
- Package: openclaw → @hanzo/bot
- Binary: openclaw → hanzo-bot
- Types: OpenClaw* → Bot*
- Env vars: OPENCLAW_* → BOT_*
- Android: ai.openclaw.android → ai.hanzo.bot.android
- iOS/macOS: ai.openclaw.* → ai.hanzo.*
- Swift modules: OpenClaw* → Bot*
- Plugins: openclaw.plugin.json → bot.plugin.json
- Paths: .openclaw/ → .hanzo/bot/
- URLs: github.com/openclaw → github.com/hanzoai
2026-02-26 22:36:01 -08:00

2.2 KiB

summary, read_when, title
summary read_when title
Deepgram transcription for inbound voice notes
You want Deepgram speech-to-text for audio attachments
You need a quick Deepgram config example
Deepgram

Deepgram (Audio Transcription)

Deepgram is a speech-to-text API. In Hanzo Bot it is used for inbound audio/voice note transcription via tools.media.audio.

When enabled, Hanzo Bot uploads the audio file to Deepgram and injects the transcript into the reply pipeline ({{Transcript}} + [Audio] block). This is not streaming; it uses the pre-recorded transcription endpoint.

Website: https://deepgram.com
Docs: https://developers.deepgram.com

Quick start

  1. Set your API key:
DEEPGRAM_API_KEY=dg_...
  1. Enable the provider:
{
  tools: {
    media: {
      audio: {
        enabled: true,
        models: [{ provider: "deepgram", model: "nova-3" }],
      },
    },
  },
}

Options

  • model: Deepgram model id (default: nova-3)
  • language: language hint (optional)
  • tools.media.audio.providerOptions.deepgram.detect_language: enable language detection (optional)
  • tools.media.audio.providerOptions.deepgram.punctuate: enable punctuation (optional)
  • tools.media.audio.providerOptions.deepgram.smart_format: enable smart formatting (optional)

Example with language:

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

Example with Deepgram options:

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

Notes

  • Authentication follows the standard provider auth order; DEEPGRAM_API_KEY is the simplest path.
  • Override endpoints or headers with tools.media.audio.baseUrl and tools.media.audio.headers when using a proxy.
  • Output follows the same audio rules as other providers (size caps, timeouts, transcript injection).