curl --request GET \
--url https://api.mixpeek.com/v1/discovery/extractors \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.mixpeek.com/v1/discovery/extractors"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.mixpeek.com/v1/discovery/extractors', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mixpeek.com/v1/discovery/extractors",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.mixpeek.com/v1/discovery/extractors"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.mixpeek.com/v1/discovery/extractors")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixpeek.com/v1/discovery/extractors")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"costs": {
"rates": [
{
"credits_per_unit": 10,
"description": "Per minute of video processed",
"unit": "minute"
}
],
"tier": 2,
"tier_label": "STANDARD"
},
"description": "Extracts embeddings from text, images, and video frames",
"example_usage": {
"collection": {
"feature_extractor": {
"input_mappings": {
"content": "video"
},
"name": "multimodal_extractor",
"parameters": {
"split_method": "time",
"time_split_interval": 10
},
"version": "v1"
}
},
"namespace": {
"feature_extractors": [
{
"name": "multimodal_extractor",
"version": "v1"
}
]
}
},
"name": "multimodal_extractor",
"output_features": [
{
"name": "multimodal_embedding",
"type": "embedding",
"uri": "mixpeek://multimodal_extractor@v1/multimodal_embedding"
}
],
"parameter_schema": {
"properties": {
"split_method": {
"default": "time",
"description": "Video splitting strategy",
"type": "string"
},
"time_split_interval": {
"default": 10,
"description": "Interval in seconds for time splitting",
"type": "integer"
}
},
"type": "object"
},
"supported_input_types": [
"video",
"image"
],
"supported_modalities": [
"video",
"image"
],
"version": "v1"
}
]{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}List Available Feature Extractors
Discover all available feature extractors with their capabilities, supported modalities, output features, and example usage. Use this to understand what extractors are available when configuring namespaces and collections in manifests.
curl --request GET \
--url https://api.mixpeek.com/v1/discovery/extractors \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.mixpeek.com/v1/discovery/extractors"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.mixpeek.com/v1/discovery/extractors', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mixpeek.com/v1/discovery/extractors",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.mixpeek.com/v1/discovery/extractors"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.mixpeek.com/v1/discovery/extractors")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixpeek.com/v1/discovery/extractors")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"costs": {
"rates": [
{
"credits_per_unit": 10,
"description": "Per minute of video processed",
"unit": "minute"
}
],
"tier": 2,
"tier_label": "STANDARD"
},
"description": "Extracts embeddings from text, images, and video frames",
"example_usage": {
"collection": {
"feature_extractor": {
"input_mappings": {
"content": "video"
},
"name": "multimodal_extractor",
"parameters": {
"split_method": "time",
"time_split_interval": 10
},
"version": "v1"
}
},
"namespace": {
"feature_extractors": [
{
"name": "multimodal_extractor",
"version": "v1"
}
]
}
},
"name": "multimodal_extractor",
"output_features": [
{
"name": "multimodal_embedding",
"type": "embedding",
"uri": "mixpeek://multimodal_extractor@v1/multimodal_embedding"
}
],
"parameter_schema": {
"properties": {
"split_method": {
"default": "time",
"description": "Video splitting strategy",
"type": "string"
},
"time_split_interval": {
"default": 10,
"description": "Interval in seconds for time splitting",
"type": "integer"
}
},
"type": "object"
},
"supported_input_types": [
"video",
"image"
],
"supported_modalities": [
"video",
"image"
],
"version": "v1"
}
]{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Response
Successful Response
Feature extractor name (e.g., 'multimodal_extractor')
Feature extractor version (e.g., 'v1')
Human-readable description of what this extractor does
List of supported input modalities (text, image, video, audio)
List of features produced by this extractor
JSON Schema for extractor inputs — what fields the extractor reads from source objects
JSON Schema for tunable parameters (defaults, ranges, descriptions for every knob)
JSON Schema for output documents — what fields appear in extracted documents
Credit cost information (tier, per-unit rates)
Show child attributes
Show child attributes
What input types this extractor can handle: 'type_specific' (only one type, e.g. video-only) or 'multimodal' (handles multiple types with conditional processing). Type-specific extractors cannot use automatic-typed bucket properties.
For type-specific extractors: maps input keys to required types (e.g., {'video': 'video', 'thumbnail': 'image'}). For multimodal extractors: null.
Show child attributes
Show child attributes
Kind of real-time inference this extractor provides: 'embedding', 'rerank', 'classify', 'generate', or 'general'. Determines which retriever stages are compatible. Null if the extractor is batch-only.
Accepted input types (e.g., ['video', 'image'])
Maximum number of inputs per type (e.g., {'video': 1})
Show child attributes
Show child attributes
Default parameter values — use as a starting point for tuning
Vector indexes produced by this extractor (name, dimensions, distance metric, feature_uri)
Fields that uniquely identify each output document within a source object
What this extractor can do: 'batch' (feature extraction during ingestion), 'realtime' (query-time inference for retriever stages)
Minimal working configuration for namespace + collection + input_mappings + parameters
Was this page helpful?

