Transcription & Professional Video Subtitle API on EU Servers — Inwista API v1
Today we're opening up the machinery behind Inwista: the API v1 is live. Everything our studio does with a recording — speech-to-text in 70+ languages with automatic speaker identification, subtitles formatted to broadcast standards, subtitle translation on the same file — is now available as building blocks for your own systems.
It's a small but complete transcription API: eight endpoints across four resources. You create a transcription from a media URL — a file on your storage, or simply a YouTube, TikTok or Vimeo link — then pull captions in four formats (SRT and VTT subtitle files, plain-text transcripts, or structured JSON with timestamps and speakers), run configurable broadcast-grade subtitle enhancement, and translate the same subtitles into any of 70+ languages. Webhooks tell your systems when jobs finish, and every enhancement and translation is a pinned, retrievable revision.
Billing couldn't be simpler: the API spends the same AI credits as everything else in Inwista. No separate API contract, no new meter to learn — 4 credits per started minute of media, drawn from your plan's monthly credits first and one-time credit packs for anything beyond, with automatic refunds when a job fails. Everything is processed with full EU data residency, on our own servers inside the EU/EEA — never shared, never used to train AI models.
curl -X POST https://api.inwista.ai/v1/transcriptions \
-H "Authorization: Bearer inw_live_…" \
-d '{ "source_url": "https://cdn.example.com/episode-04.mp4", "language": "en", "diarization": true }'
Put those pieces in the middle of a real workflow and they remove steps that entire teams currently do by hand. Here's what automatic transcription and captioning look like in five different worlds.
Automated broadcast captioning for production companies
A post-production house delivering a ten-episode series currently ends every project the same way: exports go to a captioning vendor, files come back days later, someone spot-checks them, a revision goes back, and the delivery deadline absorbs it all.
With the API in the pipeline, the render that lands in storage triggers a transcription, subtitle enhancement applies your house style, and the finished SRT file arrives back through a signed webhook URL, straight into the MAM. A 45-minute episode is 180 credits — and captioned before the edit suite has moved on.
And "house style" is not a metaphor — the `/enhance` endpoint takes the same rules a broadcast subtitle style guide does, as explicit settings:
- Line geometry: `maxCharactersPerLine` (default `42` — the broadcast convention) and `maxLinesPerBlock` (1 or 2)
- Line balancing: `blockLineBalancing` — `bottom_heavy`, `top_heavy`, `equal` or `unconstrained`
- Timing: `minBlockDuration` and `maxBlockDuration` in seconds, so no subtitle flashes by or overstays
- Density: `textCondensation` — `none`, `smart` or `aggressive` — when verbatim won't fit the reading window
- Dialogue: `speakerDialogueFormat` — hyphens, bracketed labels, or full speaker names
- Continuity: `continuationMarkers` at block starts/ends, styled as dashes or ellipses
- Delivery target: `gapBetweenBlocks` presets for `broadcasting`, `streaming` or `sdh`
curl -X POST https://api.inwista.ai/v1/transcriptions/{id}/enhance \
-H "Authorization: Bearer inw_live_…" \
-d '{ "settings": { "maxCharactersPerLine": 37, "blockLineBalancing": "bottom_heavy", "textCondensation": "smart" } }'
The same transcript, re-cut per delivery target — closed captions for broadcast, another pass for streaming, an SDH version for accessibility — and each one is a pinned revision: when a broadcaster asks which subtitle version was delivered in March, that exact file is reproducible by ID. Caption QC stops being an argument about email attachments.
Caption university lectures at scale — WCAG and EAA compliance
The European Accessibility Act turned video captions from a courtesy into a compliance requirement, and most institutions are sitting on the same problem: a decade of recorded lectures, and a captioning quote that reads like a construction project. Billed the traditional way, per minute of human work, an 800-lecture back-catalog becomes a budget meeting — so it stays uncaptioned.
Through the API, that same catalog is a loop: fetch each recording from storage, transcribe, pull the VTT file, attach it in the LMS. At 4 credits per minute it runs overnight instead of over a semester, and the accessibility backlog becomes WCAG-compliant captions on every lecture. The flagship courses go one call further: `/translate` turns the same subtitle files into multilingual subtitles in the languages your students actually speak, timing inherited from the source.
Transcribe YouTube videos and podcast archives with one call
Media teams rarely have tidy source files for their back-catalog. What they have is links. The API accepts YouTube and Vimeo URLs directly, which turns "make the archive searchable" from a migration project into an afternoon script: loop over the channel, transcribe each episode with speaker labels, publish the podcast transcript under each episode page.
What that buys, concretely: a 400-episode interview archive becomes full-text searchable for the editorial team, quotable for social clips, indexable by search engines — and accessible, which platforms and grant applications increasingly ask about. No re-uploading, no storage bill, no intern with headphones.
A GDPR-compliant speech-to-text API for product teams
Plenty of products want a "Generate subtitles" button — video platforms, interview tools, LMS vendors, court-tech, HR software. The engineering is rarely the blocker; the vendor review is. Somewhere between "sends customer recordings to a US cloud" and "may use content for model training," legal says no.
Inwista's API is the version of that conversation that ends quickly: a GDPR-compliant transcription API with processing exclusively on our own EU/EEA servers, content never shared with third parties, never used for training — sentences you can put in your own privacy policy. The engineering side is built for production use too: idempotency keys on every write, predictable rate limits, atomic billing with automatic refunds, and a `metadata` field that carries your own reference IDs through the whole flow, so webhooks land back in your system already tagged.
SDH captions for public meetings, same afternoon
Councils and public bodies stream hours of meetings every week, and the accessibility expectation is only moving one way. A three-hour council meeting captioned by hand is a real invoice; through the API it's 720 credits and done the same afternoon — transcribed with speaker labels, formatted with the SDH gap preset, published alongside the recording. Where communities speak more than one language, the same subtitles translate in one more call.
For procurement, the questions that usually take a meeting are answered in one line: EU/EEA processing, GDPR, no training on content, deletion under your control.
Every plan includes API credits — even the free one
Because the API spends your regular AI credits, there's nothing extra to buy before trying it. The free plan includes 100 credits every month — enough for about 25 minutes of API transcription, renewed monthly, so you can build your integration and keep a small workflow running without paying anything. (The free plan's 45 studio minutes are separate: use those to inspect transcripts and subtitle styling hands-on in the app before you write a line of code.)
Paid plans include 1000–2500 credits monthly, and one-time credit packs — which never expire — cover everything beyond. Failed jobs refund themselves automatically, back to wherever the credits came from.
The full reference — authentication, webhooks, formats, error handling — lives at our API Documentation. If you're building something bigger, or need volume pricing for a real backlog: sales@inwista.ai.
FAQ
What can this transcription API accept?
Public media URLs — audio or video files, or YouTube, TikTok and Vimeo links directly. 70+ languages, with automatic speaker identification (diarization).
What does it return?
SRT, VTT, TXT or structured JSON — plus broadcast-formatted and translated versions of the same subtitles on request.
Can I control the subtitle formatting?
Yes — characters per line, lines per block, line balancing, timing bounds, text condensation, dialogue markup, continuation markers, and gap presets for broadcast, streaming or SDH delivery are all explicit settings on the enhancement endpoint.
Can I try the API for free?
Yes. The API deducts from the same AI credits as the rest of Inwista, and every plan includes a monthly allowance — 100 credits on the free plan, roughly 25 minutes of transcription each month.
Is the API GDPR-compliant?
Yes — all processing runs on Inwista's own servers inside the EU/EEA. Content is never shared with third parties and never used to train AI models.
What does it cost?
4 credits per started minute, drawn from your plan's monthly AI credits first and one-time credit packs — which never expire — for the rest. Failed jobs are refunded automatically.
How fast is it?
About ten minutes of processing per hour of audio.