AI Transcription: Every Video Your App Records Becomes Analyzable Data
VIDTREO AI now transcribes every recording automatically — word-level timestamps, three formats, any language. Here's what your platform can do with video once it's text, and the signed-webhook infrastructure that delivers it.
TL;DR
- VIDTREO AI now transcribes every completed recording automatically — no API call, no polling, no extra vendor
- You get the transcript in three formats: WebVTT captions, word-level JSON with timestamps, and plain text — each built for a different job
- Language is auto-detected — your users record in Spanish, Portuguese, or English and it just works
- Video is the richest data your platform collects and the hardest to analyze. Text isn’t. Transcription turns every recording into something you can search, score, index, and feed to your own AI
- Delivery rides on infrastructure we already wired for you: signed webhooks, metadata echo, encrypted secrets, automatic retries
Video Is Your Blindest Data
Think about what’s inside the videos your platform records. A candidate explaining exactly why they left their last job. A student demonstrating whether they understood the assignment. A patient describing symptoms in their own words. A customer telling you precisely which feature made them churn.
All of it is there. And none of it is queryable.
You can’t SELECT from a video. You can’t full-text search an MP4. You can’t feed 400 hours of interviews to a scoring model as pixels. Video is simultaneously the highest-signal data your product collects and the only one your data stack can’t touch.
That’s the problem VIDTREO AI now solves at the platform level: every recording becomes analyzable text, automatically, the moment it completes.
The Pipeline: Recording In, Data Out
Enable AI Transcription for your environment — one toggle in the dashboard — and the pipeline runs itself:
User finishes recording
→ VIDTREO Recorder uploads the video
→ VIDTREO AI extracts the audio and transcribes it
→ Language auto-detected, word-level timestamps generated
→ Transcript stored in three formats (VTT, JSON, TXT)
→ Signed webhook delivers everything to your systems
No transcription API to integrate. No audio extraction step. No language configuration — a candidate in São Paulo records in Portuguese, a student in Madrid records in Spanish, and both come back transcribed.
Three Formats, Because Analysis Has Three Shapes
| Format | Content | Built for |
|---|---|---|
| WebVTT | Timed caption cues | Accessibility: drop straight into a <track> element for compliant playback |
| JSON | Word-level segments with start/end times | Analysis: search, jump-to-moment UIs, feeding LLMs and scoring models |
| TXT | Plain transcript | Indexing: full-text search, summaries, compliance archives |
The JSON format is the one that changes what you can build. Word-level timing means every word in every video is addressable: you know what was said and exactly when. That’s the primitive behind “show me the moment the candidate mentioned Kubernetes” and “jump to where the professor explains recursion.”
What Analysis Unlocks
The pattern across every industry is the same: once video is text, your existing data tooling — and your own AI — suddenly applies to it.
Hiring: Interviews Become Structured Signal
A video interview used to be a 20-minute watch. Now it’s a document:
- Search across hundreds of interviews for specific skills, tools, or phrases
- Feed transcripts to your scoring model and rank candidates before anyone presses play
- Jump to the exact moment a topic came up, with word-level timestamps
- Evaluate global candidates fairly — transcription works in the language they speak
Education: Every Lecture Is Searchable, Every Student Is Heard
- Accessibility compliance out of the box — WebVTT captions on every recording
- Content search — students find the minute a concept was explained, across a whole semester
- Submission review at scale — keyword and rubric checks on oral exams without watching every video
- Multi-language classrooms — students record in their native language
Telehealth: Documentation Without the Admin Burden
- Session transcripts filed to the patient record the moment the call ends
- Draft clinical notes from the conversation instead of typing from memory
- Timestamped, verifiable records for compliance — with access controlled by your systems
Customer Feedback: Hear Everything, at Scale
- Enrich support tickets with what the customer actually said
- Route and categorize by topic automatically
- Flag churn-risk phrases the moment the video lands
- Make every testimonial searchable for marketing and product teams
None of these require a new AI vendor on your side. They require the transcript — delivered as data, where your systems already live.
The Delivery Rail: Infrastructure You Don’t Have to Build
Analysis is only automatic if delivery is. This is where the platform infrastructure we’ve been building — webhooks, events, metadata — carries the feature.
When transcription completes, a transcriptions.transcription.completed event fires to your endpoint with everything attached:
{
"event": "transcriptions.transcription.completed",
"data": {
"transcription": { "language": "en", "wordCount": 812, "duration": 294.5 },
"video": {
"filename": "interview-final.mp4",
"userMetadata": { "candidateId": "cand_8231", "jobId": "job_114" }
},
"files": [
{ "format": "vtt", "url": "https://...", "expiresAt": "..." },
{ "format": "json", "url": "https://...", "expiresAt": "..." },
{ "format": "txt", "url": "https://...", "expiresAt": "..." }
]
}
}
Four properties make this production-grade rather than a notification:
Your metadata comes back. Whatever JSON you attached at upload — candidate ID, course ID, ticket number — is echoed in the payload. Your handler never queries a database to figure out which record the video belongs to. One handler, zero lookup tables:
app.post('/webhooks/vidtreo', async (req) => {
const { video, files } = req.body.data
const { candidateId, jobId } = video.userMetadata
await ats.advanceStage(candidateId, jobId, {
transcriptUrl: files.find(f => f.format === 'txt').url,
})
})
Every delivery is signed. An X-Webhook-Signature header carries an HMAC-SHA256 of the raw body, computed with your endpoint’s whsec_ secret. Secrets are encrypted at rest, shown exactly once at creation, and rotatable in one click. Verification is a few lines:
import { createHmac, timingSafeEqual } from 'node:crypto'
function isFromVidtreo(rawBody: string, signature: string, secret: string) {
const expected = `sha256=${createHmac('sha256', secret)
.update(rawBody)
.digest('hex')}`
const a = Buffer.from(signature)
const b = Buffer.from(expected)
return a.length === b.length && timingSafeEqual(a, b)
}
Compute over the raw body, compare in constant time — never ===.
Transcript URLs expire in 5 minutes. The file links are presigned and short-lived. A webhook payload leaked into a log doesn’t become a permanent open door to your users’ transcripts. Need the files later? GET /api/v1/videos/:videoId/transcription returns fresh URLs any time.
Failures don’t lose data. Deliveries retry automatically, exhausted events land in a dead-letter queue, and the dashboard shows full delivery history with one-click redelivery — single event, single delivery, or everything that failed in a time window. Your deploy-window outage is a 20-second redrive.
Full payload reference, header list, and verification guidance live in the webhooks documentation.
Getting Started
Three steps, no new vendor:
- Enable AI Transcription for your environment in the VIDTREO Dashboard — one toggle
- Create a webhook endpoint — HTTPS URL, store the
whsec_secret when it’s shown - Build on the transcript — the payload above is everything your handler receives
Transcription is included in the same $0.01/min — recording, transcoding, storage, delivery, and AI transcription in one bill.
Your videos have been talking this whole time. Now your platform can listen.
Start Building Free → AI Transcription Docs → Webhooks Docs →
Related Posts
Add Video Recording to React in 5 Minutes
A step-by-step tutorial on integrating browser-based video recording into your React app using the VIDTREO SDK.
AI Transcription & Summaries: Why Your Video Platform Needs Them Built In
AI transcription services cost $0.002-0.036/min and require complex integrations. Learn how VIDTREO bundles transcription and AI summaries into every recording at no extra cost.