本文へ移動
cccskills
無料GitHub で公開日本語紹介

cdf-video-data-augmentation

既存動画からCosmosでバリエーションを生成し、元動画と生成動画に自動ラベルを付けるCDFワークフローの設定作成、事前点検、実行監視、出力検証を支援するスキル。

原文原文の説明を見る

Run the CDF Video Data Augmentation Airflow workflow on Kubernetes or OSMO to create Cosmos video-to-video variants and auto-label both source and generated videos. Use for VDA payload authoring, preflight, execution, monitoring, output verification, or result retrieval. OSMO requires external endpoints. Standalone augmentation or auto-labeling configuration belongs to the respective component skill. Not for retrieval-driven CDF pipelines or image-to-video event generation.

連携ツールKubernetes
インストール方法を見る

こんなときに便利

  • 天候や時間帯を変えた動画生成
  • 元動画と生成動画の自動ラベル付け
  • 実行設定とGPUの空きを確認したいとき
  • 指定した実行の出力確認と結果取得

日本語での紹介

できること

既存動画からCosmos Transferでバリエーションを作り、元動画と評価を通過した生成動画に自動ラベルを付けるCDFワークフローを実行します。実行設定となるpayloadの作成・検証から、環境の事前点検、実行監視、出力確認までを扱います。生成候補数や評価結果、保存先を整理し、依頼に応じて結果の取得や要約も支援します。

こんなときに便利

天候や時間帯などの条件を変えた動画を作り、ラベル付きの学習用データを準備したいときに向いています。既存の実行が止まった原因や、生成物がそろっているかを確認する場面にも使えます。

使い方の例

  • 「この動画から天候を変えたバリエーションを作り、自動ラベルを付けて」
  • 「動画1本、生成1件のpayloadを作って検証して」
  • 「指定した実行の評価結果と出力先を確認して」

注意点

実行には対象のワークフローが読み込まれたAirflowと、GPU・ストレージなどの準備が必要です。KubernetesまたはOSMOに対応し、OSMOでは外部推論・評価エンドポイントを使います。送信前に設定の確認を求めます。元動画と生成動画の学習用出力は別々で、統合済みの最終データセット一覧は作りません。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(15)

  • SKILL.md17.6 KB
  • agents/openai.yaml318 B
  • assets/variable-distribution.json161 B
  • BENCHMARK.md11.3 KB
  • evals/evals.json17.2 KB
  • references/airflow-direct-api.md5.1 KB
  • references/outputs.md1.9 KB
  • references/payload-contract.md6.1 KB
  • references/setup-and-preflight.md6.3 KB
  • references/troubleshooting.md4.5 KB
  • scripts/payload.py16.0 KB
  • scripts/summarize_results.py5.1 KB
  • scripts/upload_videos.py5.7 KB
  • skill-card.md5.1 KB
  • skill.oms.sig6.8 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Run CDF Video Data Augmentation

Run the existing Video Data Augmentation workflow end to end. Read the getting-started guide and payload guide before authoring a payload. Treat the checked-in DAG, payload model, and platform manifest as the source of truth if the docs and implementation differ.

Use the bundled references progressively:

The workflow prepares source videos, runs the full auto-labeling and training-export chain on the source branch, generates Cosmos Transfer variants, runs the same chain on passing generated videos, validates storage outputs, and shuts down run-owned services. It does not produce one combined final dataset manifest.

Component details

Distinguish the configuration layers before authoring a payload:

Requested workRoute to
Augmentation container input/config YAML, model parameters, distributions, or evaluator settingscdf-augmentation
Auto-labeling container input/config, stage options, prompts, or question bankscdf-auto-labeling
Existing VDA DagRun conf.payload, mapping supported component options into it, triggering, monitoring, or resultsThis skill and its workflow references
Kubernetes/Airflow controller setup, environment audit, connections, or deployment readinesscdf-orchestration-setup
A requested new Kubernetes DAG with added, removed, or reordered stages that no existing DAG covers; or DAG parity review against a specificationcdf-orchestration-write-dag

Consult the component skill before authoring or changing its container configuration, even when that configuration is used inside a full VDA run. Component YAML and the Airflow trigger payload are different contracts; do not put an entire container config directly into conf.payload. Changing supported payload values alone does not require a new DAG. Route structural changes to the DAG-authoring skill only when requested; setup/deployment remains separately authorized.

When the request needs component configuration or diagnosis, consult that component's documentation, and do not invent keys or values. The links below are pinned to the latest main commit of each component repository as of 2026-10-20; a component skill installed separately may describe a different version.

ComponentCoversDocumentation at that commit
cdf-augmentationCosmos configuration, distributions, captioning, evaluator setup, and component errorscdf-augmentation skill
cdf-auto-labelingStage configuration, prompts/question banks, stage outputs, and component errorscdf-auto-labeling skill

