Reviewed by Stephen Hopkins, CTO Last updated

Speech-to-text API

Upload a file.
Get every word.
Ship the feature.

Add accurate audio and video transcription to your product with one REST API, in 54+ languages.

Every transcript comes back with speaker labels and word-level timestamps, ready to translate, subtitle or summarize through the same API. It is the engine behind the Sonix web app: 99% accuracy on clear audio, about 10x faster than real time.

99% accuracy
10x real time
54+ languages
Webhooks and callbacks
99%
Accuracy on clear audio
10x
Faster than real time
54+
Languages
5 to 6 min
Per audio hour

One API for transcription, translation, subtitles and analysis

Most speech recognition APIs stop at raw text, while the Sonix API returns a transcript that is already structured for whatever you build next.

Every capability below is a documented endpoint, so the transcript you fetch can become captions, a translation, an edited audio clip or a summary without leaving the API.

Batch transcription

POST a file to /v1/media, or pass a file_url for anything over 100MB, and Sonix transcribes it asynchronously. Set the language, add keywords to steer recognition toward names and jargon, attach custom_data for your own IDs, and give a callback_url so Sonix tells your server the moment the job completes or fails. Recordings with each speaker isolated on a separate channel can use the multitrack endpoint for channel-based speaker detection.

Translation

When a transcript is complete, POST a target language code to its translations endpoint and Sonix returns a translated transcript in any of 54+ languages. The transcript endpoints take a language parameter, so a Spanish SRT file of an English interview is a single GET request once the translation finishes.

Subtitles and captions

The SRT and VTT endpoints return caption files with real presentation controls: max_characters and max_duration cap each subtitle, subtitle_lines sets one or two lines, and speaker_display decides how speaker names appear. The split endpoint reflows a whole transcript into subtitles under a max_cps reading-speed limit, and the burn-in endpoint renders captions onto the video itself with your choice of font, size, color and aspect ratio, including 9:16 and 1:1 for social formats.

Exports and structured data

Fetch any transcript as JSON with start and end times for every word and speaker labels, as plain text, as a Word document or PDF ready to share, as SRT or VTT, or as an Avid DS file for video editors. The media export endpoint goes one step further: it cuts the audio or video itself down to your highlights, or removes everything you struck through, as MP3, WAV or MP4.

AI analysis

The summarization endpoint runs analysis on a finished transcript: a summary with the sentence count you choose, chapters, sentiment, thematic and topic analysis, entity extraction, or a custom prompt of your own, such as "Write 5 promotional tweets for this podcast".

Callbacks and webhooks

No polling loops required. Media and summarization jobs accept a callback_url, and Sonix POSTs the job status to it when the work completes or fails. For teams automating at scale, Pro and Enterprise plans add event webhooks: subscribe to transcription finished, translation finished, label and folder changes and redaction applied, each signed with HMAC-SHA256 in an X-Webhook-Signature header so your server can verify that every payload came from Sonix.

Real-time streaming

For live captions and low-latency speech to text, Sonix offers a streaming API over WebSocket, in early access for enterprise teams; request access on the real-time transcription page. Batch transcription is fully documented and self-serve today.

From audio file to transcript in three API calls

Authenticate with a Bearer token against https://api.sonix.ai/v1, submit the file, then fetch the transcript in the format you need.

Submit the file

Send the media as multipart form data with its language, a name, and optional keywords and custom_data:

curl -XPOST https://api.sonix.ai/v1/media -H "Authorization: Bearer <API Key>"  \
    -F file=@my_audio.mp3 \
    -F language=en \
    -F name='Podcast Episode 45' \
    -F keywords='Sonix, Bergamasco, Kairos, Chewbacca' \
    -F custom_data='{"internal_id": "123412", "customer_email": "[email protected]"}'

Check the status or wait for the callback

Poll the media object until its status is completed, or skip this step and wait for your callback_url:

curl -XGET https://api.sonix.ai/v1/media/qmnY1nD5 -H "Authorization: Bearer <API Key>"

Fetch the timestamped transcript

Request the JSON transcript, or swap the extension for .srt, .vtt or plain text:

curl -XGET https://api.sonix.ai/v1/media/qmnY1nD5/transcript.json -H "Authorization: Bearer <API Key>"

