# Trial the Wowza VIF Postman Collection This guide walks you through setting up and using the **Wowza Video Intelligence Framework (VIF) v2** Postman collection to configure and monitor real-time AI video analysis on Wowza Streaming Engine (WSE). VIF REST API v1 is deprecated This collection covers the v2 REST API. The v1 API is deprecated, and Wowza strongly urges customers to move any integration to v2 — a v1 write silently breaks settings saved through 1.1.0 or later, since it rewrites your configuration files in the old format. See [How to upgrade to Wowza Video Intelligence Framework 1.1.0](/docs/wowza-video-intelligence-framework/upgrade-to-vif-1.1.0) if you're still on a v1 installation. ## What it covers The collection exposes the VIF v2 REST API, the control plane for object detection, scene analysis, and VLM (vision-language model) analysis on your live streams. With it you can check framework and per-stream status, read and manage configuration at every layer (default, stream group, and per-stream override), run VOD analysis jobs, and pull stream thumbnails. ## Prerequisites Before you start, make sure you have: - A running Wowza Streaming Engine (4.11.1 or later) with the VIF 1.1.0+ module installed and the REST API enabled (default port `8087`). - Your WSE Manager username and password. - [Postman](https://www.postman.com/downloads/) installed. ## Fork the collection The VIF collection is published on Postman here: [postman.com/wowzavideo/wowza-video-intelligence-framework](https://www.postman.com/wowzavideo/wowza-video-intelligence-framework/collection/zp79squ/wowza-video-intelligence-framework-vif-v2-api?action=share&creator=22998697) Fork it into your own workspace so your copy stays linked to the published source: 1. Open the collection link above in Postman. 2. Click the **⋯** menu next to the collection name and choose **Create a fork** (or click the fork icon). 3. Give your fork a label. 4. Select the workspace to fork it into. 5. Click **Fork Collection**. Your forked copy appears in your workspace with all folders and saved example responses. ## Configure variables Click the collection name, open the **Variables** tab, and set the values for your environment. The collection ships with sensible defaults, so in most cases you only need to fill in your credentials. | Variable | Purpose | Example | | --- | --- | --- | | `scheme` | http or https | `http` | | `host` | WSE host | `localhost` | | `port` | Engine REST API port | `8087` | | `baseUrl` | Computed from `scheme`/`host`/`port`; don't edit directly | `{{scheme}}://{{host}}:{{port}}/v2/vif` | | `app` | Engine application holding the stream | `live` | | `stream` | A specific stream's exact name | `front-entrance` | | `groupConfigName` | A stream group config's name (not a pattern) | `front-entrance-cams` | | `listenerName` | A listener's name | `Overlays` | | `jobId` | A VOD job's id | `8f14e45f-ceea-467e-9575-9e0d0b0f4a5c` | | `vodFile` | A file under the content directory | `uploads/front-entrance-2024-06-01.mp4` | | `WSE_userName` | WSE Manager username | `admin` | | `WSE_password` | WSE Manager password | `your_password` | ## Authentication Every request uses **HTTP Basic Auth**, inherited from the collection level — set `WSE_userName` and `WSE_password` once and every request picks them up. A built-in pre-request script warns you in the console if `baseUrl`, `WSE_userName`, or `WSE_password` is missing, and a collection-level test flags `401` (bad credentials) and `404` (a variable doesn't match anything on your Engine). ## How the collection is organized The requests are grouped into folders that mirror the API itself: - **Server** — framework-wide status: which VIS instances are connected, which streams are running, and which detection models are available. Read-only. - **Runtime** — the stream instances currently running. Writes here are ephemeral: they change only the running instance, are never saved, and are lost on restart. - **Persist** — the durable configuration that lives on disk whether or not a stream is running: stream group configs and per-stream overrides. - **Probes** — connectivity checks for external endpoints, such as the VLM endpoint a detector calls out to. - **VOD** — on-demand analysis: the video files under the Engine's content directory, and the jobs that analyze them. ## Understand how a config resolves Almost everything in this API comes down to one idea: a **config**, the group of settings that tells VIF how to analyze a stream. A stream's actual, effective config is built from four layers, from most general to most specific: the default config, then a matching **stream group config** (applies to every stream whose name matches a pattern), then a per-stream **override** (applies to one specific stream by exact name), then any changes made directly to the running stream. Each layer fills in whatever the one below it left unset. ## A typical workflow Start with **Framework status** in the Server folder to confirm connectivity and see connected VIS instances and running streams. Read **Default config** so you know the baseline every stream inherits. Create a **stream group config** to apply settings automatically to any stream matching a pattern (e.g. `front-entrance*`), or write a per-stream **override** for one specific stream. Check **One running stream** to see the resolved config, health, and performance for a stream that's actually running. Use **Thumbnail image of the running stream** with an overlay to visually confirm detections. For one-off analysis instead of a live stream, upload a file with **Upload a source file into the content directory**, then **Submit a file for analysis** and poll **One job** until it completes. ## Tips and troubleshooting Each request ships with a saved example response, so you can see the expected payload shape without hitting a live server. If you get a `401`, recheck `WSE_userName` and `WSE_password`; a `404` usually means `app`, `stream`, `groupConfigName`, `listenerName`, `jobId`, or `vodFile` doesn't match your setup. Writes to `/persist` resources require an `If-Match` header quoting the document's current `ETag` — read the document first if you get a `428` or `412`. Thumbnail responses are binary images and render in Postman's response preview pane; use **Send and Download** to save one to disk. ## Related guides - [About Wowza Video Intelligence Framework](/docs/wowza-video-intelligence-framework/about-wowza-video-intelligence-framework): overview of VIF's components and deployment options - [How to upgrade to Wowza Video Intelligence Framework 1.1.0](/docs/wowza-video-intelligence-framework/upgrade-to-vif-1.1.0): moving an existing 1.0.x installation, including why v1 writes are unsafe once you're on 1.1.0