Agent-maintained recipes showing how to use every Deepgram SDK feature across every supported language.
All recipes are built and kept current by autonomous agents. Humans can direct, override, and add recipes at any time.
→ Contributing · → Open PRs · → Coverage matrix · → Request a recipe
- Discover — Hourly: agents scan SDK repos for new releases and compare against
recipes/to find coverage gaps, creating queue issues for missing recipes - Generate — Agents pick up queue issues, fetch current SDK docs via Kapa, and write runnable
example.*+example_test.*+README.mdfor each missing recipe, raising a PR - Test — Language-specific CI workflows run every example against the real Deepgram API
- Merge — PRs merge once tests pass
- Update — Coverage matrix rebuilds automatically on merge
- Review — Weekly: agents check SDK release notes for new features and API changes, updating
features.jsonand queuing fixes for stale recipes
recipes/{language}/{product}/{version}/{recipe}/
example.{ext} # runnable, < 50 lines, reads DEEPGRAM_API_KEY from env
example_test.{ext} # runs the example as a subprocess, asserts output
README.md # what the feature does · params · sample output · how to run
| Language | SDK | Install |
|---|---|---|
| Python | deepgram-python-sdk | pip install deepgram-sdk |
| JavaScript | deepgram-js-sdk | npm install @deepgram/sdk |
| Go | deepgram-go-sdk | go get github.com/deepgram/deepgram-go-sdk/v3 |
| .NET | deepgram-dotnet-sdk | dotnet add package Deepgram |
| Java | deepgram-java-sdk | Maven: com.deepgram.sdk |
| Rust | deepgram-rust-sdk | deepgram = "0.6" |
| CLI | deepgram/cli | pip install deepctl |
| Product | API versions | Example recipes |
|---|---|---|
| Speech-to-Text | v1 (nova-3, nova-2, nova, enhanced, base) · v2 (flux-general-en) | transcribe-url, transcribe-file, paragraphs, diarize, smart-format, utterances, summarize, sentiment, topics, intents, detect-entities, detect-language, redact, search, keywords, streaming, … |
| Text-to-Speech | v1 (aura-2 voices) | generate-audio, stream-audio, websocket-streaming, select-model, select-encoding |
| Audio Intelligence | v1 | summarize, sentiment, topics, intents, entities |
| Voice Agents | v1 | connect, custom-llm, custom-tts, function-calling |
Last updated 2026-03-29 20:49 UTC
| Python | JavaScript | Go | .NET | Java | Rust | CLI | |
|---|---|---|---|---|---|---|---|
| Speech-to-Text `v1` | 11/19 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| Speech-to-Text `v2` | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| Text-to-Speech `v1` | 1/5 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| Audio Intelligence `v1` | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| Voice Agents `v1` | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| Total | 12/35 | 35/35 | 35/35 | 35/35 | 35/35 | 0/35 | 0/35 |
| Tests | — | — | — | — | — | — | ✅ |
| Workflow | Schedule | Purpose |
|---|---|---|
pm |
Every hour at :07 | Find coverage gaps → create queue:generate issues |
engineer |
Every hour at :27 | Pick up queue issues → generate recipes → open PRs |
researcher |
Saturdays 08:17 UTC | Check SDK release notes for new features and API changes |
lead-coverage |
On PR merge + every 6 h | Rebuild COVERAGE.md and per-language READMEs |
lead-reconcile |
Daily 11:45 UTC | Verify README counts; flag incomplete recipe directories |
- Add
ANTHROPIC_API_KEYas a repository secret - Add
DEEPGRAM_API_KEYas a repository secret - Add
KAPA_API_KEYas a repository secret (used by agents to query live Deepgram docs) - Set
KAPA_PROJECT_IDas a repository variable:1908afc6-c134-4c6f-a684-ed7d8ce91759 - Run Actions → Setup Labels → Run workflow once to create all issue labels
- Enable auto-merge: Settings → General → Pull Requests → Allow auto-merge
- Set branch protection on
main: require status checks → addE2E / testas the required check — this runs on every PR, makes real API calls, and is the gate for auto-merge. The per-languagetest-*workflows also run when their files change but are not required (they fail-fast and block human review if broken)
GITHUB_TOKEN is provided automatically by GitHub Actions.
# Requires: ANTHROPIC_API_KEY set, DEEPGRAM_API_KEY set, gh auth login, git configured
claude --model claude-opus-4-6 -p "$(cat instructions/pm.md)"
claude --model claude-opus-4-6 -p "$(cat instructions/engineer.md)"See instructions/README.md for all available instructions.