Use only documentation at these commits; do not substitute a moving branch or another version. If the documentation is inaccessible, report the exact reference and continue only work supported by the local workflow guidance; do not invent component settings.

The orchestration routes are sibling skills in this repository: cdf-orchestration-setup for environment preparation and Airflow controller setup, and cdf-orchestration-write-dag for custom DAG composition and specification parity review.

The pinned component skills own container schemas, model options, prompt authoring, and evaluator internals; use their referenced documentation rather than maintaining local copies. This skill owns the VDA trigger contract and the constraints imposed by its checked-in DAG. Preserve those overrides in payload-contract.md; component capabilities do not automatically become supported DAG options. Keep execution through Airflow for a workflow request. If a pinned component contract differs from the deployed image or DAG integration, report the version mismatch before proposing settings; do not silently update an image or bypass an override. Routine payload rendering, status checks, and GPU sizing do not require loading both components.

Select the execution target

TargetDAG IDService modes
Kubernetesvideo_data_augmentation_dag_k8sInternal or external inference services
OSMOvideo_data_augmentation_dag_osmoExternal inference and evaluator endpoints only

List the DAGs Airflow actually loaded and check import errors before selecting a DAG. A platform DAG is registered only when its manifest exists. Never invent a DAG ID or reinstall Airflow merely because the requested DAG is absent; report that the existing installation does not contain it.

Use Kubernetes unless the user explicitly requests OSMO or supplies an OSMO execution context. For OSMO, require external_services: true, keep every service_lifecycle.*.enabled value false, and supply all VLM, LLM, Cosmos Transfer, and required Cosmos Evaluator endpoints. The OSMO manifest cannot deploy any of these services.

Minimum compute

For Kubernetes, let C be the number of enabled managed evaluator checkers, from zero to three. Each managed checker—hallucination, attribute verification, and physical plausibility—requires one GPU. Use C=0 when the evaluator is external or all checks are disabled.

ModeAbsolute GPU floorPractical default-graph minimum
Kubernetes, external inference servicesC + 1C + 2
Kubernetes, internal inference servicesC + 4C + 5
OSMO, all endpoints externalOne 1-GPU job slotTwo concurrent 1-GPU job slots

The absolute floor reserves one GPU for a runnable batch task; the practical minimum reserves two because source auto-labeling and Cosmos/output processing can overlap. Internal Kubernetes adds one GPU for the shared language endpoint and two for Cosmos3-Nano Transfer. Thus the default internal payload with all three bundled checks enabled needs 7 GPUs to make forward progress and 8 GPUs for the default parallel graph. With physical plausibility disabled but managed hallucination and attribute verification enabled, the corresponding floors are 6 and 7 GPUs. OSMO assigns each active task 1 GPU, 11 CPUs, 100 GiB RAM, and 100 GiB storage. Read setup-and-preflight.md for assumptions, scaling, and the external-service examples.

Manual payload entry in the Airflow UI

If the user explicitly wants to enter their own payload in the Airflow UI, confirm controller readiness, make the UI reachable, and report the URL. Do not render, confirm, or submit a second payload on their behalf. Once they say they triggered a run, locate it through the API and resume monitoring from the recorded DagRun configuration.

Collect the run contract

Before building a payload, confirm:

  • input_path: an accessible single video or directory containing .mp4, .avi, .mov, .mkv, or .webm files.
  • output_directory: a writable, run-appropriate storage prefix.
  • Target platform and external_services mode.
  • max_videos: use a positive integer for a bounded run. Use null, zero, or a negative integer for all videos; validation normalizes every unlimited form to null before input discovery.
  • cosmos.num_augmentation and a non-empty, video-appropriate cosmos.variable_distribution.
  • Enabled evaluator checks and whether the evaluator is managed or external.
  • For external mode, the real service URLs used by cosmos, captioning, visual_qa, and reasoning. cosmos.cosmos_transfer_service_url is operationally required even though the current schema does not reject its absence.

Never invent a path or endpoint — use only values the user supplied, including ones they supplied earlier for a previous run. Do not ask the user to paste credentials; inherit them from the configured Airflow connections, Kubernetes secrets, OSMO configuration, or shell environment.

For a local file or flat video directory, validate before upload:

python3 scripts/upload_videos.py --path /path/to/videos --validate-only
python3 scripts/upload_videos.py \
  --path /path/to/videos \
  --destination-path video-data-augmentation/my-run

The upload command requires a configured UPLOAD_DESTINATION and the standard AWS credential chain.

