Mintlify API
macro-inc/macro
Interact with the Mintlify REST API to manage deployments, trigger builds, and query documentation site metadata programmatically.
Agent skill
by NVIDIA-AI-Blueprints in NVIDIA-AI-Blueprints/video-search-and-summarization
A skill your agent uses to drive vss vios for sensor list, timelines, clips, snapshots, and add/delete of video or stream sources, and the VIOS REST API only for what that CLI does not cover (sensor…
$ npx skills add NVIDIA-AI-Blueprints/video-search-and-summarization --skill vss-manage-video-io-storage -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install NVIDIA-AI-Blueprints/video-search-and-summarization vss-manage-video-io-storage --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/operations/vss-manage-video-io-storage .claude/skills/vss-manage-video-io-storage && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "vss-manage-video-io-storage" agent skill from https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization/tree/develop/skills/operations/vss-manage-video-io-storage into .claude/skills/vss-manage-video-io-storage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vss-manage-video-io-storage", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization/tree/develop/skills/operations/vss-manage-video-io-storageType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add NVIDIA-AI-Blueprints/video-search-and-summarization --skill vss-manage-video-io-storage -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install NVIDIA-AI-Blueprints/video-search-and-summarization vss-manage-video-io-storage --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/operations/vss-manage-video-io-storage .agents/skills/vss-manage-video-io-storage && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "vss-manage-video-io-storage" agent skill from https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization/tree/develop/skills/operations/vss-manage-video-io-storage into .agents/skills/vss-manage-video-io-storage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vss-manage-video-io-storage", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add NVIDIA-AI-Blueprints/video-search-and-summarization --skill vss-manage-video-io-storage -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install NVIDIA-AI-Blueprints/video-search-and-summarization vss-manage-video-io-storage --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/operations/vss-manage-video-io-storage .cursor/skills/vss-manage-video-io-storage && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "vss-manage-video-io-storage" agent skill from https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization/tree/develop/skills/operations/vss-manage-video-io-storage into .cursor/skills/vss-manage-video-io-storage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vss-manage-video-io-storage", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization.git --path skills/operations/vss-manage-video-io-storage--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add NVIDIA-AI-Blueprints/video-search-and-summarization --skill vss-manage-video-io-storage -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install NVIDIA-AI-Blueprints/video-search-and-summarization vss-manage-video-io-storage --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/operations/vss-manage-video-io-storage .gemini/skills/vss-manage-video-io-storage && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "vss-manage-video-io-storage" agent skill from https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization/tree/develop/skills/operations/vss-manage-video-io-storage into .gemini/skills/vss-manage-video-io-storage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vss-manage-video-io-storage", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install NVIDIA-AI-Blueprints/video-search-and-summarization vss-manage-video-io-storageInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add NVIDIA-AI-Blueprints/video-search-and-summarization --skill vss-manage-video-io-storage -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/operations/vss-manage-video-io-storage .github/skills/vss-manage-video-io-storage && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "vss-manage-video-io-storage" agent skill from https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization/tree/develop/skills/operations/vss-manage-video-io-storage into .github/skills/vss-manage-video-io-storage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vss-manage-video-io-storage", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add NVIDIA-AI-Blueprints/video-search-and-summarization --skill vss-manage-video-io-storage -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install NVIDIA-AI-Blueprints/video-search-and-summarization vss-manage-video-io-storage --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/operations/vss-manage-video-io-storage .opencode/skills/vss-manage-video-io-storage && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "vss-manage-video-io-storage" agent skill from https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization/tree/develop/skills/operations/vss-manage-video-io-storage into .opencode/skills/vss-manage-video-io-storage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vss-manage-video-io-storage", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
vss-manage-video-io-storageA skill your agent uses to drive vss vios for sensor list, timelines, clips, snapshots, and add/delete of video or stream sources, and the VIOS REST API only for what that CLI does not cover (sensor…
Vss Manage Video Io Storage is an agent skill from NVIDIA-AI-Blueprints/video-search-and-summarization. Use to drive vss vios for sensor list, timelines, clips, snapshots, and add/delete of video or stream sources, and the VIOS REST API only for what that CLI does not cover (sensor info/status/settings, storage and recorder status, WebRTC, the RTSP proxy, network scan, device settings, bytes to disk, the NvStreamer API), when the caller names a REST endpoint, or to debug VIOS. Also provisions a source into an Agent-backed or headless deployment, which the deployment fans out to the perception consumers…
Its SKILL.md is about 6.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including reference files (for example `evals/evals.json`, `evals/nvstreamer_ops.json` and `evals/vios_ops.json`).
It sits in Backend & APIs, covering REST APIs and Deployment. The repository describes itself as: NVIDIA AI Blueprint for video search and summarization (VSS) is a GPU-accelerated reference architecture for building video analytics agents with real-time verified alerts… The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit fdb6a7a. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
jqdockeruvkubectlFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use docker, uv and kubectl, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
NGC_CLI_API_KEYNVIDIA_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Vss Manage Video Io Storage loads about 6.8k tokens when it runs, and up to ~58k if it reads all its reference files. Until then it costs about 150 tokens; SKILL.md has 3,375 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from NVIDIA-AI-Blueprints/video-search-and-summarization at commit fdb6a7a, republished under its Apache-2.0 licence (© NVIDIA-AI-Blueprints). 3,375 words, ~6,755 tokens.
.claude/skills/vss-manage-video-io-storage/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.Manage VIOS video input/output and storage with vss vios: sensors, streams,
uploads, snapshots, clip URLs, and timelines. NvStreamer stays a
separate REST API, used only for an explicit synthetic RTSP request.
vss vios — add or delete a video file or RTSP stream, list sensors, show configured sensors, get a snapshot or clip URL (media_url), or upload a video filevss vios add --type stream handoffNot for VLM inference or ad-hoc visual Q&A (vss-ask-video), semantic search (vss-search-archive), narrative summaries (vss-summarize-video), or reading analytics/incidents (vss-query-analytics).
vss CLI on PATH. The OpenClaw and Hermes harness images ship it; anywhere else, install it from the same checkout as this skill so the CLI and the skill match: uv tool install <checkout>/libs/vss/cli.vss configure. Confirm with vss configure show. vss configure --base-url is the only place an endpoint is supplied, and only the ingress origin the operator already has (VSS_PUBLIC_URL). If nothing is recorded and VSS_PUBLIC_URL is unset, stop and ask for the ingress origin. Never default a host or port. Exit codes, empty results, and pipe rules live in the repository root AGENTS.md.$NGC_CLI_API_KEY and $NVIDIA_API_KEY for any image pulls.curl only for the direct-REST cases in Instructions, and jq for reading JSON. Use set -o pipefail, or capture stdout before piping. Docker is needed only for Compose deployment diagnostics.Use vss vios for list, add, delete, timeline, clip, and snapshot. Address media by sensor name. Do not build a sensorId from a name. --type (video for a file-backed sensor, stream for RTSP) is required on delete, a filter on list, and an optional check on add, which reads the kind from SOURCE (rtsp:// or rtsps:// is a stream, anything else a video). Do not hand-build a clip window when vss vios clip --sensor NAME can resolve it. Do not navigate the UI.
vss vios list [--type video|stream] [--sensor NAME]
vss vios timeline --sensor NAME
vss vios clip --sensor NAME [--start-time T --end-time T] # -> media_url
vss vios snapshot --sensor NAME [--at T] # -> media_url
vss vios add [--type video|stream] SOURCE [--name NAME]
vss vios delete --type video|stream --sensor NAME [--keep-recordings] # --keep-recordings: stream onlycurl is not the path for those operations. If a vss vios command fails, report the failure — do not fall back to raw REST.
Where direct REST is allowed. Only in three cases, documented in references/api-reference.md and references/nvstreamer-api-reference.md:
For a VIOS call, the base is the one vss configure recorded, never one you assemble (NvStreamer has its own base; see Operations):
DEPLOYMENT=$(vss configure show) || exit $?
VST_URL=$(printf '%s' "$DEPLOYMENT" | jq -er '.services.vst.url') # the /vst mount
VST_API_BASE="${VST_URL%/}/api/v1" # = <VST_ENDPOINT>/vst/api/v1 in the referenceIf services.vst is absent, the deployment prerequisite below applies. Do not derive a base from HOST_IP, a port, or VSS_PUBLIC_URL.
Upload routing rule:
<file>.mp4 to VIOS", "upload a video file", or otherwise means storing a local video as a VIOS file-backed sensor, use vss vios add --type video <file>. The filename stem is the sensor name. Uploaded names must start with a letter or digit and use only letters, digits, ., _, and -.vss vios add --type stream handoff for a plain VIOS MP4 upload request.Provisioning + fan-out routing rule:
references/provision-vios-source.md. Register once with vss vios add; the mounted notification config determines which consumers receive it. For a requested search capability, record the receiver as enabled, absent, or unknown before claiming automatic indexing. Unreadable policy is unknown, not an unavailable capability. Only an explicit tagging request with the streaming tagging receiver itself confirmed absent and the reference's prerequisites may use manual tagging; never use it when enabled or unknown. Alert rules remain owned by vss-manage-alerts.Do NOT use this skill for:
vss-ask-video.vss-search-archive.vss-summarize-video.vss-generate-video-report Mode B.vss-query-analytics.This skill bundles five reference files under references/. Read whichever applies to the task in front of you:
| File | Purpose | Audience |
|---|---|---|
references/api-reference.md | The full VIOS REST API reference (the runtime contract) — sensor management, storage, snapshots, clip extraction, WebRTC live/replay, RTSP proxy, recorder, service configuration, service discovery. Read this for the direct-REST cases in Instructions — what vss vios does not cover, an endpoint the caller named, or debugging VIOS. It is not a fallback for a failed vss vios list, add, delete, timeline, clip, or snapshot. | Operational users + this skill itself |
references/provision-vios-source.md | Source registration for Agent-backed and headless deployments — register once with vss vios add, then check the mounted notification policy for the requested consumer. Carries the shared-id rule, idempotency, teardown, and what to read when a consumer never got the source. Read this when provisioning a source into a build. | Runtime operators, vss-build-vision-ai callers |
references/nvstreamer-api-reference.md | The NvStreamer REST API reference — version, sensor list/info/status/streams, the three upload methods (PUT v2 / PUT v1 / POST multipart) with the nvstreamer-* custom headers, delete, snapshots (frame-indexed live, timestamp-indexed storage), storage info, filesystem scan. NvStreamer (vss-vios-nvstreamer, the streamer-adaptor variant of launch_vst) is brought up by the same profiles that bring VIOS up — dev-profile-alerts, dev-profile-lvs, dev-profile-search, all warehouse profiles. See integrate-vios-service.md § Topology B for the deployment side. Read this when serving test / sample videos as synthetic RTSP, retrieving the RTSP URL NvStreamer generated for a file, or driving the canonical NvStreamer → VIOS handoff (upload to NvStreamer → read RTSP URL → register that URL with VIOS via vss vios add --type stream). | Operational users + skill authors composing the upload → RTSP URL → VIOS handoff |
references/integrate-vios-service.md | The integration contract — how VIOS plugs into other VSS microservices. Documents required peer services (RT-VLM, ELK, Kafka, Redis; sdr-controller / SDRC when VST_USE_SDRC=true), the structured component_services: block consumed by the vss-build-vision-ai skill's Step 4, integration inputs/outputs (Kafka topics, REST endpoints, file paths), environment variables, network requirements, and known integration constraints (e.g. the /url-variant double-http:// bug, the VIOS + SDRC co-enablement rule for SDRC-routed profiles). Read this when authoring a skill that talks to VIOS as a peer, when composing a new VSS deployment, or when debugging caption-pipeline wiring. | Skill authors, deployment composers, pair-file maintainers |
references/deploy-vios-service.md | The deployment contract — what it takes to bring VIOS up. Documents container images and tags (VIOS core under nvcr.io/nvidia/vss-core/vss-vios-*; SDRC sdr-mw-l from sdrc/docker-compose.yaml SDR_MW_L_IMAGE — resolve there before pull/deploy), GPU / CPU / memory / storage requirements, startup behavior + healthcheck tuning, required environment variables (notably VST_INSTALL_ADDITIONAL_PACKAGES=true for the libav apt-install step that gates uploads), known deployment issues (volume drift, libav missing, 502 from leftover containers), prerequisites, dry-run, verify-deployment, and tear-down commands. Read this when VIOS isn't running and you (or your caller) need to deploy it standalone, when debugging container-startup failures, or when authoring a deploy skill that wraps VIOS. | Operators, deploy-skill authors |
This skill operates a deployment vss configure already recorded. It does not construct a VIOS URL, and it does not deploy VIOS itself. When the vios group is missing, coordinate a deploy using the bundled deployment runbook (references/deploy-vios-service.md) or hand off to /vss-build-vision-ai.
For Kubernetes, do not use kubectl port-forward, an in-cluster Service name, a NodePort, or a guessed Helm release name. Before doing any work:
Confirm the recorded deployment:
vss configure show
vss configure check
vss vios listvss configure show prints the origin already recorded. If nothing is recorded, the only setup is:
vss configure --base-url "${VSS_PUBLIC_URL}"and only when the operator's ingress origin is already in VSS_PUBLIC_URL. If VSS_PUBLIC_URL is unset, stop and ask for the ingress origin. Never default a host or port.
vss vios list exits 4 when no deployment is recorded, or the recorded deployment does not expose vst. vss configure check does not use that code: it exits 3 when any recorded route is unreachable and 1 (as does vss configure show) when nothing is recorded, and it prints which command groups are available. On exit 4 from vss vios, re-run vss configure --base-url with the operator's ingress origin, or hand off to deploy. Do not curl a constructed URL to decide that. Offer the standalone path:
"The vios group is not configured (exit 4) — no deployment is currently serving VIOS. (a) Bring up VIOS standalone using this skill's bundled
references/deploy-vios-service.mdrunbook — image tags, env vars (notablyVST_INSTALL_ADDITIONAL_PACKAGES=true), host directories, NGC login, bring-up command, healthcheck loop, and known deployment issues are all documented there. This is the right path if you only need VIOS itself (no RT-VLM / ELK / etc.) or if you're composing a custom profile. (b) Deploy a full VSS profile that includes VIOS via the/vss-build-vision-aiskill —base(recommended),lvs,search, oralertsall bring VIOS up alongside other components. This is the right path if you want a complete VSS stack. Which would you like?"
references/deploy-vios-service.md step by step. Pay particular attention to its § Environment Variables — Required for Upload-to-Caption Path and § Known Deployment Issues sections — the libav-missing failure (VST_INSTALL_ADDITIONAL_PACKAGES=true) and the volume-drift hang (docker compose up --yes or docker volume rm first) are the two most common bring-up blockers. After deploy succeeds, record the operator's ingress origin with vss configure --base-url "${VSS_PUBLIC_URL}" (stop and ask if that variable is unset) and confirm vss vios list exits 0, then return here./vss-build-vision-ai stock workflow (default base). Return here once it succeeds and vss configure records the new origin.Pre-authorized autonomous mode: if your caller has granted explicit pre-authorization to deploy prerequisites (e.g. the request says "pre-authorized to deploy prerequisites", or you are running in a non-interactive evaluation harness with that permission), skip the confirmation and prefer path (a) — bring up VIOS standalone via this skill's bundled references/deploy-vios-service.md — unless the request explicitly asks for a full VSS profile, in which case invoke the /vss-build-vision-ai stock Base workflow.
If vss vios list exits 0, proceed. An empty sensor list at exit 0 means the deployment has no sensors; it is not a missing service. Do not retry it.
VIOS's sensor listing (GET /vst/api/v1/sensor/list) can return HTTP 502 Bad Gateway or stale results when leftover *-smc VST containers from an earlier deploy survive teardown and win the network_mode: host port-bind race on :30000 / :30888. vss vios list fails that way, and so do timeline, clip, snapshot, and delete, because each resolves the sensor name through that listing. Report the failure; do not route around it with a raw call. Remediation: re-run /vss-build-vision-ai — its Step 0 teardown grep clears the full sensor-ms-* / vst-ingress-* / sdr-* / sdrc-* / rtspserver-ms-* set. Full failure-mode catalogue, remediation, and the current routing contract (direct vs SDRC; SDR/Envoy removed in PR #711) live in references/deploy-vios-service.md § Known Deployment Issues and issue #151.
Recorded origin: vss configure show. CLI examples take no endpoint.
If nothing is recorded: the only endpoint input is vss configure --base-url "${VSS_PUBLIC_URL}", using the ingress origin the operator already has. If VSS_PUBLIC_URL is unset, stop and ask. Never default a host or port. Do not discover or guess Kubernetes Service names, NodePorts, release names, or node IPs, and do not start a port-forward.
Availability check:
vss vios call, run vss configure check, then vss vios list.vss vios list means no deployment is recorded, or it does not expose vst. See the Deployment prerequisite section.vss configure check means some recorded route is unreachable. It blocks VIOS work only when the vst row is UNREACHABLE. Otherwise continue to vss vios list.vss configure check means nothing is recorded; see Setup.Run the commands yourself — vss vios for list, add, delete, timeline, clip, and snapshot. curl only for the direct-REST cases in Instructions, against VST_API_BASE from the recorded deployment. Never instruct the user to run commands manually.
Auth: Covered operations go through the CLI. On a direct REST call, most deployments run without auth. If a 401 is returned, retry with -H "Authorization: Bearer <token>" and ask the user for the token.
Start/end time handling:
--start-time and --end-time to vss vios clip, or --at to vss vios snapshot.video sensor defaults to its first recorded segment, and vss vios clip --sensor NAME returns that window with the media_url. A stream sensor has no default: pass both bounds as ISO-8601, from the user or from a segment vss vios timeline lists. Do not invent bounds.vss vios timeline --sensor NAME is how you inspect the recorded range. Never fabricate timestamps.Resolving a sensor: Address media by the sensor name. Confirm it with vss vios list (--type video|stream and --sensor NAME optional). Do not build a sensorId from a name. If an id is required, read it from that listing.
| Capability | How | Authoritative reference |
|---|---|---|
| List sensors | vss vios list | ../../../AGENTS.md |
| Add / delete a video or stream | vss vios add SOURCE; vss vios delete --type video|stream --sensor NAME | ../../../AGENTS.md |
| Recording timeline | vss vios timeline --sensor NAME | ../../../AGENTS.md |
| Clip | vss vios clip --sensor NAME → media_url | ../../../AGENTS.md. The CLI already re-anchors the URL VIOS returns on the recorded origin, which removes the Finding 8 doubled http:// |
| Snapshot | vss vios snapshot --sensor NAME [--at T] → media_url | Same as clip |
| File upload | vss vios add --type video <file> | libav upload failures are a deploy bug in references/deploy-vios-service.md § Known Deployment Issues, not a reason to bypass the CLI |
| Sensor info/status/settings, storage file list and media info, recorder status, network scan, device settings, WebRTC, RTSP proxy, bytes to disk | Direct REST on VST_API_BASE — the CLI does not cover these | references/api-reference.md |
| NvStreamer (synthetic RTSP only) | Direct API only when the caller already supplied VSS_STREAMER_URL. If it is absent, stop and ask. Do not derive a hostname or port. | references/nvstreamer-api-reference.md (separate from VIOS; no /vst prefix; type: "streamer" on /version) |
Supported operations are the vss vios verbs in the service map. Read references/api-reference.md only for the direct-REST cases in Instructions, against VST_API_BASE.
NvStreamer is outside vss. When the user explicitly asks for a synthetic RTSP feed, the direct API is allowed only when the caller already supplied VSS_STREAMER_URL. Do not derive a hostname or port from VSS_PUBLIC_URL. If VSS_STREAMER_URL is absent, stop and ask. Follow references/nvstreamer-api-reference.md for that API, then register the RTSP URL it returns with vss vios add --type stream. NvStreamer comes up automatically with any VIOS-using profile that ships it; do not deploy it separately.
For integration- and deployment-time questions about how VIOS interacts with other microservices or how it's brought up, defer to references/integrate-vios-service.md and references/deploy-vios-service.md respectively (see the Reference contracts table above for what each covers).
When the user has a sensor name or IP but needs a clip or snapshot:
Confirm the vios group (see Setup — Availability check): vss configure check, then vss vios list. Exit 4 from vss vios list follows the deployment prerequisite.
Confirm the sensor by name:
SENSORS=$(vss vios list) || exit $?
printf '%s\n' "${SENSORS}" | jq .Pass --sensor NAME when the user named one. Do not build a sensorId from that name.
Inspect the recorded range:
vss vios timeline --sensor NAMEClip or snapshot. For a video sensor, pass a window only when the user supplied one; otherwise the clip is the first recorded segment and the snapshot the first recorded frame. A stream clip needs both --start-time and --end-time from step 2:
vss vios clip --sensor NAME
vss vios snapshot --sensor NAMEUse the returned media_url as given. A clip's warmed: false means the CLI host could not fetch it; report that rather than rebuilding the URL.
Covered operations return CLI JSON on stdout and a typed exit code. Branch on the exit code (AGENTS.md). An empty sensor list at exit 0 is an answer. Do not retry it.
A direct REST call returns the service's own shapes. Success with data: JSON object or array. Success with no data: null — the call succeeded but there is nothing to return (for example a scan found nothing). It is not an error. Error: JSON object with error_code and error_message:
{
"error_code": "VMSInternalError",
"error_message": "VMS internal processing error"
}Common codes: VMSInternalError, VMSNotFound, VMSInvalidParameter.
If vss vios add exits 3 with Failed to get media information, this is the libav-missing failure mode — VIOS was deployed without VST_INSTALL_ADDITIONAL_PACKAGES=true. See references/deploy-vios-service.md § Known Deployment Issues Finding 9 for the fix. That is a service bug, not a reason to bypass the CLI.
The doubled http:// VIOS writes into /url responses (Finding 8 in references/integrate-vios-service.md § Known Integration Constraints) does not reach you through vss vios clip or snapshot: the CLI re-anchors every returned URL on the recorded origin. It matters only for a direct /url call, where you strip the duplicated prefix yourself.
Example operation prompts:
vss configure. Exit 4 means reconfigure with the operator's ingress origin or deploy.${VST_CONTAINER_ROOT} as a neutral placeholder for the VST install root inside the container. Resolve it from the active deployment before using path examples.vss vios list exits 4. Cause: no deployment is recorded, or the recorded deployment does not expose vst. Solution: vss configure --base-url "${VSS_PUBLIC_URL}" when that origin is already set; if it is unset, stop and ask. Or follow the deployment prerequisite.vss configure check exits 3. Cause: a previously recorded route is unreachable. Solution: stop only when the vst row is UNREACHABLE; otherwise continue to vss vios list.Failed to get media information. Cause: libav packages were not installed in the VIOS container. Solution: set VST_INSTALL_ADDITIONAL_PACKAGES=true and redeploy. Do not bypass the CLI./url call returns http://http://.... Cause: known URL construction defect in the service (Finding 8). Solution: strip the duplicated prefix. vss vios clip and snapshot already do.references/provision-vios-source.md has the logs to read if it genuinely never arrives.jq, or use set -o pipefail. jq's exit code is not the CLI's. See AGENTS.md.2026-04-10T10:30:00Z or 2026-04-10T10:30:00.000Z. A video clip bound may also be seconds from the recording start.streamId as both a path parameter and a request header — include both. Covered clip and snapshot calls are vss vios clip and vss vios snapshot.vss vios clip returns media_url, already re-anchored on the recorded origin. Pass it on as given.video is a file-backed sensor; stream is RTSP. Read the type from vss vios list, then delete with vss vios delete --type <that type> --sensor NAME; a mismatch is refused.vss vios add --type video records the file. Read the anchored range with vss vios timeline --sensor NAME before a later clip or snapshot. Do not hand-build an upload request.vss configure recorded.© NVIDIA-AI-Blueprints, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 9 other files (references) in skills/operations/vss-manage-video-io-storage of NVIDIA-AI-Blueprints/video-search-and-summarization.
Open the folder on GitHubat commit fdb6a7a
Vss Manage Video Io Storage next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Vss Manage Video Io Storage this skillNVIDIA-AI-Blueprints/video-search-and-summarization | 1.9k | — | ~6.8k | Automated safety check: Pass | Apache-2.0 | |
| Mintlify APImacro-inc/macro | 4.6k | 2 repos | ~333 | Automated safety check: Pass | MIT | |
| Frappe Ops Website DeployImpertio-Studio/Frappe_Claude_Skill_Package | 189 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Golem Add HTTP Endpoint Effectgolemcloud/golem | 1.5k | — | ~3.3k | Automated safety check: Pass | Custom licence | |
| Ship Coolifykovrichard/catalyst | 470 | — | ~1.9k | Automated safety check: Notes | None | |
| Finding TriageHacktronAI/skills | 115 | — | ~2.9k | Automated safety check: Notes | MIT |
macro-inc/macro
Interact with the Mintlify REST API to manage deployments, trigger builds, and query documentation site metadata programmatically.
Impertio-Studio/Frappe_Claude_Skill_Package
Deploy HTML/CSS websites to ERPNext/Frappe (v15/v16) as Web Pages via the REST API.
golemcloud/golem
Exposing an Effect-based Golem agent over HTTP. An agent skill from golemcloud/golem.
kovrichard/catalyst
Verify a Coolify deploy end-to-end after a push — wait for GitHub CI, then the Coolify deployment, confirm the commit is live, and run a visual check.
HacktronAI/skills
Interactively validate and triage Hacktron findings against the actual source code and (optionally) a live deployment, separate true positives from false positives, adjust severity, then either…
mukul975/Anthropic-Cybersecurity-Skills
Deploys and monitors Canary Tokens via the Thinkst Canary REST API for deception-based breach detection, programmatically creating web bug, DNS, MS Word document, and AWS API key tokens and…
NVIDIA-AI-Blueprints/video-search-and-summarization
Measure retrieval quality and latency of a deployed VSS search profile by ingesting a labelled dataset and running the vss CLI across retrieval paths.
NVIDIA-AI-Blueprints/video-search-and-summarization
A skill your agent uses when a user wants to search archived VSS video that is already registered in a configured deployment — by natural-language, similarity, attribute, object-ID, or lexical tag…
NVIDIA-AI-Blueprints/video-search-and-summarization
Plan, run, and diagnose reproducible RT-VLM GPU performance canaries and benchmarks.
NVIDIA-AI-Blueprints/video-search-and-summarization
Add agent-ready vision capabilities — dense captioning, detection, search, alerting, summarization — to an agent or application through a customizable, self-contained vision stack built on the…
NVIDIA-AI-Blueprints/video-search-and-summarization
Measure whether an RT-VLM configuration change altered caption quality — capture paired baseline and candidate captions for a set of videos, score both against a ground truth with an LLM judge, and…
NVIDIA-AI-Blueprints/video-search-and-summarization
A skill your agent uses when adding, debugging, or validating a bring-your-own VLM in VSS RT-VLM, including custom Hugging Face or NGC checkpoints, vLLM adapters or plugins, model shims, and…
A skill your agent uses to drive vss vios for sensor list, timelines, clips, snapshots, and add/delete of video or stream sources, and the VIOS REST API only for what that CLI does not cover (sensor…. Vss Manage Video Io Storage is an agent skill from NVIDIA-AI-Blueprints/video-search-and-summarization. Use to drive vss vios for sensor list, timelines, clips, snapshots, and add/delete of video or stream sources, and the VIOS REST API only for what that CLI does not cover (sensor info/status/settings, storage and recorder status, WebRTC, the RTSP proxy, network scan, device settings, bytes to disk, the NvStreamer API), when the caller names a REST endpoint, or to debug VIOS.
Vss Manage Video Io Storage fits situations like: drive vss vios for sensor list; add/delete of video; the VIOS REST API only for what that CLI does not cover (sensor info/status/settings; storage and recorder status.
Run `npx skills add NVIDIA-AI-Blueprints/video-search-and-summarization --skill vss-manage-video-io-storage -a claude-code`. Or copy the skill folder (skills/operations/vss-manage-video-io-storage in NVIDIA-AI-Blueprints/video-search-and-summarization) into .claude/skills/vss-manage-video-io-storage in your project. Claude Code loads it when a task matches its description.
Run `npx skills add NVIDIA-AI-Blueprints/video-search-and-summarization --skill vss-manage-video-io-storage -a codex`. Or copy the skill folder (skills/operations/vss-manage-video-io-storage in NVIDIA-AI-Blueprints/video-search-and-summarization) into .agents/skills/vss-manage-video-io-storage in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add NVIDIA-AI-Blueprints/video-search-and-summarization --skill vss-manage-video-io-storage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vss-manage-video-io-storage, .gemini/skills/vss-manage-video-io-storage, .github/skills/vss-manage-video-io-storage and .opencode/skills/vss-manage-video-io-storage in your project.
Going by SKILL.md and its folder, Vss Manage Video Io Storage needs the command-line tools its instructions call (jq, docker, uv and kubectl) and credentials named NGC_CLI_API_KEY and NVIDIA_API_KEY. Our summary lists: Docker; A credential in NGC_CLI_API_KEY; A credential in NVIDIA_API_KEY.
SKILL.md contains no URLs. Its commands use docker and uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Vss Manage Video Io Storage is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 6.8k tokens (SKILL.md is roughly 27k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 51k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Vss Manage Video Io Storage: Mintlify API (macro-inc/macro, 4.6k stars), Frappe Ops Website Deploy (Impertio-Studio/Frappe_Claude_Skill_Package, 189 stars), Golem Add HTTP Endpoint Effect (golemcloud/golem, 1.5k stars) and Ship Coolify (kovrichard/catalyst, 470 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
NVIDIA-AI-Blueprints (a GitHub organization) maintains it in NVIDIA-AI-Blueprints/video-search-and-summarization, which has 1,919 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on October 10, 2026.
Source: NVIDIA-AI-Blueprints/video-search-and-summarization on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.