Business APIs
Audio in, transcripts out, kept as long as you need them. One header to authenticate, five output formats from a single job, and everything runs on our own GPUs — your audio is never sent to a third-party model.
# submit curl -X POST https://whipscribe.com/api/v1/transcribe/url \ -H "X-API-Key: $KEY" \ -H "Idempotency-Key: episode-4417" \ -d '{"url":"https://example.com/ep.mp3"}' → 202 { "job_id": "a1b2…", "status": "queued" } # collect, ~2 min for an hour of audio curl ".../jobs/$JOB/result?format=txt" \ -H "X-API-Key: $KEY"
What you get
The things you would otherwise build yourself on top of a raw speech-to-text endpoint.
txt, json, srt, vtt and docx are renderings of the same stored result. Ask for a second format and it costs nothing.
Transcripts and audio stay put. Nothing disappears because a trial ended or a retention clock ran out.
Send Idempotency-Key and a retried submit returns the original job instead of transcribing — and billing — twice.
Check up to 50 jobs in one call at 600 requests a minute. A per-job polling loop hits the limit long before it finishes.
Any audio or video container. Presigned and chunked uploads for anything a single POST would choke on.
Your audio is not sent to OpenAI, Google or AWS for inference, and no model is trained on it.
Quickstart
Create a key from your account, add credit, and run this.
One header on every request. Send it as X-API-Key, never as a Bearer token — that header is reserved for user sign-in.
A file, or a URL you control. The idempotency key is optional and you want it anyway.
POST /api/v1/transcribe/url
{ "url": "https://example.com/ep.mp3", "diarize": true }
Poll one job, or ask about fifty at once. An hour of audio is usually back in about two minutes.
GET /api/v1/jobs/{id}
POST /api/v1/jobs/status { "ids": ["a1b2…", "c3d4…"] }
Any format, plus the AI summary, quotes and topics — cached per job, so repeat reads are free.
GET /api/v1/jobs/{id}/result?format=srt
GET /api/v1/jobs/{id}/insights
Limits
| Plan | Requests/min | Minutes/day | Longest file | Completion callbacks |
|---|---|---|---|---|
| Free | 10 | 60 | 2 hours | poll |
| Pro | 60 | unlimited | 10 hours | poll |
| Enterprise | 120 | unlimited | 10 hours | webhooks |
Files up to 5 GiB on every plan. GET /v1/usage returns minutes today against your allowance, the month to date, queue depth and average job time — enough to build a budget guard without storing anything yourself.
Webhooks are enterprise-only. Sending webhook_url on another plan returns 403 TIER_FORBIDDEN and the job is not created — check GET /v1/me for your plan and keep a polling branch.
The chat endpoint needs a signed-in user, not an API key, so questions-about-a-transcript cannot be automated server-side today. /insights covers the summary, quotes and topics and does accept a key.
Get going
Create, rotate and revoke from the Business APIs panel, alongside your spend and remaining quota. Several keys share one balance and one library, so a leak in CI can be revoked without touching production.
Volume commitment, data-residency or on-premise question? Write to contact@neugence.ai and describe the workload.