Glossary
Use this page when a field name in a response or in the API reference looks unfamiliar. Terms are grouped by domain.
Data units
| Term | Meaning |
|---|---|
| Video | The input unit of indexing. One media file or URL = one video, identified by video_id. |
| Scene | A timecoded segment inside a video, produced by automatic shot-cut detection and analyzed as one clip. Search returns matches at the scene level. |
| Job | One asynchronous indexing run for a video, identified by job_id. Transitions pending → running → done / failed. A re-index creates a new job. |
| Batch | A group of URLs or files submitted together under one batch_id. The batch endpoint is a submission receipt, not indexing progress. |
| Burst | In live monitoring, the set of HLS segments captured before an SSAI ad break, analyzed together with its own summary and labels. |
| Namespace | A tag that partitions data inside the same corpus. Exposed as a filter on live streams. |
scene_index | 0-based ordinal of the scene inside its video. |
start_ms / end_ms | Scene start and end timestamps, in milliseconds. |
duration_ms | Length of a video or ad creative, in milliseconds. |
length_bucket | Video length category used as a filter: short (up to 2 min), medium (up to 30 min), long. |
external_content_id | Your own content id, carried by videos ingested from an MRSS feed. Filter with content_id=. |
| Cursor | Opaque pagination token on list endpoints. Pass next_cursor back as cursor; null means the last page. |
| NDJSON | Newline-delimited JSON: one JSON object per line. Used by the scene stream, ad matching, live events and the search AI judge. |
Search
| Term | Meaning |
|---|---|
| Modality | Which embedding drives search: caption (narrative description), transcript (verbatim speech), omni (visual + audio), both (caption + omni), all (all three). |
k | Videos returned per modality column. Default 20, max 100. |
scene_pool | Scene candidates pulled from vector search before grouping by video. Default 60, max 200. |
| Deep search | POST /api/v1/search/deep: the same query with an extra LLM rerank pass over the top candidates. Better ordering, a few seconds more latency. |
| Multimodal search | POST /api/v1/search/multimodal: query by image or audio URL in addition to, or instead of, text. |
| AI judge | Opt-in judge: "text" on POST /api/v1/search (caption modality). Streams a 0–10 relevance and reason per scene and a summary keeping scenes at or above min_relevance (default 3). |
score | Similarity score of a scene match; a video's score blends its best scene with the number of matching scenes. |
Brand safety
| Term | Meaning |
|---|---|
| GARM | The GARM Brand Safety Floor categories, a brand-safety framework published by the World Federation of Advertisers. Indexing uses a 12-slug vocabulary with levels; ad screening uses the 11-category Brand Safety Floor. See Taxonomies and verdicts. |
| GARM level | Severity of a category in a video: low, medium, high. Scene markers add none. |
garm_min_level | Filter floor on search and the video list: only videos at this level or higher. |
garm_categories | Scene-level GARM flags (sensitive, unreviewed). |
garm_video | Video-level GARM assessment, one {category, level, reasoning} entry per confirmed category. |
block_decision | Final ad-screening verdict: allow or block. |
| Rule | A natural-language policy line from your saved blocklist or the request's rules. Evaluated independently; reported in blocklist.hits. |
| Matched rule | A rule whose blocklist.hits[i].matched is true. |
| Fail-closed | If screening itself errors, the verdict is block with screening_failed: true, never allow. |
| Explanation | Free-form sentence citing the deciding cue. For display, not parsing. |
Ad operations
| Term | Meaning |
|---|---|
| Ad | A registered ad creative, identified by a UUID ad_id, reused across matching and screening. |
| Ad status | resolving (URL / VAST being fetched and validated), ready (media stored, usable), failed (error carries the reason). File uploads are ready immediately. |
source_type | How the creative entered the registry: file, url, vast_url, vast_xml. VAST inputs are unwrapped to the media URL. |
| Ad analysis | GET /api/v1/ads/{ad_id}/analysis: what the creative sells (primary_brand, primary_product), everything that appears (brands, products), and its IAB / GARM labels. |
| Ad matching | POST /api/v1/ads/match: streams the scenes an ad fits into as NDJSON events — analyzing, ad_analysis, agent_step, meta, one result per scene, done (or error). |
brand_hints | Optional manual brand keywords (case-insensitive) folded into matching when the captioner missed a logo. |
| Break point | A position in a video where an ad can be inserted. Ad matching result events give it as timestamp_ms (absolute, integer milliseconds). |
score | Ad–scene fit from 0 to 10 on matching result events, with a reason string. |
IAB taxonomies
| Term | Meaning |
|---|---|
| IAB Content Taxonomy | IAB Tech Lab's content category standard. Tier-1 names are accepted by the iab_t1 filter; leaf labels are returned in iab_content_leaf. |
iab_audience_interest_leaf | IAB Audience Taxonomy interest segments for the viewers a video suits. |
iab_audience_purchase_intent_leaf | IAB Audience Taxonomy purchase-intent segments (for example auto or travel intenders). |
iab_ad_product_leaf | IAB Ad Product Taxonomy categories of ads that fit next to the content. |
| Leaf | The most specific label in a taxonomy branch. The API returns leaf labels and filters by Tier-1 names. |
Lifecycle
| Term | Meaning |
|---|---|
| Job status | pending (queued) → running (pipeline in flight) → done (success) / failed (error). |
total_scenes / done_scenes | Indexing progress on a job: scenes analyzed so far vs. total. |
reason_code | Stable cause of an indexing failure (for example source_forbidden, url_unreachable, media_unreadable). Only meaningful when the video is failed. |
| Indexed | The job reached done: summary, labels, scenes and aggregations are available and the video is searchable. |
| Re-index | A later indexing attempt on an existing video. Produces a new job_id; index_trigger is reindex and reindex_run_id identifies the run. |
indexed_at | When the most recent finished attempt ended, successful or not. |
created | On URL submissions, true when the call created the video; false when the same URL was already being indexed and the existing ids were returned. |
| Custom summary | A summary of an indexed video written to your instructions, stored apart from the standard result. Status queued → ready / rejected / failed. |
| MRSS feed | A media RSS feed registered in the dashboard and polled on a schedule; each item becomes a video with an external_content_id. |
storage_path | Internal object key returned on uploads and ad records. Not needed for any API call. |
| Quota | Per-organization limits on videos, minutes and ads, reported by GET /api/v1/usage. |
Auth
| Term | Meaning |
|---|---|
| API key | vuf_live_<keyid>.<secret>, sent as Authorization: Bearer ... on every request. See Authentication. |
| keyid | Public identifier half of the key, used server-side to look the key up. |
| secret | Private half of the key. Shown once at creation; the server stores only a hash. |
| Organization | The account that owns videos, ads, feeds and quota. Every key belongs to one organization, and list endpoints are scoped to it. |