Install any skill in seconds. Free to start, no credit card required.
Get Started Free →nvidia/tao-generate-image-grounding
Two-step image grounding pipeline: extracts referring expressions from (image, caption) pairs and grounds them to pixel-space bounding boxes via a VLM.
Passed 20 of 21 test cases with the skill, and 6 of 21 without it.
and 17 more in the full report
15 fixed6 passed either way1 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 14 test cases the skill fixed. Same model, same prompt, with and without the skill.
I want to execute both expression extraction and phrase grounding in sequence in a single TAO auto-label command run. What is the value for the steps configuration array?
| Checked | Without skill | With skill |
|---|---|---|
| Sets workflow.steps to ["0", "1"]. | Missed | Passed |
The instructions your model reads when the skill loads.
Turn (image, caption) pairs into per-image grounded annotations: cleaned captions, referring expressions with character spans, and pixel-space bounding boxes for each expression. A single VLM (Gemini or any OpenAI-compatible endpoint) handles both steps.
Generate phrase-grounded training data for referring-expression and grounding models. The VLM acts as a "teacher" annotator: Step 0 extracts referring expressions from the caption while looking at the image; Step 1 returns one bbox set per expression for each image.
Step 0: Expression extraction → VLM cleans caption, extracts referring expressions + char spans
Step 1: Phrase grounding → VLM returns pixel bboxes + scores per expression
Steps are individually selectable via workflow.steps. Each step writes a per-sample checkpoint to step_<N>_*/.ckpt/<sample_id>.json and skips already-processed records on re-run. Set workflow.force_reprocess: true to ignore checkpoints and reprocess from scratch.
When a user wants to run this pipeline, walk through these steps:
Input JSONL: Ask for the JSONL path. Each line must be one object like {"image_path": "...", "caption": "..."}. image_path can be absolute or relative.
Image root: If any image_path values are relative, set data.image_root to the directory they should resolve from.
API access: Ask the user which VLM endpoint they want to use. Present these five options and act on the choice:
vlm.backend: "gemini"; require GOOGLE_API_KEY (env var or vlm.gemini.api_key).https://inference-api.nvidia.com/v1) — set vlm.backend: "openai"; collect base_url, model_name, and api_key.base_url, model_name, and (optionally) api_key; set vlm.backend: "openai".skills/applications/tao-run-inference-service skill, which stands up a local TAO inference microservice with an OpenAI-compatible API. Before promising a specific model, check skills/applications/tao-run-inference-service/references/service.yaml for valid_network_arch_config_basenames. Once the server is up, collect base_url, model_name, and (optionally) api_key; set vlm.backend: "openai".base_url, model_name, and (optionally) api_key; set vlm.backend: "openai".base_url, model_name, and (optionally) api_key; set vlm.backend: "openai".vlm.backend: "openai"; collect base_url, model_name, and (optionally) api_key.If the user has no endpoint and does not want to set one up, stop and help resolve API access first.
Workflow steps: Choose one of:
["0", "1"]["0"]test cases passed, vs 6 / 21 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.