Skip to main content
Not yet available. This extractor is a design/roadmap page — it is not in the platform’s extractor registry today, and referencing it in a collection returns a validation error. For working alternatives see the extractor catalog.
Configuring collections by built-in extractor name is a deprecated path — collections are now created by picking features. This extractor does not yet have a direct feature-key replacement; existing feature_extractor configs keep working. See the migration guide.

Browse the extractor catalog on GitHub

Runnable reference for every built-in Mixpeek extractor — inputs, parameters, output fields, embedding models, and copy-paste examples. Auto-generated from the live registry, so it always matches production.
Course content extractor pipeline showing video segmentation, PDF extraction, code decomposition, and multimodal embeddings
The course content extractor decomposes educational content into atomic learning units optimized for semantic retrieval. Processes video lectures with automatic transcription, PDF slides with layout awareness, and code archives with function-level granularity. Each unit receives E5-Large text embeddings (1024D), Jina Code embeddings (768D) for code snippets, and optional SigLIP visual embeddings (768D) for figures and screenshots.
View extractor details at api.mixpeek.com/v1/collections/features/extractors/course_content_extractor_v1 or fetch programmatically with GET /v1/collections/features/extractors/{feature_extractor_id}.

Pipeline Steps

  1. Filter Dataset (if collection_id provided)
    • Filter to specified collection
  2. Content Detection & Routing
    • Auto-detect content type: video, PDF, or code archive
    • Route to appropriate processor
  3. Video Segmentation (if video input)
    • Scene-based segmentation or SRT subtitle-based segmentation
    • Extract transcripts via Whisper ASR (or use provided SRT)
    • OCR video frames for screen text detection
  4. PDF Decomposition (if PDF input)
    • Layout detection: paragraphs, headers, tables, lists, figures, code blocks
    • Layout-aware extraction per element or per page
    • Extract images and figures with bounding boxes
  5. Code Archive Processing (if code input)
    • Extract source files from ZIP archive
    • Segment code into individual functions/classes
    • Auto-detect programming language
  6. Multi-Modal Embedding Generation
    • E5-Large (1024D) for transcripts, PDF text, and captions
    • Jina Code v2 (768D) for code snippets and functions
    • SigLIP (768D) for figures, screenshots, diagrams (optional)
  7. LLM Enrichment (optional: if enrich_with_llm=true)
    • Generate summaries using Gemini
    • Add semantic context and key concepts
  8. Output
    • Learning units with text_content, code_content, screen_text
    • Layout types, timing info, language tags
    • Multiple embeddings per unit for diverse search scenarios

When to Use

When NOT to Use

Input Schema

Exactly one of video, pdf, or code_archive must be provided.
Input Examples:

Output Schema

Each learning unit produces one or more documents depending on content type and expand_to_granular_docs setting:

Parameters

Video Segmentation Parameters

Segmentation Methods

PDF Extraction Parameters

Code Extraction Parameters

Feature Extraction Parameters

LLM Enrichment Parameters

Configuration Examples

Performance & Costs

Vector Indexes

All three embeddings are stored as MVS named vectors for hybrid search:

Comparison with Other Extractors

Limitations

  • Video length: Optimized for videos up to 4 hours. Longer videos may require segmentation.
  • Transcription quality: Whisper ASR works best with clear audio; noisy lectures may have reduced accuracy.
  • Code extraction: Requires valid ZIP archives; loose files not supported.
  • Language support: Code embedding works with common languages; domain-specific DSLs have reduced accuracy.
  • PDF complexity: Complex layouts with nested tables may have reduced extraction quality.
  • Visual embeddings: Optional and add significant processing cost.