Skip to navigation

Sort knowledge store items by custom metadata

You can now sort the items in a knowledge store by the value of a custom metadata key when you list them. Set the sort_by parameter to metadata.<key>. For example, metadata.view_count sorts the items by the view_count key.

To use this feature, upgrade to the latest version of the Python or Node.js SDK:

pip install --upgrade twelvelabs

Deleting an asset used in a knowledge store returns a 409 error

If knowledge store items use an asset, you cannot delete the asset. The request returns 409 asset_has_knowledge_store_items, even when you set the force parameter to true. To delete the asset, first delete every knowledge store item that uses it.

For details, see the Delete an asset API reference and the SDK reference for Python and Node.js.

Search a knowledge store by item collection

When you search a knowledge store, you can now limit the search to the items in specific item collections.

If a search matches more than 10,000 items, the platform returns a 422 error with the metadata_filter_too_broad code.

To use this feature, upgrade to the latest version of the Python or Node.js SDK:

Introducing metadata, enrichment, and creation time filters for listing knowledge store items

You can now filter the items in a knowledge store when you list them. Use the metadata, enrichment, created_at_gte, and created_at_lte parameters to filter by custom metadata, enrichment values, and creation time.

To use this feature, upgrade to the latest version of the Python or Node.js SDK:

pip install --upgrade twelvelabs

Exclude items and filter custom metadata by range in knowledge store search

Knowledge store search accepts item_id.nin to exclude every clip or image belonging to 1 to 20,000 listed items. You can use it on its own or with either item_id.eq or item_id.in. An item listed in nin is excluded even when eq or in selects it.

The user_metadata filter also accepts inclusive gte and lte bounds on numbers and RFC 3339 timestamps with a timezone. You can use one or both bounds. Every metadata key you specify must match. These ranges apply to custom metadata you stored on the source asset or the knowledge store item.

The new billing starts on October 15

The new billing starts on October 15, 2026. It replaces the separate Free plan, Developer plan, and Jockey subscriptions with one set of plans: Free, Plus, Pro, and Enterprise. Each plan includes a Managed Intelligence allowance and a monthly Workload allowance. Managed Intelligence is the service that stores your assets and keeps them ready to use. It includes processing and updates to the latest models. A Workload is a task that you run on your assets. Examples are creating Jockey responses, analyzing, segmenting, and embedding.

Introducing item tags

Video items in a knowledge store now accept tags. A tag marks a moment or a range of the video and carries custom metadata as key-value pairs. A video item holds up to 100 tags.

To use this feature, upgrade to the latest version of the Python or Node.js SDK:

pip install --upgrade twelvelabs

Introducing tag filtering for knowledge store search

Knowledge store search now accepts a tags filter. The search returns only the clips that overlap the moments and ranges that matching tags mark on video items. A tag matches when its tag_metadata field matches the metadata you specify.

To use this feature, upgrade to the latest version of the Python or Node.js SDK:

Jockey is now generally available

Jockey is a unified agentic system that reasons across your videos and images.

What you can do

  • Summarize all your videos and images: themes, subjects, patterns, and key statistics
  • Search your videos and images by describing what you want, and receive an explanation of each match
  • Organize and categorize your videos and images
  • Find and sequence moments into highlight reels

Introducing custom metadata, enrichment, and creation time filters for knowledge store search

Knowledge store search now accepts the following filters:

  • user_metadata: Narrows results by custom metadata.
  • enrichment: Narrows results by enrichment values.
  • created_at: Narrows results by the creation time of the item.

If a search matches more than 10,000 items, the platform returns a 422 error with the metadata_filter_too_broad code.

Introducing item metadata in knowledge store search results

Knowledge store search results now include the custom metadata of the knowledge store item.

A knowledge store item has two sets of custom metadata: the custom metadata of the source asset and the custom metadata of the knowledge store item. The two sets are separate. The same key can have different values in each set.

Billing amount replaces usage in the Jockey response

The response of the Jockey Responses API no longer carries the usage field, which held the model input and output tokens. The response now carries billing: the cost of the response, as billing.amount in the currency billing.currency, which is USD. The amount counts everything the response ran, including model calls, searches, and tools, and it is the list price, before any discount on your account. Only a finished response carries billing, and billing.amount is null when the cost could not be determined at the time the response finished. Your invoice is the authoritative record of charges.

Introducing web search in Jockey responses

You can now generate responses that cite public web sources. When you enable web search, Jockey searches the public web for information that supports its answer.

Web citations appear as url_citation annotations, alongside the existing media citations.

To use this feature, upgrade to the latest version of the Python or Node.js SDK:

Introducing enriched metadata on knowledge store items

Knowledge store items now return the enriched_metadata field: the metadata that the platform extracts once for the whole item, as defined by the enrichment configuration of the knowledge store. To extract a property once for each video or image instead of for each shot, set its granularity keyword to video or image in the JSON Schema.

To use this feature, upgrade to the latest version of the Python or Node.js SDK:

Introducing location filtering for knowledge store search

Knowledge store search now accepts a location filter: a circle defined by a center point and a radius in meters. The search returns only items captured within the circle, based on the GPS coordinates embedded in their source media.

To use this feature, upgrade to the latest version of the Python or Node.js SDK:

Introducing item metadata for knowledge store items

Knowledge store items now support item metadata: custom metadata of the knowledge store item, separate from the custom metadata of its source asset. Send the item_metadata field when you create an item.

To use this feature, upgrade to the latest version of the Python or Node.js SDK:

pip install --upgrade twelvelabs

Deprecating the metadata field when creating a knowledge store item

The metadata field of the request to create a knowledge store item is deprecated. Use item_metadata instead. The old name still works: the item stores the pairs you send as metadata in its item_metadata field. If your code reads metadata from the item, read item_metadata instead.

For details, see the Create a knowledge store item page in the API Reference section, or the SDK reference for Python and Node.js.

Introducing Pegasus 1.6

Pegasus 1.6, a new video understanding model, analyzes videos and images to generate text. Key capabilities:

  • Egocentric video understanding: Analyzes first-person footage from sources such as wearable cameras and teleoperated systems.
  • Image analysis: Analyzes one to twenty images per request.
  • Improved entity recognition: Identifies and names people, objects, and characters in a scene more consistently than Pegasus 1.5.
  • Improved metadata extraction: Extracts metadata that is less dependent on the segment definitions, enabling richer fields in a single analysis.
  • In-segment events: Extracts a list of timestamped events inside each segment when you use video segmentation.
  • Segmentation without a token limit: Segments long videos and returns the segments it produced, even when the output is incomplete.

Configurable embedding dimensions for Marengo 3.5

Choose how many dimensions Marengo 3.5 uses for each embedding by setting the embedding_dimension parameter to 128, 256, or 512. The default is 512, so existing integrations are unaffected. Use the same value across an index.

A shorter embedding consists of the first values of the full-length embedding. Shorter embeddings reduce the size of your index and speed up similarity search; longer embeddings improve retrieval quality.

New segmentation options for asynchronous document embeddings

Control how the platform divides a document before it creates embeddings by setting the segmentation parameter. The options depend on the file type:

  • PDF files: Divide each page into a 2×2 grid, producing five embeddings per page: one for the whole page, and one for each quarter.
  • Plain text and Markdown files: Divide the file into chunks of whole sentences, with a chunk size you control.