VideoTextConverter
Extract spoken dialogue, on-screen text, and scene descriptions from video files using multimodal AI. Produces time-stamped transcripts with speaker diarization and OCR-detected overlays.
How It Works
Upload your video file or provide a URL to the Mixpeek API.
The audio track is separated and transcribed with automatic speaker diarization.
Frames are sampled and analyzed for on-screen text via OCR.
Scene descriptions are generated using a vision-language model.
All outputs are merged into a single time-stamped transcript.
Code Examples
import os, requests
API = "https://api.mixpeek.com"
H = {"Authorization": f"Bearer {os.environ['MIXPEEK_API_KEY']}",
"X-Namespace": os.environ["NAMESPACE_ID"]}
# 1. a bucket, with a schema that declares the field you will send
bucket = requests.post(f"{API}/v1/buckets", headers=H, json={
"bucket_name": "video-inputs",
"bucket_schema": {"properties": {"video": {"type": "video"}}},
}).json()
# 2. land the file as an object. the URL goes in data, on the blob
requests.post(f"{API}/v1/buckets/{bucket['bucket_id']}/objects", headers=H, json={
"key_prefix": "run-1",
"blobs": [{"property": "video", "type": "video",
"data": "https://example.com/clip.mp4"}],
})
# 3. a collection over that bucket, running the extractor
collection = requests.post(f"{API}/v1/collections", headers=H, json={
"collection_name": "video-to-text",
"source": {"type": "bucket", "bucket_ids": [bucket["bucket_id"]]},
"feature_extractor": {"feature_extractor_name": "multimodal_extractor", "version": "v1"},
}).json()
# 4. run extraction over the bucket
requests.post(f"{API}/v1/buckets/{bucket['bucket_id']}/batches", headers=H, json={
"collection_ids": [collection["collection_id"]],
"auto_submit": True,
})
# 5. read the output
docs = requests.get(
f"{API}/v1/collections/{collection['collection_id']}/documents", headers=H
).json()
print(docs)Use Cases
Supported Input Formats
Quick Info
Run it over a library
Mixpeek runs this conversion as a pipeline over a whole library in your object storage, with the output landing as queryable documents. It is not a single-file converter.
Frequently Asked Questions
Related Converters
Video to Keyframes
Automatically detect scene changes and extract representative keyframes from any video. Each keyframe includes a timestamp, scene label, and optional caption generated by a vision model.
Video to Embeddings
Generate dense vector embeddings for video content using multimodal models. Embeddings capture visual, audio, and temporal features, enabling semantic search and similarity matching across video collections.
Video to Summary
Produce concise written summaries of video content by combining transcript analysis, scene understanding, and key moment detection. Summaries can be formatted as paragraphs, bullet points, or structured chapters.
Audio to Text
Transcribe audio files into text with high accuracy. Supports speaker diarization, punctuation restoration, timestamps, and over 50 languages. Handles podcasts, calls, meetings, and broadcast audio.
Ready to convert video to text?
Start using the Mixpeek Video to Text in minutes. Sign up for a free API key and follow the documentation to get started.