Skip to main content
Both clients are thin wrappers over the HTTP API: the same parameters, the same response shapes, nothing renamed. They add authentication, retries on 429, 502, 503, and network failures, typed errors, and a helper that polls transcription jobs to completion.

TypeScript

npm install helve-sdk. Zero dependencies. Node 18+, Bun, Deno, and browsers.

Python

pip install helve. Sync and async clients on httpx. Python 3.9+.

TypeScript

Every request and response type is generated from Helve’s OpenAPI document, so your editor’s hover text is the API reference. SearchParams, SearchResponse, ExtractParams, Job, and the rest are exported. Options: new Helve({ apiKey, baseUrl, timeoutMs, maxRetries, fetch }). Every method accepts { signal } for cancellation. jobs.wait and transcriptions.createAndWait also take { intervalMs, timeoutMs }.

Python

The async client has the same methods:
Options: Helve(api_key=None, base_url=..., timeout=60.0, max_retries=2). jobs.wait and transcriptions.create_and_wait take interval= and a wait timeout.

Errors

Both clients raise or throw HelveError for any non-2xx response, carrying status, a stable type matching the error table, the message, and detail. A job that ends in failed is returned, not thrown: check job.status and read job.error.

Other languages

The API is plain JSON over HTTPS with a bearer token, and the OpenAPI document is complete, so any generator or a few lines of your HTTP client of choice will do. The quickstart shows the raw cURL form.