Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.mixpeek.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Collections

Collections bind a bucket to a feature extractor. When you submit a batch, the engine runs the extractor against each object and produces searchable documents.
curl -X POST "https://api.mixpeek.com/v1/collections" \
  -H "Authorization: Bearer $MIXPEEK_API_KEY" \
  -H "X-Namespace: $NAMESPACE_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "collection_name": "product-embeddings",
    "source": { "type": "bucket", "bucket_id": "'$BUCKET_ID'" },
    "feature_extractor": {
      "feature_extractor_name": "multimodal_extractor",
      "version": "v1",
      "input_mappings": { "image": "payload.hero_image", "text": "payload.product_text" }
    }
  }'
A single object can feed multiple collections — each running a different extractor. Documents retain lineage to the source object via root_object_id. Collection API →

Embedding Task

Instruction-aware embedding models (E5, Gemini) use a task hint to optimize the embedding for a specific downstream use case. Set embedding_task at the collection level so it applies to every task-aware model in the pipeline.
curl -X POST "https://api.mixpeek.com/v1/collections" \
  -H "Authorization: Bearer $MIXPEEK_API_KEY" \
  -H "X-Namespace: $NAMESPACE_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "collection_name": "product-clusters",
    "embedding_task": "clustering",
    "source": { "type": "bucket", "bucket_ids": ["'$BUCKET_ID'"] },
    "feature_extractor": {
      "feature_extractor_name": "text_extractor",
      "version": "v1",
      "input_mappings": { "text": "product_text" }
    }
  }'
TaskUse CaseDefault
retrieval_documentSearch: find documents from queriesYes
retrieval_queryRare at index time — query-side is automaticNo
semantic_similaritySymmetric comparison (dedup, matching)No
classificationDocument categorization pipelinesNo
clusteringGrouping documents into clustersNo
You almost never need to set this. The default retrieval_document is correct for search, and at query time Mixpeek automatically uses retrieval_query. Only override for clustering, classification, or symmetric similarity.
Non-instruction-aware models (SigLIP, CLIP, Vertex multimodal) ignore this setting.

Feature URIs

Every extracted feature is addressed by a URI that pins it to a specific extractor version:
mixpeek://{extractor_name}@{version}/{output_name}
Examples:
  • mixpeek://multimodal_extractor@v1/multimodal_embedding
  • mixpeek://text_extractor@v1/text_embedding
  • mixpeek://face_detector@v1/face_embedding
Feature URIs are referenced by retriever stages, taxonomies, and clustering jobs. They guarantee query-time compatibility with the extraction pipeline — swap the URI, re-embed, everything downstream stays consistent.

Tiered Pipelines

When a batch is submitted, the engine runs a DAG of extractors:
  1. Tier 1 collections process raw objects from the bucket
  2. Tier 2 collections consume Tier 1 documents as input
  3. Each tier waits for dependencies before executing
video → scenes (Tier 1) → faces per scene (Tier 2) → expressions per face (Tier 3)
Collections define the pipeline through their source and feature_extractor configuration. Dependencies are resolved automatically.

Built-in Extractors

ExtractorModalityOutput
MultimodalVideo, image, audioVertex AI 1408D embeddings, transcripts, scene descriptions
TextTextE5-Large 1024D embeddings
ImageImageSigLIP 768D embeddings, descriptions, structured extraction
Face IdentityVideo, imageArcFace 512D face embeddings, bounding boxes
DocumentPDF, DOCXText chunks, OCR, embeddings
Gemini Multi-fileAnyGemini-powered cross-file analysis
Web ScraperURLsScraped text content + embeddings
Course ContentVideoLecture segments, slides, transcripts
PassthroughAnyForward metadata without extraction
See the full Extractor Reference for configuration details.

Custom Extractors

For extraction logic beyond built-in models, build custom extractors:
pip install mixpeek
mixpeek plugin init my-extractor     # Scaffold from template
mixpeek plugin test my-extractor     # Validate locally
mixpeek plugin publish my-extractor  # Upload and deploy
Custom extractors run on managed infrastructure with access to GPU/CPU resources, HuggingFace models, and LLM services. They support batch processing, real-time endpoints, and custom model loading. See the full extractors guide for manifest format, pipeline hooks, security constraints, and deployment lifecycle. Extractor API →