Submit any URL or file. Our API handles extraction, transcription, subtitle export, semantic search, and AI repurposing — all through a single clean REST interface.
import { WisprsClient } from '@wisprs/sdk';const client = new WisprsClient({ apiKey: process.env.WISPRS_API_KEY! });// Submit a YouTube URL for transcriptionconst job = await client.transcriptions.create({ source: { url: 'https://youtube.com/watch?v=dQw4w9WgXcQ' }, language: 'en',});// Wait for completion (polls every 2s)const result = await client.jobs.wait(job.id);console.log(result.transcriptText);// Export as SRT subtitlesconst srt = await client.transcriptions.export(job.id, { format: 'srt' });URL ingestion · async jobs · subtitle exports · searchable corpora · repurposing pipelines
YouTube, TikTok, Instagram, podcasts, direct audio/video files. One endpoint, any source.
Submit a job, get a job ID back immediately. We call your webhook when it's done. HMAC-signed.
Summaries, chapters, quote extraction, blog posts, Twitter threads — from any transcript.
Subtitle-ready formats in txt, srt, vtt, json, md, or docx. One line, any format.
Search your entire transcript library by meaning, not just keyword. Vector-powered.
Drop the Wisprs MCP server into any Claude or Cursor workflow. Voice ops for agents.
100%
Video coverage
We extract audio directly from any URL — no dependency on closed captions or platform embeds.
100+
Languages supported
Automatic language detection, or specify the language explicitly for best accuracy.
$0
Base transcription cost
No per-minute transcription fees on our base plan. Pay for API requests, not audio minutes.
Pay for what you use. No minimums, cancel anytime.
Need higher volume or SLAs? Talk to us →
Every operation is described in a machine-readable OpenAPI 3.1 spec with typed responses.
/api/v1/transcriptionsCreate a transcription job from a URL source/api/v1/jobs/{id}Poll job status: queued → processing → completed/api/v1/transcriptions/{id}Fetch transcript text and metadata/api/v1/transcriptions/{id}/exportExport as txt, srt, vtt, json, md or docx/api/v1/transcriptions/{id}/summaryStructured summary of a transcript/api/v1/transcriptions/{id}/repurposeShow notes, threads, blog drafts by mode/api/v1/library/searchSemantic search across your transcript library/api/v1/usageRequest counts and logs for your keyFull spec: openapi.json · openapi.yaml · interactive reference
Fully self-serve: create an account, generate an API key, make your first call in under two minutes.
Create a free account
Sign up on wisprs.co — the Free tier includes 30 transcription minutes per month and 100 API requests, no card required.
Sign up →Generate your API key
Self-serve key creation in Dashboard → Settings → API. Keys look like wisprs_sk_… and can be rotated anytime.
Dashboard →Make your first call
curl -H "Authorization: Bearer $WISPRS_API_KEY" https://wisprs.co/api/v1/usage — or use the CLI above.
Quickstart →All endpoints live under the current major prefix /api/v1/. Breaking changes ship only under a new major prefix — the previous major stays reachable for at least 6 months after its replacement goes live.
When an operation is deprecated, it is marked deprecated: true in the OpenAPI spec, and live responses carry standard Deprecation and Sunset HTTP headers with the removal date. Removed or renamed response fields are announced on this page and in the changelog before they ship.
Currently there are no deprecated operations. Questions about compatibility: contact us.