Search your own video, images, and audio
Create a managed namespace and run this pipeline on your own files — transcripts, faces, on-screen text, and unified embeddings, searchable in minutes.
View on GitHub
Runnable reference for this extractor — inputs, parameters, output fields, embedding models, and copy-paste examples. Auto-generated from the live registry.
Both versions share the same pipeline (FFmpeg chunking, Whisper, thumbnails, Gemini vision) and differ only in the multimodal embedding step.
View extractor details at api.mixpeek.com/v1/collections/features/extractors/multimodal_extractor_v1 or multimodal_extractor_v2. You can also fetch programmatically with
GET /v1/collections/features/extractors/{feature_extractor_id}.Pipeline Steps
- Filter Dataset (if collection_id provided)
- Filter to specified collection
- Apply Input Mappings
- Detect Content Types (sample 100 rows)
- Identify: video, audio, image, text, or mixed
- Content Routing
- Video: FFmpeg chunking (time/scene/silence) → Steps 5-10
- Audio: FFmpeg audio chunking (time/silence) → Steps 5-8
- Image: Skip to Step 8
- Text: Skip to Step 8
- Mixed: Branch by type, process separately, union results
- Transcription (conditional: if
run_transcription=true, video/audio only)- Whisper API or Local GPU speech-to-text
- Transcription Embeddings (conditional: if
run_transcription_embedding=true)- E5-Large text embeddings (1024D) from transcribed audio
- Multimodal Embeddings (conditional: if
run_multimodal_embedding=true)- v1: Vertex AI embeddings (1408D)
- v2: Gemini Embedding 2 (3072D, configurable)
- Unified embedding space enables cross-modal search
- Thumbnail Generation (conditional: if
enable_thumbnails=true, visual content only)- 640px width at 85% quality, S3 upload with optional CDN
- Visual Analysis (conditional: if
run_video_descriptionORrun_ocr=true, visual content only)- Gemini-based descriptions and/or OCR text extraction
- Output
- Segment/document records with embeddings, transcriptions, descriptions, OCR, thumbnails
When to Use
When NOT to Use
Supported Input Types
Supported formats:
- Video: MP4, MOV, AVI, MKV, WebM, FLV
- Image: JPG, PNG, WebP, BMP
- GIF: Animated GIF
Input Schema
Provide one of the following inputs:Output Schema
Each video segment produces one document. Images and text produce one document each without segmentation.Segment & Timing Fields
Content Fields
URL Fields
Embedding Fields
- v1
- v2
Example Output
- v1
- v2
fps reflects the preprocessed video frame rate (e.g. 2.0 fps after downsampling). source_fps is the original video’s native frame rate (e.g. 29.97). Use source_fps when you need to map timestamps back to exact frame numbers in the original source file.Parameters
Video Splitting
Split Methods
- time
- scene
- silence
Fixed interval splitting - Splits video into segments of equal duration.
Characteristics:
- Predictable segment count:
video_duration / interval - Consistent chunk sizes for uniform processing
- May cut mid-sentence or mid-scene
Split Methods Comparison
Feature Extraction Parameters
Thumbnail Parameters
CDN benefits: Faster global delivery, permanent URLs, reduced bandwidth costs.
v2-Only Parameters
These parameters are only available onmultimodal_extractor v2:
At query time, Mixpeek automatically uses
RETRIEVAL_QUERY — you only need to set task_type at index time. The default RETRIEVAL_DOCUMENT is correct for most use cases.Embedding Task
Whenrun_transcription_embedding is enabled, the E5 model generates text embeddings from transcribed audio. By default, these use retrieval_document for asymmetric search.
Set
embedding_task at the collection level, not on the extractor. See Collection Embedding Task for full details and examples.This only affects the E5 transcription embeddings. Vertex AI multimodal embeddings (v1) and Gemini Embedding 2 (v2) are not instruction-aware and ignore this parameter.
Description Generation Parameters
LLM Structured Extraction
Natural Language Mode:
Configuration Examples
Performance & Costs
Processing Speed
Example: 10-minute video → 5-20 minutes processing time
Cost Estimates (per minute of video)
Images: 0.0001 per query
Vector Indexes
- v1
- v2
Choosing v1 vs v2
Recommendation: Use v2 for new projects. Use v1 if you have existing collections and don’t need higher dimensions or native audio embedding.
Limitations
- Video duration: Recommend < 2 hours for optimal processing
- Resolution: 8K+ videos should be downsampled
- Real-time: Not suitable for live streaming
- Short videos: < 5 second videos have disproportionate overhead
- Audio quality: Transcription accuracy depends on audio clarity
- OCR/Description: Add significant processing time, enable only when needed
Collection-to-Collection Pipelines
Thevideo_segment_url output enables decomposition chains:
- Initial collection: Time-based segments (5s intervals)
- Downstream collection: Scene detection within each segment
- Final collection: Enhanced processing with different models
Related
- Feature Extractors Overview
- Gemini Multifile Extractor — Embed multiple files per object into one vector
- Passthrough Extractor
- Text Extractor