Multilingual recording? Set language=multi and list the expected languages in language_hints. The full parameter reference, response bodies and error codes live in the API documentation.

Build vs buy

A transcription API vs
self-hosting a model

What each route asks of your team once the model is downloaded.

What you needSonix APISelf-hosted open-source model
InfrastructureHosted by Sonix and billed on the audio you processGPUs, queues, retries, storage and monitoring you run
Speaker labelsIn every transcript, plus multitrack channelsA separate diarization system to add
Subtitles and exportsJSON, text, DOCX, PDF, SRT, VTT, Avid DS and burn-inLine-splitting, formatting and rendering to build
Translation54+ languages from the same APIAnother model or vendor to integrate
Model upgradesMaintained by Sonix behind a stable APIA migration you re-benchmark each time
ComplianceSOC 2 Type II, HIPAA with a BAA, GDPR with a DPAYour own audit scope from day one

Endpoint details are in the API documentation; plans and rates are on the pricing page.

Build vs buy: a transcription API or self-hosted Whisper

Open-source speech models made running transcription yourself a real option, and for some teams it is the right one; for most, the model is the smallest part of the work.

What self-hosting actually costs

The model download is free, but production is not. Self-hosting means GPU capacity that sits idle between jobs or falls over under spikes, a queue with retries and failure handling, secure storage for the audio, and monitoring for all of it. That is an ongoing infrastructure project with an on-call rotation. With a transcription API, the cost is a rate on the audio you actually process, and the integration is the three calls above.

What you rebuild around the model

A raw speech model returns text, and products need more than text. Speaker labels, subtitle line-splitting with reading-speed limits, translation, burned-in captions, media exports and summaries are each a separate system to build and maintain around the model. The Sonix API returns all of them from one documented surface.

Accuracy and language upkeep

A self-hosted model stays at the checkpoint you deployed, and every upgrade is a migration you own and re-benchmark against your own audio. Sonix maintains the models behind the API, delivers 99% accuracy on clear audio in 54+ languages, handles mixed-language files in a single request, and takes per-request keywords so you can steer recognition toward names and jargon without training anything.

Compliance comes with the product

If customer audio touches your pipeline, so do your auditors. Sonix is SOC 2 Type II certified, HIPAA compliant with a signed BAA, and GDPR compliant with a DPA and SCCs. Data is encrypted with TLS in transit and AES-256 at rest and is never used to train models. The security page has the details.

When self-hosting makes sense

Self-hosting wins when audio is contractually barred from leaving your infrastructure, when you run air-gapped environments, or when an ML team customizes models for a living and steady volume keeps dedicated GPUs busy. If none of those describe you, an API gets you to production faster, and a free trial shows the difference on your own audio before you commit.

Four things teams build with the Sonix API

Most integrations follow one of four patterns, and each one runs on the documented endpoints above.

Media and content pipelines

Wire transcription into your CMS or video pipeline so every upload gets a searchable transcript and SRT or VTT captions, in the source language and translated. Media teams use this to make whole archives searchable and accessible without a manual captioning step.

Meeting and call platforms

Transcribe recorded meetings and calls with speaker labels, then run summaries, chapters and sentiment on each one. When each speaker sits on a separate channel, the multitrack endpoint separates the agent from the customer exactly, which is what quality and compliance reviews need.

Research and analysis tools

Submit interviews and focus groups as they arrive, get back speaker-labeled, timestamped transcripts, and run the analysis you need on each one. Timestamps make every quote traceable to its moment in the source recording.

Accessibility workflows

Generate captions that respect real presentation limits on characters, duration and reading speed, burn them into video for platforms without caption support, and translate them for global audiences. Healthcare and public-sector teams run this on Sonix's SOC 2 Type II and HIPAA-compliant infrastructure.

No code required: the MCP server, the CLI and Zapier

Not every integration is an application, so Sonix also ships an MCP server for AI assistants, a command-line tool and a Zapier app.

The Sonix MCP server at https://api.sonix.ai/mcp lets MCP-compatible assistants such as Claude, ChatGPT, Cursor and Codex browse your media library, pull transcripts into a conversation and generate exports on your behalf. It is read-only, and sign-in is OAuth 2.1 in your browser: approve the connection once, with no API key to paste.

