Skip to content
VoiceTapp

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

MethodPathDescription
POST/v1/transcriptionsUpload audio or video. Returns a job id; completion arrives by webhook.
POST/v1/generationsRun any writing, image or code tool with a template id and inputs.
POST/v1/voiceoversRender narration from a document id or raw text, in any supported language.
GET/v1/documentsList and search documents. Supports cursor pagination and full-text query.
GET/v1/documents/:idFetch one document as Markdown, HTML or plain text.
GET/v1/usageToken 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.

The API ships with the Scale plan.

Free tokens on signup · Cancel anytime · GDPR-ready