image-attribute-augmentation-workflow

Run the PAIDF Image Attribute Augmentation Airflow DAG on Kubernetes for person-crop clothing augmentation.

3.2k|370|Updated Feb 25, 2026
One-click install
npx skills add https://github.com/NVIDIA/skills --skill image-attribute-augmentation-workflow
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: image-attribute-augmentation-workflow
Source: https://github.com/NVIDIA/skills/tree/main/skills/paidf-orchestration-image-attribute-augmentation-workflow
Command: npx skills add https://github.com/NVIDIA/skills --skill image-attribute-augmentation-workflow

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires boto3, and includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve?

Running the PAIDF Orchestration Image Attribute Augmentation DAG requires correct payload construction, cluster readiness verification, Airflow API authentication, and run monitoring — a multi-step process where misconfigured payloads or missing readiness checks cause silent runtime failures. This Skill guides an agent through the entire workflow with validated scripts and strict guardrails.

Core Features & Use Cases

  • End-to-end DAG orchestration: Preflight checks (controller pods, Airflow API, pools, GPU capacity), payload rendering, triggering via the Airflow REST API, and polling runs to a terminal state.
  • Payload rendering and validation: scripts/payload.py renders and validates ImageAttributeAugmentationDagPayloadConfig-compatible JSON for external or internal service modes, including conditional clothing-attribute distributions.
  • Dataset validation and upload: scripts/upload_images.py validates the <person_id>/<image> hierarchy and uploads person crops to S3 preserving relative paths.
  • Result summarization: scripts/summarize_results.py summarizes downloaded augmented_data.json manifests with attribute and query counts.
  • Use Case: A robotics engineer asks the agent to generate three clothing variations plus attribute captions for person re-identification crops stored in S3, using their own VLM, LLM, and image-edit endpoints on a Kubernetes cluster.

Quick Start

Ask your agent to run image attribute augmentation on your person-crop dataset at your S3 input path with your preferred service mode and number of clothing variations.

Frequently Asked Questions about image-attribute-augmentation-workflow

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run the image attribute augmentation DAG on Kubernetes?

Provide an S3 input path with person-ID subdirectories, an output directory, and a service mode (external or internal). The skill runs readiness checks on controller pods, the Airflow API, pools, and GPUs, then renders a payload with scripts/payload.py and triggers image_attribute_augmentation_dag_k8s through the Airflow REST API.

What is the difference between external and internal service mode?

External mode uses your own VLM, LLM, and image-edit endpoint URLs and needs no cluster GPUs for inference. Internal mode deploys all three services in-cluster via the DAG's service lifecycle, requiring at least three allocatable GPUs, one per service replica.

What dataset layout does image attribute augmentation require?

The input path must contain immediate subdirectories named by person ID, each holding JPG, JPEG, or PNG images. The bundled validator rejects root-level files, nested directories, symlinks, empty files, and extension/signature mismatches before upload.

Why does my augmentation run fail with a partial variable distribution?

A partial variable_distribution fails at runtime because the captioner template requires all six clothing attributes. Supply all six attributes and change only the target attribute's weights, or omit the field entirely to use deterministic defaults.

Can I run augmentation only without attribute search?

No. The checked-in DAG is a single end-to-end pipeline with no augmentation-only or labeling-only variant. The closest alternative is running the full pipeline and using the intermediate cosmos/ outputs.

How do I check the status of an augmentation run?

Query the Airflow API dagRuns endpoint with the recorded dag_run_id to get the run state, and use the taskInstances endpoint for a per-task breakdown. After success, results can be downloaded from <output_directory>/<run_id>/augmented_dataset/ and summarized with scripts/summarize_results.py.