Skip to navigation

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.

For searches without a tags filter, the combined 10,000-item limit still applies when you use metadata, enrichment, creation time, or location filters, including item inclusions and exclusions. A broader combined match returns 422 metadata_filter_too_broad.

For details, see the Search a knowledge store API reference and the SDK reference for Python and Node.js.

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.

New users start in the new billing. Existing users move in phases, and the date depends on your plan. Legacy billing applies to your plan until it moves.

Actions required

  • Developer plan users without a paid Jockey subscription: Choose Plus or Pro before January 4, 2027. If you do not choose, you move to the Free plan on January 4, 2027.
  • Jockey subscribers: No action is needed to move. Your plan moves to the matching plan, Plus or Pro. A monthly subscription moves on your first billing date in January 2027. An annual subscription moves at the end of its term.
  • Free plan users: No action is needed to move. You move to the Free plan of the new billing on January 4, 2027.

After your plan moves, every plan has one more action if you have pre-migration assets. Assets that you uploaded before your plan moved are pre-migration assets. To add a pre-migration asset to an index with Marengo enabled, or to a knowledge store, enable storage accounting for the asset first. Storage accounting makes the asset count toward the Managed Intelligence allowance of your plan. If you do not enable it, these requests return a 409 error. See Enable storage accounting.

For more information, see the following pages:

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

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

Knowledge store search now accepts a tags filter. The search returns only the clips within 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:

pip install --upgrade twelvelabs

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

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

For more use cases, see the Recipes section.

Get started

To use Jockey, follow one of the quickstarts:

  • Create a response: Upload videos and images, build a knowledge store, and generate an overview of your content.
  • Search a knowledge store: Upload videos and images, build a knowledge store, and search it with a natural-language query.

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.

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

pip install --upgrade twelvelabs

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

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.

When you set the include_metadata parameter to true, the metadata object of each result has these fields:

  • system: System-generated metadata.
  • user: The custom metadata of the source asset.
  • item: The custom metadata of the knowledge store item. This field is absent when no item metadata has been set.

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

pip install --upgrade twelvelabs

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

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.

If your code reads response.usage, read response.billing.amount instead. To use the new field, upgrade to the latest version of the Python or Node.js SDK:

pip install --upgrade twelvelabs

For details, see The response object page in the API Reference section.