API reference
A REST API with no surprises in it
JSON in, JSON out, signed webhooks for anything that takes longer than a request should. Available on the Scale plan.
Authentication
Bearer token in the Authorization header. Keys are created in the dashboard, scoped per workspace, and revocable individually — so a key that leaks into a repository costs you one rotation, not a migration.
Idempotency
Send an Idempotency-Key header on any POST. A retried request with the same key returns the original response and never charges tokens twice. Keys are retained for 24 hours.
Rate limits
60 requests per minute per key by default, and 4 concurrent transcription jobs. Current usage is returned on every response in X-RateLimit-Remaining.
Quick start
export VOICETAPP_KEY="vt_live_…"
curl https://api.voicetapp.com/v1/transcriptions \
-H "Authorization: Bearer $VOICETAPP_KEY" \
-H "Idempotency-Key: call-2026-08-14-northwind" \
-F "file=@customer-call.m4a" \
-F "speakers=auto" \
-F "webhook=https://you.example/hook"
# 202 Accepted
# { "id": "trs_9f2a41", "status": "queued" }Endpoints
| Method | Path | Description |
|---|---|---|
| POST | /v1/transcriptions | Upload audio or video. Returns a job id; completion arrives by webhook. |
| POST | /v1/generations | Run any writing, image or code tool with a template id and inputs. |
| POST | /v1/voiceovers | Render narration from a document id or raw text, in any supported language. |
| GET | /v1/documents | List and search documents. Supports cursor pagination and full-text query. |
| GET | /v1/documents/:id | Fetch one document as Markdown, HTML or plain text. |
| GET | /v1/usage | Token and minute consumption for the current billing period. |
Error codes
- 401
- Missing or invalid API key.
- 402
- Token balance exhausted. Buy a pack or wait for the monthly reset.
- 413
- File exceeds the 100MB per-upload ceiling.
- 422
- Valid JSON, invalid parameters. The body names the offending field.
- 429
- Rate limited. Retry after the seconds given in Retry-After.