Skip to main content

SpeechWeave Python SDK

PyPI version Python versions License: MIT

The native Python SDK for SpeechWeave — background job polling, presigned uploads, and webhook verification. Python 3.10+.

Docs: speechweave.com/docs · API reference

Install

pip install speechweave

Set your API key:

export SPEECHWEAVE_API_KEY="sk_..."

Quick start

from speechweave import SpeechWeave, wait_for_job

sw = SpeechWeave()

job = sw.jobs.create(
	file="./podcast.mp3",
	model="core",
	service_mode="deferred",
)

done = wait_for_job(sw, job["id"])
print(done["transcript"])

jobs.create accepts a local path string or an open binary file. For URL input, cancel, and other job operations, see the API reference.

Handling buffers & streams

When you already have an open file handle or in-memory bytes, use transcribe_file directly:

from speechweave import SpeechWeave, wait_for_job

sw = SpeechWeave()

with open("audio.wav", "rb") as f:
	job = sw.transcribe_file(
		f,
		filename="audio.wav",
		model="core",
		language="en",
	)

result = wait_for_job(sw, job["id"], timeout_sec=300)
print(result["transcript"])

Async

import asyncio
from speechweave import AsyncSpeechWeave, async_wait_for_job

async def main():
	async with AsyncSpeechWeave() as sw:
		job = await sw.jobs.create(
			file="./podcast.mp3",
			model="core",
			service_mode="deferred",
		)

		done = await async_wait_for_job(sw, job["id"])
		print(done["transcript"])

asyncio.run(main())

Webhooks

from speechweave import verify_webhook

result = verify_webhook(
	secret=WEBHOOK_SECRET,
	raw_body=raw_body,
	signature_header=signature_header,
)

See the docs for a full FastAPI example.

Errors

from speechweave import SpeechWeave, SpeechWeaveError

try:
	client = SpeechWeave(api_key="bad_key")
	client.get_job("job_123")
except SpeechWeaveError as e:
	print(e.status)
	print(e.code)
	# Prepaid wallet / spend caps: HTTP 402 with codes like INSUFFICIENT_BALANCE,
	# WALLET_EMPTY, USER_SPEND_CAP_REACHED, CHECKOUT_REQUIRED.
	if e.status == 402:
		print("Top up the wallet or raise spend caps, then retry.")

Configuration

  • api_key — or set SPEECHWEAVE_API_KEY
  • base_url — defaults to https://api.speechweave.com/v1
  • timeout — httpx timeout in seconds (default 120)

Compatibility & Migration

If you are building a new application, use the native SDK above for full feature support. If you have an existing OpenAI, Deepgram, or AssemblyAI codebase, use the options below to switch with minimal changes.

Drop-in usage

Convenience helpers if you want OpenAI/Deepgram/AssemblyAI response shapes without adding another package. They use presigned uploads like the native API.

from speechweave import SpeechWeave

client = SpeechWeave()

with open("clip.mp3", "rb") as f:
	result = client.audio.transcriptions.create(
		file=f,
		filename="clip.mp3",
		model="core",
	)

print(result["text"])

More examples: OpenAI · Deepgram · AssemblyAI

Migrating from OpenAI

You don't need this SDK for a quick swap — use the official openai package and point it at SpeechWeave:

from openai import OpenAI

client = OpenAI(
    api_key="sk_live_...",
    base_url="https://api.speechweave.com/v1",
)

with open("clip.mp3", "rb") as f:
    result = client.audio.transcriptions.create(model="core", file=f)

print(result.text)

OpenAI model names like whisper-1 are aliased to core on our backend. See the OpenAI migration guide.

Release files for speechweave 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for speechweave 1.1.1
File Size Uploaded
speechweave-1.1.1.tar.gz 17.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for speechweave 1.1.1
File Interpreter ABI Platform
speechweave-1.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 37.5 kB

Release files / speechweave-1.1.1.tar.gz

Download URL speechweave-1.1.1.tar.gz
Size 17.8 kB
Tags Source
SHA-256 checksum
How to use checksums
1c37790a156a0879b6e4d2aba6d02e60538895984a0e41e2953d2dd8086b773b
BLAKE2b-256 checksum
How to use checksums
c40c250d54791e84f1e6b6dbb468f6b6c613c644346d874a92f3609f9c8e6d6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release files / speechweave-1.1.1-py3-none-any.whl

Download URL speechweave-1.1.1-py3-none-any.whl
Size 19.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
26b5789d735456ead09dfe978a41a6d5f6a8e02419ace738dcb4ed0d34fee521
BLAKE2b-256 checksum
How to use checksums
12febdc0588f0ff4c023a139c0c44fdceed83c3c359048c93b0bdc19dfc0a907
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release history Release notifications | RSS feed

1.7.2

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

This release

1.1.1 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page