speechmatics-batch
Speechmatics Batch API Client
What it is and what it does
This is an async Python wrapper around the Speechmatics Batch API for speech-to-text transcription. It handles job submission, status polling, and result retrieval with built-in support for speaker diarization, multi-language translation, and summarization. The client manages authentication via environment variables or explicit API keys, including optional JWT token refresh for long-running applications.
The package is designed for developers who need to transcribe audio files asynchronously without blocking. It provides a high-level interface (simple transcribe method) for quick jobs and a lower-level API for manual job management, custom polling intervals, and fine-grained configuration. Output is available in JSON, plain text, or SRT subtitle formats.
Use it for:
- Transcribe a batch of audio files with speaker labels and confidence scores in a single async workflow.
- Build a web service that accepts audio uploads and returns transcripts in multiple languages via translation.
- Monitor long-running transcription jobs with custom polling intervals and timeout handling.
- Generate SRT subtitles from audio for video content with automatic speaker identification.
- Integrate speech-to-text into a data pipeline with JWT token refresh for credential security.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Async Python client for submitting audio files to Speechmatics Batch API, monitoring transcription jobs, and retrieving results in multiple formats with support for speaker diarization, translation, and summarization.
Yes. The package is actively maintained, has no known vulnerabilities, uses permissive MIT licensing, and offers low install friction. It is well-suited for developers who need async batch transcription with Speechmatics. The only caveat is that it is still in Beta (Development Status 4), so API or behavior changes are possible in future releases.
Install
speechmatics-batch on PyPI
pip
pip install speechmatics-batchuv
uv add speechmatics-batchpoetry
poetry add speechmatics-batchInstalling speechmatics-batch
Before you install
Low install friction with a pure-Python wheel distribution. Active maintenance with recent commits and a stable release cadence since June 2025. Dependencies are lightweight async libraries (aiohttp, aiofiles, typing-extensions), all widely used and well-maintained.
License in practice
MIT license permits commercial and private use with minimal restrictions—you may use, modify, and distribute this package freely as long as you include the license notice.
Quickstart
import asyncio
from speechmatics.batch import AsyncClient
async def main():
async with AsyncClient() as client:
result = await client.transcribe("audio.wav")
print(result.transcript_text)
asyncio.run(main())
Requires SPEECHMATICS_API_KEY environment variable or explicit api_key parameter; audio file must exist and be readable.
Verify before relying
- Whether the package handles very large audio files or has practical size limits in practice.
- Performance characteristics and typical latency for job submission and polling cycles.
- Exact retry and backoff behavior during transient API failures.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — aiohttp, aiofiles, typing-extensions |
| Maintenance | actively maintained — 59 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 75,363/month — #14,723 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: speechmatics_batch-0.5.0-py3-none-any.whl
Keywords: speechmatics, speech-to-text, batch, transcription, api
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
speechmatics-rtAsync Python client for real-time…
permissive · top 15,000 on PyPI
rev-aiPython SDK for Rev AI's speech-to-text API,…
permissive · top 15,000 on PyPI
speechmatics-voicePython SDK for building real-time voice…
permissive · top 15,000 on PyPI
livekit-plugins-speechmaticsIntegrates Speechmatics speech-to-text into…
permissive · top 15,000 on PyPI
pyannoteai-sdkClient library for pyannoteAI's speaker…
unclear · top 5,000 on PyPI
whisperxWhisperX performs fast automatic speech…
permissive · top 5,000 on PyPI
assemblyaiPython SDK for transcribing and understanding…
permissive · top 5,000 on PyPI
fal-clientA Python client library for calling ML models…
unclear · top 5,000 on PyPI
pyannote-databaseDefines and manages reproducible experimental…
unclear · top 5,000 on PyPI
centPython SDK for communicating with Centrifugo v5…
permissive · top 15,000 on PyPI