Skip to main content
After an understanding run completes, each analyzer has produced a named artifact containing timestamped records. Use get_output() to inspect the artifact and see which fields the analyzer produced.
Artifact output is organized into scenes. Each scene covers a range of video defined by start and end, in seconds. Scenes may come from visual cuts or fixed time windows. Some analyzers also include frame-level observations inside a scene; those use a single timestamp. The contents of data depend on the analyzer. When configuring index fields, paths are relative to data, so use text or frames.detections.label rather than scenes.data.text. get_output() is for inspecting the artifact. To create an index, pass the analyzer directly so the output does not need to travel through your client:
The sections below show the output shape and useful indexing fields for each analyzer.

Common output envelope

All analyzer artifacts follow the same high-level shape:
The data object is analyzer-specific. The top-level and scene-level metadata objects contain additional analyzer or scene details when available; either object may be empty.
Some fields can vary by model, schema version, or workspace configuration. Built-in analyzers keep stable top-level fields for indexing wherever possible.
The indexing recommendations use these capabilities:

Spoken words: spoken_words

Default artifact name: transcript
Useful indexing fields: Each item in words contains word-level timing and may include confidence and speaker values.

Objects: object_detection

Default artifact name: objects
A frame can have an empty detections list. Each detection contains a label, confidence score, and bounding-box object. The inner box array contains the coordinates, while unit describes their coordinate system. Useful indexing fields:

OCR: ocr

Default artifact name: ocr ocr extracts visible text from frames, such as signs, slides, labels, captions, and UI text.
Useful indexing fields:

Brands: brand_detection

Default artifact name: brands brand_detection extracts logos, brand names, product labels, and sponsorships.
Useful indexing fields:

Activity: activity_recognition

Default artifact name: activity activity_recognition extracts actions and activities.
Useful indexing fields:

Location: location_detection

Default artifact name: location location_detection extracts setting and place context.
Useful indexing fields:

Scene: vlm

Default artifact name: scene Here, scene is the default artifact name for the vlm analyzer. Its output can contain multiple timestamped scene records. Use vlm when you want general scene descriptions or a custom prompt/schema. Without a custom schema, each scene’s description is returned in data.text:
When you provide a schema, the fields inside data follow that schema instead. For example:
produces scene data shaped like:
Useful indexing fields:
For object labels, brand names, OCR text, activities, or location signals, use the dedicated analyzers unless your VLM prompt/schema explicitly emits those fields.

How outputs map to indexes

When you index an artifact, choose which fields become retrieval fields. A scene is the retrieval unit. Some artifacts have one scene-level value, such as activity, location, or OCR text. Others contain repeated values, such as brand_names or frames[].detections[]. When indexing repeated values:
  • one scene can emit multiple filter or aggregate signals
  • the index may flatten those signals internally, such as one row per brand, object label, or detection
  • retrieval still returns the scene with its scene_id, start, and end
General rule:

Next steps

Create an Index

Turn artifacts into searchable indexes.

Index Fields

Choose which fields become searchable, filterable, aggregatable, or sortable.