Shot objects for the matching parts of a video.
Each Shot identifies the source video and exact time range, so an application can inspect the evidence, play an individual moment, or combine several results into one stream. Use return_fields to include the stored index rows associated with each result.
Basic result
Shot includes:
Example:
APIs that return shots
These APIs returnShot objects:
aggregate() does not return shots; it returns aggregate rows. ask() returns an answer plus optional source shots.
Play a result
You can play an individual shot:Return hydrated index rows
return_fields selects which indexes to hydrate for each matched scene. Hydrated rows are available in shot.metadata["indexes"], not shot.fields.
For a single index:
Shot then looks like:
return_fields values:
return_fields currently selects indexes, not individual fields. A hydrated index value is a list because one scene can map to multiple rows, such as several object labels or brand mentions.Compile many results into one stream
Forsemantic_search() or query() results, compile the SearchResult directly:
search(), compile the nested SearchResult:
Shot timestamps:
Ask sources
ask() returns an answer and, when include_sources=True, supporting Shot objects.
Result controls
Hydrated index rows can make responses larger. Keep
return_fields narrow for broad search previews and use "all" mainly for debugging or final inspection.
Next steps
Search APIs
Retrieve indexed moments.
Hybrid and Collection Search
Combine results across indexes and videos.