For scripting, the official Sonix CLI (npm install -g @sonix-ai/cli) wraps the REST API in terminal commands, with --wait to poll a job until it finishes, --json for piping into other tools and --format for txt, SRT, VTT, JSON or Avid DS output. It is built for AI coding agents too: sonix agent-context prints the whole command surface as JSON in one call. Setup is in the CLI documentation.

Prefer no code at all? Sonix on Zapier connects Sonix to thousands of apps, and the integrations page lists every native connection.

API pricing matches the web app

There is no separate API rate card: API usage draws on the same hours as web uploads and is billed on the audio you process, prorated to the second.

API access is included on the Core, Advanced, Pro and Enterprise plans. Core is $25 a month with 5 hours of transcription and translation included, and additional hours on any plan are $10 an hour. Pro and Enterprise plans add event webhooks, so your systems react the moment a transcript is ready. Compare every plan on the pricing page.

Security built for regulated audio

The API runs on the same infrastructure that carries Sonix's SOC 2 Type II, HIPAA and GDPR compliance.

Data is encrypted with TLS in transit and AES-256 at rest, you can generate a new API key from your account at any time, and customer audio and transcripts are never used to train models. Certifications and agreements are on the security page.

Common questions

The Sonix API, answered

Is there a free tier for the API?

Every new Sonix account starts with a free trial that includes 30 minutes of transcription, no credit card required. Full API access is part of the Core, Advanced, Pro and Enterprise plans, and trial users can email [email protected] to request an API key for evaluation. API usage bills against the same balance as the web app, so testing costs the same either way.

Does the API do speaker diarization?

Yes. Transcripts come back with speaker labels in the JSON, text and subtitle outputs, and the JSON pairs them with word-level timestamps. If your audio has each speaker isolated on a separate channel, the multitrack endpoint uses channel-based speaker detection for exact attribution, which call centers use to separate the agent from the customer.

Should I use batch or streaming?

Batch is the default: submit a file, get a callback, fetch the transcript, at about 10x faster than real time. It is fully documented and self-serve. Real-time streaming over WebSocket exists for live captioning and is in early access for enterprise teams; request it on the real-time transcription page.

What file formats can I upload?

Common audio and video formats, including MP3, WAV, M4A, MP4 and MOV. Upload a file directly as multipart form data up to 100MB, or pass a file_url for larger media and Sonix fetches it. Either way, the response is the same media object, with a status you can poll or receive by callback.

Which formats does the API return?

JSON with word-level timestamps and speaker labels, plain text, Word (DOCX) and PDF documents, SRT and VTT subtitle files with caption-length controls, and an Avid DS export for video editors. Every JSON transcript includes a quality score for the whole file, and word-level confidence scores can be turned on for your account on request. Media exports return MP3, WAV or MP4 cut to your highlights, and the burn-in endpoint returns video with the subtitles rendered onto it.

Does the API support webhooks?

Yes, two ways. Any transcription or summarization job accepts a callback_url, and Sonix POSTs the job status to it on completion or failure, so you never poll. Pro and Enterprise plans go further with event webhooks, such as transcription finished or redaction applied, signed with HMAC-SHA256 so your server can verify each payload.

Can the API transcribe a file that contains multiple languages?

Yes. Submit with language=multi and list the expected languages in the language_hints parameter, and Sonix transcribes the mixed-language audio in one job. For single-language files, pass one of the 54+ supported language codes. Completed transcripts can then be translated into other languages through the translations endpoint.

Is the Sonix API HIPAA compliant?

Yes. The API runs on the same HIPAA-compliant infrastructure as the rest of Sonix, with a Business Associate Agreement through Medical Sonix, SOC 2 Type II certification and GDPR compliance with a DPA and SCCs. Data is encrypted with TLS in transit and AES-256 at rest, and customer audio and transcripts are never used to train models.

Start building

Make your first request
in minutes

Create an account, generate your API key and send your first file. Your trial includes 30 minutes of transcription, and the API documentation covers everything else.

99% accuracy. Every word matters.

AI transcription and translation in 54+ languages.

30 minutes free
No credit card
Cancel anytime