Bundled tools

  • scripts/upload_videos.py: validate and optionally upload one local video or a flat directory.
  • scripts/payload.py: render or validate standalone Kubernetes and OSMO payloads.
  • scripts/summarize_results.py: summarize a downloaded run's candidate, evaluator, labeling, export, and report files without loading media.
  • assets/variable-distribution.json: editable weather/time-of-day distribution for the bundled VDA prompt.

Run commands from this skill directory. The scripts never need credentials in command arguments.

Author and validate the payload

Start from the smallest payload that expresses the requested run, then validate it with scripts/payload.py. When the repository is available, also validate with VideoDataAugmentationDagConfig from airflow/dags/workflows/video_data_augmentation_dag/models/payload.py; it is authoritative for the deployed code.

Preserve these invariants:

  • Top-level external_services controls the VLM, LLM, and Cosmos Transfer lifecycle. Nested service modes and output directories must agree with the top level.
  • Internal Kubernetes mode enables the VLM, LLM, and Cosmos Transfer lifecycle entries. The checked-in Kubernetes manifest uses one shared language-model endpoint and a two-GPU Cosmos3-Nano Transfer endpoint.
  • External mode supplies every endpoint used by each enabled stage. If caption summaries are disabled, the captioning LLM endpoint is not required.
  • Whenever a cosmos object is present, include an explicit non-empty variable_distribution; otherwise the shared model can fall back to an unrelated clothing distribution.
  • The bundled transfer config fixes the generation model to nvidia/Cosmos3-Nano; cosmos.cosmos_transfer_model does not override it.
  • The DAG replaces visual_qa.question_bank_file with its bundled question bank. Do not claim that a payload value changes VDA questions.
  • Unknown fields may be ignored by the schema. Review field names rather than treating successful parsing as proof that every requested option took effect.
  • On Kubernetes, enabled evaluator checks may use either an explicit cosmos.cosmos_evaluator_service_url or managed evaluator components. On OSMO, every enabled check requires an external evaluator URL reachable from OSMO tasks; alternatively disable all checks explicitly.

Show the resolved, validated payload to the user without secrets and obtain confirmation before submitting a run. Submission authorization covers one run only.

Typical internal Kubernetes rendering:

python3 scripts/payload.py render \
  --platform k8s --service-mode internal \
  --input-path s3://bucket/vda/input/ \
  --output-directory s3://bucket/vda/output \
  --max-videos 1 --num-augmentation 1 \
  --variable-distribution assets/variable-distribution.json \
  --output /tmp/vda-payload.json

Preflight the existing installation

Do not deploy or reinstall unless the user explicitly asks. Before triggering:

  1. Inspect the active repository branch/worktree and the live controller state. Confirm controller pods are healthy, the target DAG is loaded and unpaused, and no relevant import error exists.

  2. Verify the required Airflow pools and open slots. Kubernetes uses k8s_rtx6000_1, default_pool (internal-mode augmentation also runs here), and cosmos_transfer_3_service_pool for external mode; OSMO uses osmo_rtx6000_1, default_pool, and cosmos_transfer_3_service_pool.

  3. Verify the selected task platform, object-storage access, endpoint reachability, image/model compatibility, cache/storage headroom, and required Airflow connections or secrets without printing credential values.

  4. Check actual free GPUs as well as advertised capacity and running consumers. Kubernetes batch stages use GPU task profiles in both service modes. Internal mode additionally deploys the shared language endpoint and two-GPU Cosmos Transfer endpoint. Each enabled managed checker consumes one GPU. Enforce the minimum-compute floor above, then size for the live execution graph, mapped inputs, replicas, and pool concurrency.

  5. Report stale failed pods or prior run-owned resources. Clean up only resources belonging to a run the user owns and only with authorization.

  6. From the repository root, confirm the deployment maps every bucket the payload reads or writes:

    python3 skills/cdf-orchestration-preflight/scripts/storage_check.py --payload <payload.json>
    

    It must print Storage mapping: ready. An UNMAPPED line means the run would fail at runtime; report the unmapped field and the configured prefixes to the user. Using that bucket requires changing the controller's storage configuration and redeploying it; with the user's authorization, route that change to orchestration setup, then rerun the check.

If the existing installation is not ready, report the failed prerequisite. Deployment, controller reinstallation, pool resizing, and destructive cleanup require separate explicit authorization. Use airflow-direct-api.md for the concrete checks; do not infer readiness only from a healthy Airflow UI.

Submit and monitor

Submit exactly one run with the confirmed payload under conf.payload, an explicit unique run ID when the interface supports it, and the required logical date for the Airflow REST API. Record the DAG ID, DagRun ID, platform, service mode, input, output prefix, requested input limit, augmentation count, and enabled evaluator checks. If the submission response is uncertain, look up the same run ID before retrying; do not create a duplicate run.

