Health
Entities
- Taxonomy
Assets
Collections
Namespaces
Feature Extractors
Ingest Video Url
Requirements:
- Required permissions: write
curl --request POST \
--url https://api.mixpeek.com/v1/ingest/videos/url \
--header 'Content-Type: application/json' \
--data '{
"url": "https://example.com/sample-video.mp4",
"collection": "col_1234567890",
"asset_update": {
"asset_id": "<string>",
"mode": "replace"
},
"metadata": {
"author": "John Doe",
"category": "Research Paper",
"tags": [
"AI",
"Machine Learning"
]
},
"skip_duplicate": true,
"feature_extractors": [
{
"interval_sec": 15,
"read": {
"enabled": true
},
"embed": [
{
"embedding_model": "multimodal",
"type": "url"
},
{
"embedding_model": "text",
"type": "text",
"value": "lorem ipsum"
}
],
"transcribe": {
"enabled": true
},
"describe": {
"enabled": true
},
"detect": {
"faces": {
"confidence_threshold": 0.8,
"enabled": true
}
},
"json_output": {
"response_shape": {
"objects": [
"str"
],
"scenes": [
"str"
]
}
},
"entities": {
"taxonomy_extraction": {
"taxonomy": "tax_123",
"assignment": {
"enabled": false,
"mode": "threshold",
"append": false,
"confidence_threshold": 0.5
}
}
}
}
]
}'
{
"task_id": "<string>",
"status": "PENDING",
"inputs": [
"<any>"
],
"outputs": [
"<any>"
]
}
Headers
Bearer token authentication using your API key. Format: 'Bearer your_api_key'. To get an API key, create an account at mixpeek.com/start and generate a key in your account settings. Example: 'Bearer sk_1234567890abcdef'
Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint.
Body
The URL of the asset to be processed. Must be a valid HTTP or HTTPS URL.
Unique identifier for the collection where the processed asset will be stored, can be the collection name or collection ID. If neither exist, the collection will be created.
Additional metadata associated with the asset. Can include any key-value pairs relevant to the asset.
Makes feature extraction idempotent. When True and a duplicate file hash is found, copies features from the existing asset instead of reprocessing. This allows the same file to be used multiple times with different metadata while avoiding redundant processing.
Settings for video processing. Only applicable if the URL points to a video file.
Interval in seconds for processing video. Must be greater than or equal to 5, less than 120.
5 <= x <= 120
Settings for reading and analyzing video content.
Enable video reading
Prompt for reading on-screen text
JSON format for the response
Name of the vector model to use for embedding the text output. If embedding_model is duplicated, the vector will be overwritten.
image
, openai-clip-vit-base-patch32
, multimodal
, vertex-multimodal
, text
, baai-bge-m3
, keyword
, naver-splade-v3
List of embedding settings for generating multiple embeddings. For now, if url is provided, value must be None. Default: [{type: 'url', embedding_model: 'multimodal'}] if none provided.
Request model for embedding generation.
When multiple EmbeddingRequests use the same embedding_model:
- All inputs will be embedded in the same vector space
- The final embedding will be the average of all individual embeddings
- Original values will be stored with a ' | ' separator
Example:
Two requests with same model "clip":
1. type: "text", value: "a dog", embedding_model: "clip"
2. type: "url", value: "https://example.com/image.jpg", embedding_model: "clip"
Result:
- vectors["clip"] = average of both embeddings
- embedding_configs["clip"] = "a dog | https://example.com/image.jpg"
Type of input to embed
url
, text
, file
, base64
Name of the embedding model to use for embedding. Multiple requests with the same model will be averaged.
image
, openai-clip-vit-base-patch32
, multimodal
, vertex-multimodal
, text
, baai-bge-m3
, keyword
, naver-splade-v3
The input content to embed. Could be a URL, text content, file path, or base64 encoded string
Settings for transcribing video audio.
Enable video transcription
JSON format for the response
Name of the vector model to use for embedding the text output. If embedding_model is duplicated, the vector will be overwritten.
image
, openai-clip-vit-base-patch32
, multimodal
, vertex-multimodal
, text
, baai-bge-m3
, keyword
, naver-splade-v3
Settings for generating video descriptions.
Prompt for video description
Enable video description
Maximum length of the description
JSON format for the response
Name of the vector model to use for embedding the text output. If embedding_model is duplicated, the vector will be overwritten.
image
, openai-clip-vit-base-patch32
, multimodal
, vertex-multimodal
, text
, baai-bge-m3
, keyword
, naver-splade-v3
Settings for object detection in video frames.
Settings for extracting entities from video content
Settings for extracting entities using taxonomies
Taxonomy name or ID to use for classification
Configuration for feature assignment behavior
Whether to assign the taxonomy to the feature
How to assign classifications: either all above threshold (THRESHOLD) or only the closest match (NEAREST)
threshold
, nearest
Whether to append the classification to the feature, if false, replaces any existing classification
Minimum confidence score required for classification (only used in threshold mode)
0 <= x <= 1
Was this page helpful?
curl --request POST \
--url https://api.mixpeek.com/v1/ingest/videos/url \
--header 'Content-Type: application/json' \
--data '{
"url": "https://example.com/sample-video.mp4",
"collection": "col_1234567890",
"asset_update": {
"asset_id": "<string>",
"mode": "replace"
},
"metadata": {
"author": "John Doe",
"category": "Research Paper",
"tags": [
"AI",
"Machine Learning"
]
},
"skip_duplicate": true,
"feature_extractors": [
{
"interval_sec": 15,
"read": {
"enabled": true
},
"embed": [
{
"embedding_model": "multimodal",
"type": "url"
},
{
"embedding_model": "text",
"type": "text",
"value": "lorem ipsum"
}
],
"transcribe": {
"enabled": true
},
"describe": {
"enabled": true
},
"detect": {
"faces": {
"confidence_threshold": 0.8,
"enabled": true
}
},
"json_output": {
"response_shape": {
"objects": [
"str"
],
"scenes": [
"str"
]
}
},
"entities": {
"taxonomy_extraction": {
"taxonomy": "tax_123",
"assignment": {
"enabled": false,
"mode": "threshold",
"append": false,
"confidence_threshold": 0.5
}
}
}
}
]
}'
{
"task_id": "<string>",
"status": "PENDING",
"inputs": [
"<any>"
],
"outputs": [
"<any>"
]
}