image_search, faces, onscreen_text, …), and the platform resolves the implementation internally. Built-in extractor names — image_extractor, universal_extractor, face_identity_extractor, and friends — are internal implementation details and no longer appear in new API payloads, errors, or docs.
Nothing breaks. Existing configs and SDK clients that pass feature_extractor: {...} keep working: known built-in extractor names are accepted as deprecated aliases and resolved to their feature through the same catalog that powers the features path. Responses carry a deprecation notice pointing at features: [...].
This page is the one place old names are documented, for migration. Custom extractors you publish yourself are not deprecated — your plugin is your vocabulary, selected as
custom:<plugin_name>.Alias map
The live menu — including keys, display names, and rates — is always
GET /v1/collections/features (discovery).
Before / after
Before (still works, deprecated):input_mappings for the standard uploads bucket properties (image, video, audio, pdf, content, url) — see default input wiring. If you need explicit input mappings, field passthrough, or extractor parameters, the feature_extractor config object remains the advanced path.
What you don’t need to migrate
- Existing collections — they keep running unchanged. Aliases have no sunset date.
- Feature URIs — query-side references like
mixpeek://text_extractor@v1/...in existing retrievers remain valid contracts; they pin the pipeline version that produced your vectors. - Custom extractors — your own plugins keep their explicit names.

