Deepgram speech processing tool for Strands Agents SDK
Project description
strands-deepgram
Deepgram speech processing tool for Strands Agents SDK. Enables powerful speech-to-text, text-to-speech, and audio intelligence capabilities for AI agents.
Features
- Speech-to-Text: Transcribe audio with 30+ language support
- Text-to-Speech: Generate natural-sounding speech in multiple voices
- Audio Intelligence: Sentiment analysis, topic detection, intent recognition
- Speaker Diarization: Identify and separate different speakers
- Multi-format Support: WAV, MP3, M4A, FLAC, and more
- Type Safe: Full type hints and validation
- Easy Integration: Drop-in tool for Strands agents
Requirements
- Python 3.9+
- Strands Agents SDK 1.11.0+
- Deepgram SDK 3.0+
Installation
pip install strands-deepgram
Quick Start
from strands import Agent
from strands_deepgram import deepgram
# Create an agent with Deepgram tool
agent = Agent(tools=[deepgram])
# Transcribe audio with speaker identification
agent("transcribe audio from recording.mp3 in Turkish with speaker diarization")
# Text-to-speech
agent("convert this text to speech and save as output.mp3: Hello world")
# Audio intelligence
agent("analyze sentiment and topics in recording.wav")
Configuration
Set your Deepgram API key as an environment variable:
DEEPGRAM_API_KEY=your_deepgram_api_key # Required
DEEPGRAM_DEFAULT_MODEL=nova-3 # Optional
DEEPGRAM_DEFAULT_LANGUAGE=en # Optional
Get your API key at: console.deepgram.com
Supported Actions
Speech-to-Text (transcribe)
agent("transcribe this audio file: path/to/audio.mp3")
Features:
- Multi-language transcription (30+ languages)
- Speaker diarization (identify different speakers)
- Smart formatting and punctuation
- Word-level timestamps
- Sentiment analysis (optional)
- Topic and intent detection (optional)
Text-to-Speech (text_to_speech)
agent("convert this text to speech: Hello, how are you today?")
Features:
- Natural-sounding voices (Aura series)
- Multiple audio formats (MP3, WAV, FLAC)
- Customizable speech parameters
- Voice selection
Audio Intelligence (analyze)
agent("analyze sentiment and topics in audio: call.mp3")
Features:
- Sentiment analysis
- Topic detection
- Intent recognition
- Language detection
Testing
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest tests/ -v
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Links
- PyPI: pypi.org/project/strands-deepgram
- GitHub: github.com/eraykeskinmac/strands-deepgram
- Strands Agents SDK: github.com/strands-agents/strands
- Deepgram API: developers.deepgram.com
Built for the Strands community 🚀
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file strands_deepgram-0.1.0.tar.gz.
File metadata
- Download URL: strands_deepgram-0.1.0.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c93e234db350bbc384a3f5a09e362ff3e1e4f598583fd41b99e0a57edf02b76
|
|
| MD5 |
89d27dd87e960532642025c2414aad50
|
|
| BLAKE2b-256 |
7974058e75dd17c00bbf0e26d1279f41ea8d28e049d730feac98b07c1cda0be8
|
Provenance
The following attestation bundles were made for strands_deepgram-0.1.0.tar.gz:
Publisher:
publish.yml on eraykeskinmac/strands-deepgram
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
strands_deepgram-0.1.0.tar.gz -
Subject digest:
0c93e234db350bbc384a3f5a09e362ff3e1e4f598583fd41b99e0a57edf02b76 - Sigstore transparency entry: 606656280
- Sigstore integration time:
-
Permalink:
eraykeskinmac/strands-deepgram@6c518263da55f81ae2e8f0278a3e2ffb4bc578d7 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/eraykeskinmac
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6c518263da55f81ae2e8f0278a3e2ffb4bc578d7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file strands_deepgram-0.1.0-py3-none-any.whl.
File metadata
- Download URL: strands_deepgram-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
967c1879cfddbc0914dfe2ae1658e812a1899007571b5d0cdd2137e9f64e939e
|
|
| MD5 |
ab4eb2f673fd3be75a0dd9b63d0d663f
|
|
| BLAKE2b-256 |
79e3f0f342e76119e5cee1e4847d20b1d4ebe5940d19f57bdf4166f675783423
|
Provenance
The following attestation bundles were made for strands_deepgram-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on eraykeskinmac/strands-deepgram
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
strands_deepgram-0.1.0-py3-none-any.whl -
Subject digest:
967c1879cfddbc0914dfe2ae1658e812a1899007571b5d0cdd2137e9f64e939e - Sigstore transparency entry: 606656282
- Sigstore integration time:
-
Permalink:
eraykeskinmac/strands-deepgram@6c518263da55f81ae2e8f0278a3e2ffb4bc578d7 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/eraykeskinmac
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6c518263da55f81ae2e8f0278a3e2ffb4bc578d7 -
Trigger Event:
release
-
Statement type: