/amc-run-video-calibration
Calibrate a new dataset from pre-recorded video files via the AutoMagicCalib REST API. Use when user has local MP4s and says 'calibrate my videos', 'run AMC on these videos', or similar. For RTSP/live streams, use amc-run-rtsp-calibration instead.
$ npx -y skills add NVIDIA/skills --skill amc-run-video-calibration --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/amc-run-video-calibration
Context preview
The summary Claude sees to decide when to auto-load this skill.
Calibrate a new dataset from pre-recorded video files via the AutoMagicCalib REST API. Use when user has local MP4s and says 'calibrate my videos', 'run AMC on these videos', or similar. For RTSP/live streams, use amc-run-rtsp-calibration instead.
SKILL.md
amc-run-video-calibration.SKILL.mdname: "amc-run-video-calibration"
description: "Calibrate a new dataset from pre-recorded video files via the AutoMagicCalib REST API. Use when user has local MP4s and says 'calibrate my videos', 'run AMC on these videos', or similar. For RTSP/live streams, use amc-run-rtsp-calibration instead."
owner: "NVIDIA CORPORATION"
service: "auto-magic-calib"
version: "1.0.0"
reviewed: "2026-04-28"
license: "Apache-2.0"
metadata:
author: "NVIDIA CORPORATION"
tags: [amc, calibration, rest-api, camera, python]
Skill: Calibrate from Video Files
When to Use This Skill
Activate this skill when the user has pre-recorded MP4 files and wants to calibrate them via the AMC REST API. Typical prompts:
- "calibrate my videos" / "run AMC on these videos"
- "calibrate from video files"
Drives calibration through the REST API on user-supplied **pre-recorded MP4 files** — no CLI scripts or Docker bind-mounts required, just a running microservice and your files.
Do not use this skill for live RTSP streams or `rtsp://...` URLs; route those requests to `skills/amc-run-rtsp-calibration/SKILL.md`.
Prerequisites
- [ ] AMC microservice **and** UI running (follow `skills/amc-setup-calibration-stack/SKILL.md`)
- [ ] You know the microservice URL (e.g. `http://<HOST_IP>:<MS_PORT>`) and UI URL
- [ ] Video files locally as `cam_00.mp4`, `cam_01.mp4`, … time-synchronized, ~1920×1080
- [ ] Python 3 with `requests`
Data Privacy
Video files uploaded via this skill are transmitted to the AutoMagicCalib backend (REST endpoint). Only use this skill when the backend is deployed on a trusted platform / network.
What to Ask the User
Required
(Video-file naming and the microservice URL are specified under Prerequisites above — collect the inputs below.) 1. **Videos directory** — the folder the skill globs for `cam_*.mp4`, uploaded sorted alphabetically. 2. **Microservice URL** 3. **Project name** — short descriptive string
Auto-Detected (ask only if not found)
The script searches the videos dir, its first-level subdirectories, and its parent. If exactly one match is found, it is used; otherwise the script prints the searched locations and continues to explicit path or UI fallback:
| File | Candidate filenames | UI fallback | |---|---|---| | Calibration settings | `settings.json`, `config.json`, `calibration_config.json` | UI Step 3: Parameters | | Alignment JSON | `alignment_data.json` | UI Step 4: Alignment | | Layout PNG | `layout.png` | UI Step 4: Alignment |
Posting the settings file replaces UI Step 3 and may pin the detector (`resnet`/`transformer`), which is passed to `/calibrate` separately — see Step 4.
Optional
4. **Ground truth zip** — `GT.zip` with `_World_Cameras_Camera_XX/` folders (enables evaluation metrics) 5. **Focal lengths** — one per camera, e.g. `1269.0, 1099.5, 1099.5` 6. **Detector type** — `resnet` (default, fast) or `transformer` (slower, better under occlusion) 7. **Run VGGT refinement?** — if VGGT is ready after AMC completes, ask the user whether to run refinement (see setup skill)
See root `README.md` "Custom Dataset" section for input-video guidelines and ground-truth format.
---
Instructions
All endpoints below are implemented end-to-end in the [Complete Python Script](#complete-python-script) — the prose is the workflow plus the decisions the agent must make; the script is the authoritative runnable.
Step 1 — Create Project
`POST /v1/create_project` (form field `project_name`) → save the returned `project_id`.
Step 2 — Upload Videos (required)
`POST /v1/upload_video_files/<project_id>` (multipart `files`). **Upload sorted alphabetically** — the server assigns camera indices by upload order.
Step 3 — Resolve Local Files (Auto-Scan, Ask, or UI)
For each of calibration-settings, alignment, and layout, run this resolution:
1. **Auto-scan** `VIDEO_DIR`, one level of subdirectories under `VIDEO_DIR`, and `VIDEO_DIR.parent` for the candidate filenames (table above). 2. If **exactly one match**, use it and print what was found. 3. If **zero or multiple matches**, print the searched locations, then ask the user for an explicit path using the host's question mechanism; if none is available, ask in chat and wait. If they don't have the file, mark it for UI fallback. 4. **UI fallback**: tell the user to complete the corresponding UI step; wait for confirmation; for alignment/layout also verify files landed in `projects/project_<id>/manual_adjustment/`.
Step 4 — Upload Resolved Files
Upload each file resolved locally:
| File | Endpoint | Notes | |---|---|---| | Calibration settings | `POST /v1/config/<project_id>` (JSON, posted as-is) | Replaces UI Step 3 (rectification, bundle-adjustment, evaluation, detector, …). Non-2xx is surfaced — never silently fall back. Skip on the UI-fallback path. | | Alignment | `POST /v1/upload_alignment/<project_id>` (`alignment_data.json`) | | | Layout | `POST /v1/upload_layout/<project_id>` (`layout.png`) | | | Ground truth (optional) | `POST /v1/upload_gt_file/<project_id>` (`GT.zip`) | Enables evaluation metrics | | Focal lengths (optional) | `POST /v1/upload_focal_length/<project_id>` (repeated `focal_length=`) | Overrides GeoCalib estimates |
After a successful settings POST, parse the file for `"detector"` / `"detector_type"` — if it's `"resnet"` or `"transformer"`, use that value for the `/calibrate` call in Step 7 (detector is a separate API parameter, not consumed by `/config`).
Step 5 — UI Fallback (only for files the user doesn't have locally)
If any of settings / alignment / layout was not resolved in Step 3, direct the user to the appropriate UI step:
- **Settings missing** → "Open UI project `<project_id>`, go to **Step 3: Parameters**, tune via the settings dialog (or accept defaults), click Save." **Also**: before the `/calibrate` call, ask the user which detector to use (`resnet` or `transformer`) using the host's question mechanism; if none is available, ask in chat and wa
Read more
name: "amc-run-video-calibration" description: "Calibrate a new dataset from pre-recorded video files via the AutoMagicCalib REST API. Use when user has local MP4s and says 'calibrate my videos', 'run AMC on these videos', or similar. For RTSP/live streams, use amc-run-rtsp-calibration instead." owner: "NVIDIA CORPORATION" service: "auto-magic-calib" version: "1.0.0" reviewed: "2026-04-28" license: "Apache-2.0" metadata: author: "NVIDIA CORPORATION" tags: [amc, calibration, rest-api, camera, python]
Skill: Calibrate from Video Files
When to Use This Skill
Activate this skill when the user has pre-recorded MP4 files and wants to calibrate them via the AMC REST API. Typical prompts:
- "calibrate my videos" / "run AMC on these videos"
- "calibrate from video files"
Drives calibration through the REST API on user-supplied **pre-recorded MP4 files** — no CLI scripts or Docker bind-mounts required, just a running microservice and your files.
Do not use this skill for live RTSP streams or `rtsp://...` URLs; route those requests to `skills/amc-run-rtsp-calibration/SKILL.md`.
Prerequisites
- [ ] AMC microservice **and** UI running (follow `skills/amc-setup-calibration-stack/SKILL.md`)
- [ ] You know the microservice URL (e.g. `http://<HOST_IP>:<MS_PORT>`) and UI URL
- [ ] Video files locally as `cam_00.mp4`, `cam_01.mp4`, … time-synchronized, ~1920×1080
- [ ] Python 3 with `requests`
Data Privacy
Video files uploaded via this skill are transmitted to the AutoMagicCalib backend (REST endpoint). Only use this skill when the backend is deployed on a trusted platform / network.
What to Ask the User
Required
(Video-file naming and the microservice URL are specified under Prerequisites above — collect the inputs below.) 1. **Videos directory** — the folder the skill globs for `cam_*.mp4`, uploaded sorted alphabetically. 2. **Microservice URL** 3. **Project name** — short descriptive string
Auto-Detected (ask only if not found)
The script searches the videos dir, its first-level subdirectories, and its parent. If exactly one match is found, it is used; otherwise the script prints the searched locations and continues to explicit path or UI fallback:
| File | Candidate filenames | UI fallback | |---|---|---| | Calibration settings | `settings.json`, `config.json`, `calibration_config.json` | UI Step 3: Parameters | | Alignment JSON | `alignment_data.json` | UI Step 4: Alignment | | Layout PNG | `layout.png` | UI Step 4: Alignment |
Posting the settings file replaces UI Step 3 and may pin the detector (`resnet`/`transformer`), which is passed to `/calibrate` separately — see Step 4.
Optional
4. **Ground truth zip** — `GT.zip` with `_World_Cameras_Camera_XX/` folders (enables evaluation metrics) 5. **Focal lengths** — one per camera, e.g. `1269.0, 1099.5, 1099.5` 6. **Detector type** — `resnet` (default, fast) or `transformer` (slower, better under occlusion) 7. **Run VGGT refinement?** — if VGGT is ready after AMC completes, ask the user whether to run refinement (see setup skill)
See root `README.md` "Custom Dataset" section for input-video guidelines and ground-truth format.
---
Instructions
All endpoints below are implemented end-to-end in the [Complete Python Script](#complete-python-script) — the prose is the workflow plus the decisions the agent must make; the script is the authoritative runnable.
Step 1 — Create Project
`POST /v1/create_project` (form field `project_name`) → save the returned `project_id`.
Step 2 — Upload Videos (required)
`POST /v1/upload_video_files/<project_id>` (multipart `files`). **Upload sorted alphabetically** — the server assigns camera indices by upload order.
Step 3 — Resolve Local Files (Auto-Scan, Ask, or UI)
For each of calibration-settings, alignment, and layout, run this resolution:
1. **Auto-scan** `VIDEO_DIR`, one level of subdirectories under `VIDEO_DIR`, and `VIDEO_DIR.parent` for the candidate filenames (table above). 2. If **exactly one match**, use it and print what was found. 3. If **zero or multiple matches**, print the searched locations, then ask the user for an explicit path using the host's question mechanism; if none is available, ask in chat and wait. If they don't have the file, mark it for UI fallback. 4. **UI fallback**: tell the user to complete the corresponding UI step; wait for confirmation; for alignment/layout also verify files landed in `projects/project_<id>/manual_adjustment/`.
Step 4 — Upload Resolved Files
Upload each file resolved locally:
| File | Endpoint | Notes | |---|---|---| | Calibration settings | `POST /v1/config/<project_id>` (JSON, posted as-is) | Replaces UI Step 3 (rectification, bundle-adjustment, evaluation, detector, …). Non-2xx is surfaced — never silently fall back. Skip on the UI-fallback path. | | Alignment | `POST /v1/upload_alignment/<project_id>` (`alignment_data.json`) | | | Layout | `POST /v1/upload_layout/<project_id>` (`layout.png`) | | | Ground truth (optional) | `POST /v1/upload_gt_file/<project_id>` (`GT.zip`) | Enables evaluation metrics | | Focal lengths (optional) | `POST /v1/upload_focal_length/<project_id>` (repeated `focal_length=`) | Overrides GeoCalib estimates |
After a successful settings POST, parse the file for `"detector"` / `"detector_type"` — if it's `"resnet"` or `"transformer"`, use that value for the `/calibrate` call in Step 7 (detector is a separate API parameter, not consumed by `/config`).
Step 5 — UI Fallback (only for files the user doesn't have locally)
If any of settings / alignment / layout was not resolved in Step 3, direct the user to the appropriate UI step:
- **Settings missing** → "Open UI project `<project_id>`, go to **Step 3: Parameters**, tune via the settings dialog (or accept defaults), click Save." **Also**: before the `/calibrate` call, ask the user which detector to use (`resnet` or `transformer`) using the host's question mechanism; if none is available, ask in chat and wa
Official, NVIDIA-verified Agent Skills for Claude Code, Codex, and other coding agents.
Other skills on nvidia-skills.
- /nvidia-skill-finder
Use for NVIDIA-related requests where an NVIDIA skill might help, even if the user did not ask for a skill. Trigger on NVIDIA products, hardware, software, SDKs, GPUs, Jetson/JetPack/L4T/BSP/SDK Manager/driver/flashing/setup, CUDA, NIM, NeMo, Omniverse/OpenUSD/SimReady,
Open skill - /accelerated-computing-cudf
Official NVIDIA-authored guidance for NVIDIA cuDF GPU DataFrames, pandas acceleration, dask-cuDF, ETL, joins, groupby, CSV/Parquet I/O, nullable semantics, and multi-GPU DataFrame workloads.
Open skill - /aiq-deploy
Use when asked to install, deploy, run, validate, troubleshoot, or stop NVIDIA AI-Q Blueprint infrastructure.
Open skill - /aiq-research
Use when asked to run deep research or AI-Q research through a reachable NVIDIA AI-Q Blueprint backend.
Open skill - /amc-run-sample-calibration
Run end-to-end calibration on the shipped sample dataset (sdg_08_2_sample_data_010926.zip) against a running AMC microservice. Use when user says 'test sample dataset', 'run sample calibration', 'verify AMC install', or 'launch and test'.
Open skill - /amc-setup-calibration-stack
Launch AutoMagicCalib microservice and web UI from NGC release images via Docker Compose. Use when user says 'deploy auto calibration', 'launch auto calibration', 'launch AMC', 'start MS+UI', or 'set up auto-magic-calib'. Requires NGC API key.
Open skill

