Documentation

AI Models (BYOM)

AI Models (BYOM — Bring Your Own Model) is where you register a model, point it at a live camera or a recording, and start inference. You’ll find it under AI & Detections → AI Models (BYOM) in the sidebar.

[!NOTE] This tab requires the byom.manage permission. Creating, editing, deleting, and running models is superuser-only — non-admins can view the list but the form and action buttons are disabled.

[!IMPORTANT] The Cloud AI dialog on this page (Hugging Face inference for individual models) is not the same as the top-level Cloud tab, which handles RTMP restreaming and S3 upload of recordings. For that, see Cloud.

AI Models (BYOM) — add/edit model form and configured models table

What you can do here

  • Add a model that runs one of the local adapters (YOLOv8, YOLOv11, BLIP, InsightFace) or a configured cloud model.
  • Assign a task (person detection, counting, scene description, face detection/recognition/verification, watchlist check).
  • Point a model at a live camera feed or a recorded video.
  • Start / Stop live inference, or Analyze a recording as a one-time job.
  • Enable/disable, edit, or delete configured models.
  • Manage Cloud AI credentials and cloud model definitions (Hugging Face).

Detections produced by a running model appear on the Detection Results page.

Add or edit a model

  1. In the Add New Model form, enter a Model Name (placeholder e.g., Person Detector 1).
  2. Pick an AI Model from the dropdown — see the model list below. Enabled cloud models appear under a separate ☁️ Cloud Models group.
  3. Pick a Task (see the task list below).
  4. Leave Enabled ticked.
  5. Choose a Source Type: Live Camera Feed or Recorded Video.
  6. Fill in the source-specific fields (see below).
  7. Optionally add Additional Config (JSON) — placeholder {"confidence": 0.5}.
  8. Click Add Model (or Update Model when editing; Cancel exits edit mode).

To edit an existing model, click Edit in its table row — the form scrolls into view pre-filled. To remove one, click Delete (asks for confirmation).

AI Model options

Value Label (shown in dropdown)
default YOLOv8
yolov11 YOLOv11
blip BLIP (Image Captioning)
insightface InsightFace (Face Recognition)

[!NOTE] The YOLOv8 option submits the value default — that is the KAI-C adapter slot the YOLOv8 adapter occupies, not a placeholder. Governed inference routes on the slot name, so the label and stored value intentionally differ.

Task options

person_detection (Person Detection), person_counting (Person Counting), scene_description (Scene Description), face_detection (Face Detection), face_recognition (Face Recognition), face_verify (Face Verification), watchlist_check (Watchlist Check).

Fields

Field Required Example Notes
Model Name Person Detector 1 Free-text label
AI Model YOLOv8 Local adapter or an enabled cloud model
Task Person Detection One of the tasks above
Enabled (checked) Model is active
Source Type Live Camera Feed Live feed or recorded video
Additional Config (JSON) {"confidence": 0.5} Optional JSON of extra params; validated on save

Run against a live camera

When Source Type is Live Camera Feed:

  1. Pick a camera in Assigned Camera (cameras with no RTSP URL are flagged (No RTSP URL)).
  2. Set Inference Interval (seconds) — how often to run inference, 1–60 (default 2).
  3. Save the model.
  4. In the models table, use the ▶ Start / ⏹ Stop button in the Inference column to toggle live inference. A running model shows ● Running.

Fields

Field Required Example Notes
Assigned Camera Select a camera to enable automatic inference
Inference Interval (seconds) 2 1–60 seconds

Run against a recording

When Source Type is Recorded Video:

  1. Click Browse next to Recording File to open the recording browser and select a session/segment. The path fills in and shows ✓ Recording selected: ….
  2. Save the model.
  3. In the table, click 🎬 Analyze to start a one-time analysis job (shows ● Processing while it runs, and ⏹ Stop to cancel).

Recording analysis runs in the background; when it finishes you’ll see “Recording analysis completed! Check AI Detection Results page.”

[!WARNING] You must select a recording via Browse — an empty or invalid recording path is rejected on save.

Cloud AI (Hugging Face)

Click the Cloud AI button (top-right of the tab) to open the Cloud AI Providers dialog. It has two tabs: Credentials and Models. Cloud models you configure here become selectable in the model form’s ☁️ Cloud Models group.

Cloud AI dialog — Hugging Face credentials and model configuration

Add a credential

  1. On the Credentials tab, click Add Credential.
  2. Choose a ProviderHugging Face.
  3. Paste your API Token (placeholder hf_xxxxxxxxxxxxxxxxxxxx). Tokens are encrypted at rest.
  4. Optionally add Account Info (JSON, optional) — placeholder {"email": "user@example.com"}.
  5. Click Add.

Deleting a credential also deletes any models linked to it (you’re warned first).

Field Required Example Notes
Provider Hugging Face Only Hugging Face is offered today
API Token hf_... Encrypted at rest
Account Info (JSON, optional) {"email": "user@example.com"} Free-form metadata

Configure a cloud model

  1. On the Models tab, click Add Model (disabled until at least one credential exists).
  2. Select a Credential.
  3. Enter a Model Name (placeholder My BLIP Model).
  4. Enter a Model ID (placeholder Salesforce/blip-image-captioning-base).
  5. Pick a Task: Image to Text, Image Classification, Object Detection, or Text Generation.
  6. Optionally add Config (JSON) — placeholder {"num_beams": 5}.
  7. Leave Enabled ticked, then click Add.
Field Required Example Notes
Credential Links the model to a saved token
Model Name My BLIP Model Free-text label
Model ID Salesforce/blip-image-captioning-base Hugging Face model repo id
Task Image to Text One of the four cloud tasks
Config (JSON) {"num_beams": 5} Optional inference params
Enabled (checked) Only enabled cloud models appear in the model form

📸 Screenshots to capture

The two existing screenshots (ai byom.jpeg and cloud ai byom.jpeg) are reused above. Optionally add:

  • byom-model-form-live.png — the Add New Model form with Live Camera Feed selected, a camera assigned, and interval 2.
  • byom-models-table.png — the Configured Models table with a running model showing ● Running.