nvidia-tao/tao-skill-bank/paidf-cosmos-predict
Claude Code and agent skill by nvidia-tao/tao-skill-bank
- community
- ext:[{"type":"config","description":"Configuration overrides"}]
Checking that the SKILL.md file is still in the repository.
Prepare and run PAIDF Cosmos Predict video generation for DEFT media samples.
Install
npx vskill@latest install nvidia-tao/tao-skill-bank/paidf-cosmos-predictSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
PAIDF Cosmos Predict Generation
Prepare and run PAIDF Cosmos Predict generation for media samples. The skill emits a JSONL handoff that maps each input id to the original media path and generated video path.
Purpose
Use this skill when a DEFT workflow already has media samples and needs synthetic/generated videos from PAIDF Cosmos Predict. This skill does not start the VLM captioning service. A reachable OpenAI-compatible base URL for the model used to caption input media must be provided at runtime.
Prerequisites
- Docker with NVIDIA GPU support and
nvidia-container-toolkit. - Access to the PAIDF augmentation image declared by
images.metropolis_sdg.paidf_augmentationinversions.yaml. - A running VLM captioning service with an OpenAI-compatible API base URL. The base URL must be provided by the user or upstream workflow at runtime; reuse that exact base URL for every
--vlm-captioning-endpointargument. Do not include/modelsinVLM_CAPTIONING_ENDPOINT. HF_TOKENin the run environment when Cosmos model downloads require HuggingFace access — exported, or in a user-approved env file (bareKEY=valuelines) that the run block sources.VLM_API_KEYin the run environment the same way when the VLM captioning endpoint requires authentication.- Input media paths that are absolute paths on the host under the required media directory. Pass the host media directory with
--media-dir; the skill mounts it into the PAIDF container at the exact same path.
Inputs
| Input | Required | Notes | |
|---|---|---|---|
| Input JSONL | Yes | Path to the generic media JSONL. The user or upstream workflow must provide it. Each row must include string fields id and media_path; id values must be unique. | |
| Output directory | Yes | Host directory for prepared PAIDF config, generated videos, captions, metadata, logs, and final handoff. The user or upstream workflow must provide it. | |
| VLM captioning endpoint base URL | Yes | The user or upstream workflow must provide this OpenAI-compatible base URL, for example a URL ending in /v1. Do not include /models. Pass the exact same base URL to verify_vlm_captioning_base_url.py before any other step and to prepare_paidf_config.py when writing config.yaml. | |
| Generation settings | No | If the user provides a generation settings JSON, use it. Otherwise set GENERATION_SETTINGS to skills/data/paidf-cosmos-predict/assets/default_generation_settings.json. Always pass the resolved path to prepare_paidf_config.py with --generation-settings. | |
| PAIDF GPU count | Yes | Number of GPUs for PAIDF augmentation. Pass it to prepare_paidf_config.py with --paidf-num-gpus N and to Docker with --gpus "$PAIDF_NUM_GPUS". | |
| Media directory | Yes | Host directory containing the input media referenced by media_path. Pass it as --media-dir /path/to/media_dir to prepare_paidf_config.py and mount it into Docker 1:1. | |
| VLM captioning prompt | Yes | Prompt text file for VLM captioning. Pass it to prepare_paidf_config.py with --caption-prompt-file; the script inlines the prompt into config.yaml. | |
HF_TOKEN | Yes for Cosmos model downloads | The agent checks that HF_TOKEN is already set in the run environment, whether exported or sourced from a user-approved env file, and forwards it to Docker with -e HF_TOKEN. | |
VLM_API_KEY | Yes when the VLM captioning endpoint requires authentication | The agent warns when VLM_API_KEY is not set, then forwards it to Docker with -e VLM_API_KEY when present. If the endpoint does not require authentication, PAIDF can run without it. |
Input JSONL row shape:
The input JSONL may contain duplicate media_path values, but every id must be unique. This lets an upstream workflow attach multiple logical samples to the same source video while avoiding repeated PAIDF generation for that video.
Example:
prepare_paidf_config.py converts media_path values to absolute paths and deduplicates them before writing config.yaml, so each unique video appears only once in PAIDF data[] and goes through captioning/generation only once. write_paidf_handoff.py then expands back to the input row level so every original id appears in either generated_videos.jsonl or failed_videos.jsonl, with duplicate media rows pointing to the same generated or expected-generated video path.
Runtime Image
The PAIDF augmentation image is resolved from images.metropolis_sdg.paidf_augmentation in versions.yaml; users do not need to provide it for the standard workflow.
Agent Run Procedure
Before running, determine these runtime values from the user request or upstream workflow output:
INPUT_JSONL: path to the media JSONL.OUTPUT_DIR: path to the PAIDF output directory.VLM_CAPTIONING_ENDPOINT: user-provided VLM captioning OpenAI-compatible base URL. Do not include/models.GENERATION_SETTINGS: user-provided generation settings JSON, orskills/data/paidf-cosmos-predict/assets/default_generation_settings.jsonwhen the user did not provide one.PAIDF_NUM_GPUS: PAIDF GPU count.MEDIA_DIR: media directory to mount 1:1 into Docker.CAPTION_PROMPT_FILE: VLM captioning prompt file.
If required values are missing, ask the user for them before launching PAIDF.
Set the runtime values:
If the user provides a generation settings JSON, replace GENERATION_SETTINGS with that path.
Check the VLM captioning base URL before preparing PAIDF inputs. This sends a preflight request to <VLM_CAPTIONING_ENDPOINT>/models only to verify that the base URL is reachable and OpenAI-compatible. PAIDF still receives VLM_CAPTIONING_ENDPOINT itself in config.yaml, not the derived /models URL.
If this fails, stop the PAIDF workflow and issue an error indicating that the user-provided base URL did not pass the OpenAI-compatible /models preflight check.
Prepare the PAIDF output directory:
prepare_paidf_config.py performs a writeability preflight, writes config.yaml, writes path_map.jsonl, writes run_metadata.json, and creates container-writable output directories. If an existing mounted directory or file is not writable by the agent, it fails early with a permission-fix command.
The generated config uses VLM-only captioning plus Cosmos Predict text-to-world generation. PAIDF's separate LLM prompt-augmentation step is disabled by omission: captioning.llm is not present. prepare_paidf_config.py inlines CAPTION_PROMPT_FILE into captioning.vlm.user_prompt.
Prepared helper files:
path_map.jsonlmaps each unique absolute inputmedia_pathto the deterministic generated video path, caption path, and metadata path.write_paidf_handoff.pyuses it to produce one generated or failed handoff row per input row.run_metadata.jsonrecords the VLM captioning endpoint, captioning model, and PAIDF GPU count used whenconfig.yamlwas prepared. It is provenance only.
Run PAIDF:
The Docker command resolves the PAIDF image from versions.yaml, mounts MEDIA_DIR 1:1 read-only, mounts OUTPUT_DIR 1:1 writable, forwards HF_TOKEN and VLM_API_KEY, and keeps a copy of Docker stdout/stderr in $OUTPUT_DIR/paidf_docker.log via tee. set -o pipefail preserves the Docker exit status when using tee.
Create the handoff after PAIDF writes the generated videos:
Workflow
- Verify the user-provided VLM captioning base URL with
verify_vlm_captioning_base_url.py. If this fails, stop and report the OpenAI-compatible/modelspreflight error. - Run
prepare_paidf_config.pyon the input media JSONL using that same endpoint. It reads VLM captioning and PAIDF generation values from the generation settings, preflights write access, writes the PAIDF config and path map, and dedupes PAIDF generation to one entry per unique media path. - Run the PAIDF Docker command. The agent should monitor Docker output, Docker exit status, and generated output counts.
- Run
write_paidf_handoff.pyto producegenerated_videos.jsonlandfailed_videos.jsonl.
Long-Running Run Updates
PAIDF generation can run for a long time. During an agent-driven run, keep the user informed without requiring them to ask for status.
- Before launching PAIDF, report the output directory, unique media count from
path_map.jsonl, PAIDF GPU count, and media directory. - While PAIDF is running, provide a short progress update every 30 minutes. Include elapsed time, generated video count under
generated/videos/, expected unique media count, and the latest useful PAIDF log signal if available. - If using a tool environment where one foreground Docker command would block user-facing updates, launch PAIDF in a monitorable way, then poll Docker status/logs and filesystem output counts between updates.
- On completion, report whether the container exited successfully, generated video count, missing output count if any, and the
generated_videos.jsonlandfailed_videos.jsonlpaths after runningwrite_paidf_handoff.py. - On failure, report the container exit code, the relevant Docker output, and whether any partial generated videos were produced.
Reference Files
assets/default_generation_settings.json is the default VLM captioning and Cosmos Predict generation settings file. If the user provides a different generation settings JSON, set GENERATION_SETTINGS to that path; otherwise set it to the default asset path. Always pass the resolved path with --generation-settings. Use assets/paidf_config_template.yaml only as a readable shape for the generated PAIDF config.
Deterministic Mapping
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/data/paidf-cosmos-predict/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Extension points
configConfiguration overrides
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/nvidia-tao/tao-skill-bank/paidf-cosmos-predict)