Collections
Collections bind a bucket to a processing pipeline. You choose features — what you want to search by (visual similarity, faces, on-screen text, …) — and Mixpeek resolves the pipeline internally. When you submit a batch, the engine processes each object and produces searchable documents.GET /v1/collections/features — every modality’s unit, base feature, and add-ons (faces, on-screen text, layout, …), with live rates. Add-on features like faces create a companion collection over the same source, so each pipeline’s outputs stay independently versioned and queryable.
A single object can feed multiple collections — each extracting different features. Documents retain lineage to the source object via root_object_id.
Features guide → · Collection API →
Existing configs using explicit
feature_extractor objects keep working as a deprecated alias — see the migration guide. For advanced wiring (custom input mappings, field passthrough, parameters), see Pipeline Configuration.Know the cost before you run
POST /v1/organizations/billing/estimate quotes planned ingestion in dollars — same rating engine that bills you:
Embedding task
Instruction-aware embedding models use a task hint to optimize the embedding for a specific downstream use case. Setembedding_task at the collection level so it applies to every task-aware model in the pipeline.
| Task | Use Case | Default |
|---|---|---|
retrieval_document | Search: find documents from queries | Yes |
retrieval_query | Rare at index time — query-side is automatic | No |
semantic_similarity | Symmetric comparison (dedup, matching) | No |
classification | Document categorization pipelines | No |
clustering | Grouping documents into clusters | No |
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 ignore this setting.Feature URIs
Every extracted feature is addressed by a URI that pins it to a specific pipeline version:GET /v1/collections/{id}/features rather than constructing them by hand; see Pipeline Configuration.
Tiered pipelines
When a batch is submitted, the engine runs a DAG of pipelines:- Tier 1 collections process raw objects from the bucket
- Tier 2 collections consume Tier 1 documents as input
- Each tier waits for dependencies before executing
source and feature configuration. Dependencies are resolved automatically. See Multi-Tier Feature Extraction.
What Mixpeek extracts
| Modality | Unit | Base feature | Add-on features |
|---|---|---|---|
| Image | per image | image_search — visual embeddings | faces, multimodal_understanding |
| Video | per minute | video_search — scene embeddings | faces, onscreen_text, audio_fingerprint, multimodal_understanding |
| Audio | per minute | audio_search — acoustic fingerprint + embeddings | multimodal_understanding |
| Document | per page | document_search — page embeddings | faces, document_layout, multimodal_understanding |
| Text | per token | text_search — semantic embeddings | multimodal_understanding |
| Web | per crawled page | web_crawl — crawl + extract | — |
GET /v1/collections/features — see the Features guide.
Custom extractors
For extraction logic beyond the built-in features, build custom extractors:features: ["custom:my-extractor"] — it prices per unit from its declared compute profile, exactly like native features.
See the full custom extractors guide for manifest format, pipeline hooks, security constraints, and deployment lifecycle.
Custom Extractors →
