Tools
Video Transcription API
Submit any video file. Get back a full transcript with timestamps. MP4, MOV, WebM, and more.
Try it below:
Transcribe video files
Upload a video file or submit a URL, get a transcript back.
What is Exabase's video transcription API?
Submit a video file to the Exabase Extract API and get a transcript back. The API extracts the audio track, transcribes it, and returns the full transcript text alongside timestamped chunks. Each chunk carries timeStart and timeEnd in seconds, so you can map any piece of text back to the exact moment in the video. MP4, MOV, AVI, WebM, MKV, and other major formats are supported.
The same POST /v2/extract endpoint accepts both file uploads and URLs pointing to hosted video. Transcription runs on Exabase's infrastructure. No FFmpeg for demuxing, no speech-to-text model to deploy, no GPU to provision.
What you get back
The response includes the full transcript in extraction.media.transcript and the transcript split into chunks. Each chunk carries a timeStart, timeEnd, and the transcript text for that segment. You also get video duration, frame dimensions (width and height), MIME type, file size, total chunk count, and a CDN-hosted thumbnail. The API reference has the complete response schema.
One multi-modal API
The same POST /v2/extract endpoint handles every content type Exabase supports. For video, it extracts the audio track and returns timestamped transcript chunks alongside frame dimensions. For audio files, it does the same without the visual metadata. For PDFs, it returns text chunks with page numbers and (for recognised document types) structured field extraction. For images, it runs OCR. For web pages, it renders JavaScript and extracts the content.
The submission flow is identical across all types: one endpoint, one SDK method, one webhook configuration. You learn the pattern once and use it for everything. The Extract docs cover each content type in detail.
What you can build with it
Transcribe recorded presentations and make every slide's narration searchable. Build a video library where users find the right clip by searching spoken content instead of scrubbing through footage. Generate subtitle files from the timestamped chunks. Process training videos and let employees search for specific instructions by keyword.
Store transcribed video as Resources in a Base and the transcript becomes searchable through Deep Search at the chunk level. Feed timestamped chunks into a RAG pipeline so your agent can cite the exact moment in a video. Workers can process new recordings as they arrive, keeping your transcript index current without manual work.
Beyond transcription
The Extract API returns more than a transcript. You get video duration, frame dimensions, MIME type, a CDN-hosted thumbnail, and searchable chunks. Store the output as a Resource and it's searchable through Deep Search immediately. Extract key details into Memory so your agent retains what it saw between sessions. The Submitting Jobs guide at https://exabase.io/docs/developer-guide/extraction/submitting-jobs walks through the full flow.
How do I use it?
Get your API key
Free, no credit card:
Sign up at exabase.io and copy your API key from the dashboard.
Submit a video file
Using the SDK (Node.js):
Get the result
Poll the job until state reaches completed, or skip polling entirely with webhooks.
One API call. No FFmpeg, no speech-to-text model, no GPU.
Why Exabase
Works with other Exabase features
Use cases
FAQs
What is Exabase?
Exabase is infrastructure for AI agents. It gives your agents memory, versioned file storage, AI deep search, and context automation through a set of APIs. Store what your agent learns, search inside any content type, and keep knowledge bases current automatically. Built for production use. Give your agent precise context and cut your token spend by up to 81%.
Who uses Exabase?
Developers and teams building AI agents, copilots, and RAG applications. If your agent needs to remember things between sessions, store and retrieve files, search across documents and media, or stay up to date without manual maintenance, Exabase handles that infrastructure so you can focus on your product.
How fast is transcription?
Processing time depends on the file length, resolution, and format. Processing is asynchronous, so your application is not blocked while transcription runs. Poll for results or configure a webhook to be notified on completion.
What video formats are supported?
MP4, MOV, AVI, WebM, MKV, and other major video formats. The API auto-detects the content type and processes accordingly.
Does it transcribe on-screen text as well as speech?
The API transcribes the audio track. It does not perform OCR on video frames. For text visible on screen (slides, captions burned into the video), the spoken narration is captured but the on-screen text is not extracted separately.
Does it support speaker diarisation?
The API returns a full transcript split into timestamped chunks. Speaker diarisation (identifying who said what) is not currently a separate output field.
Can I submit a URL instead of uploading a file?
Yes. Pass a url field in the request body pointing to a publicly accessible video file. Exabase fetches and processes it.
Do I have to poll for results?
No. You can configure a webhook URL and Exabase will POST the full result to your server when processing completes. The webhooks guide covers setup.
Is there a file length limit?
Processing is asynchronous with no hard recording-length limit. Long files take proportionally longer to process.
Does it extract visual content from video frames?
The API extracts the audio track and transcribes it. It returns frame dimensions and a thumbnail, but does not perform frame-by-frame visual analysis or object detection. We are working on this capability.
What happens if transcription fails?
The job state moves to failed. You can call the reprocess endpoint to retry without re-uploading the original file.
How long are files retained?
Stored files are retained for 1 day from job creation, then permanently deleted. Download or copy anything you need before the retention window expires.
How is this different from the Video to JSON tool?
The Video to JSON page covers the full extraction response: metadata, duration, dimensions, thumbnail, transcript, and chunks. Video Transcription focuses specifically on the transcript and timestamped chunks. Same underlying API, different emphasis.
How is this different from the Audio Transcription tool?
Both use the same POST /v2/extract endpoint and return timestamped transcript chunks. The difference is the input: Video Transcription accepts video files (MP4, MOV, etc.) and extracts the audio track before transcribing. Audio Transcription accepts audio files (MP3, WAV, etc.) directly.
Can I use the transcript with other Exabase features?
Yes. Store transcribed video as a Resource in a Base and the transcript becomes searchable through Deep Search. Extract key details into Memory so your agent retains what it saw. Workers can process new recordings on a schedule.
Is there an SDK?
Yes. The @exabase/sdk package for Node.js/TypeScript handles file streaming, job polling, and chunk retrieval. Install with npm install @exabase/sdk. Or call the REST API directly from any language.
What other content types does Extract support?
PDFs, images (with OCR), audio files (with transcription), web pages, and documents. The same POST /v2/extract endpoint handles all of them. See the PDF to JSON, Image to Text, Audio Transcription, and Website to JSON tool pages.