Monitor until the DagRun reaches success or failed. Inspect task instances and logs when state stalls or fails, especially:

  • auto_labeling_input for the source-video branch.
  • cosmos_augmentation and evaluator tasks for generated candidates.
  • auto_labeling_output for passing generated videos.
  • validated_output for final artifact checks.
  • Service shutdown tasks for cleanup, without confusing successful cleanup with workflow success.

For a requested stop, follow Stopping a run. Use the rest of that reference for evidence-driven failure routing.

Verify and report the result

For <output_directory>/<dag_run_id>/, verify:

  • cosmos/<video_key>/<augmentation_index>/ contains output.mp4, caption.txt, and metadata.json for each successful candidate. Account separately for evaluator-rejected or incomplete candidates.
  • auto_labeling_input/ and training_export/auto_labeling_input/ contain source-branch output.
  • auto_labeling_output/ and training_export/auto_labeling_output/ contain generated-branch output for passing candidates.
  • Generated media fully decodes and the observed video/candidate counts agree with the confirmed payload and evaluator outcomes.
  • Run-owned managed services were removed while external services remained untouched.

Return the terminal state, failing task and concise root cause when applicable, candidate and evaluator counts, artifact prefixes, service-cleanup state, and any validation gap. State clearly that the two training-export branches are separate. Download or analyze artifacts only when the user requests it. When they do, read outputs.md, download only the named run prefix, and use scripts/summarize_results.py before deeper media inspection.

Boundaries

  • Route standalone generation to cdf-augmentation and standalone labeling to cdf-auto-labeling using the pinned references above. The existing VDA DAG has no generation-only switch; do not trigger the full graph for a subset request without acceptance.
  • Use the autonomous_vehicle_dataset_generation_dag_k8s workflow for retrieval-driven CDF-AV processing and saved dataset or retrieval manifests.
  • Use the event-video-generation workflow for image-to-video anomaly generation from seed images.
  • Do not silently turn a run request into a deployment, DAG edit, custom workflow, endpoint replacement, or quality-policy change.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

accelerated-computing-cudf

無料概要あり

pandasで扱う表データ処理をcuDFでGPUへ移す作業を支援します。結合・集計・CSVやParquet入出力から、結果の照合、メモリ対策、複数GPU利用まで扱います。

  • 既存pandas処理を少ない変更で加速
  • 結合や集計をGPUへ移したいとき
  • 欠損値や並び順をpandasと照合
NVIDIA/skills3,6932026年10月22日 更新

NVIDIA Nemotron Voice Agentのサンプルを変更し、別のバックエンドを設けずに予約受付や患者情報の聞き取りを行う音声エージェントを作るスキル。

  • 予約受付の音声エージェント作成
  • 患者情報5項目の会話による収集
  • 独自の医療受付とツール呼び出し設計
NVIDIA/skills3,6932026年10月22日 更新

amc-run-rtsp-calibration

無料概要あり

ライブカメラのRTSP映像をVIOSで録画し、AutoMagicCalibでカメラ校正を進めます。設定や位置合わせ資料の取り込み、進捗確認、結果取得まで扱います。

  • ライブ映像でカメラ校正をしたいとき
  • 現場用の設定と位置合わせ資料を登録
  • 正解データを使った校正結果の評価
NVIDIA/skills3,6932026年10月22日 更新

amc-run-sample-calibration

無料概要あり

同梱の倉庫カメラ映像でAMCのカメラ校正を一通り実行し、正解データとの誤差を確認します。導入後の動作検証や、実データ投入前の確認に使えます。

  • 導入直後のAMCを動作確認したいとき
  • サンプルの校正誤差を確認したいとき
  • Swagger UIで手順を確認したいとき
NVIDIA/skills3,6932026年10月22日 更新

amc-run-video-calibration

無料概要あり

録画済みの複数カメラ映像をAutoMagicCalibに送り、カメラの位置や向きを調整する処理を、プロジェクト作成から進捗確認・結果評価まで進めます。

  • 同期済みMP4からカメラを調整したいとき
  • ローカル設定や対応点ファイルの登録
  • 正解データで調整結果を評価したいとき
NVIDIA/skills3,6932026年10月22日 更新

amc-setup-calibration-stack

無料概要あり

AutoMagicCalibの自動キャリブレーション環境をDocker Composeで構築し、NGC認証からポート設定、サービスとWeb UIの起動確認まで進めます。

  • AutoMagicCalibとWeb UIの起動
  • サービスポートと接続先の設定
  • 任意のVGGTモデルの導入
NVIDIA/skills3,6932026年10月22日 更新

NVIDIA のスキルをすべて見る

このスキルの問題を報告する