From e9d9f303b75ce78d44e61f513714bf845efd734d Mon Sep 17 00:00:00 2001 From: Johan de Ruiter Date: Fri, 10 Jul 2026 01:10:45 +0000 Subject: [PATCH] cosmos3: disable the bundled content guardrail Set guardrails=False on the OmniSetupOverrides so the Cosmos worker skips the bundled text (Blocklist + Qwen3Guard) and video guardrail runners entirely. The Qwen3Guard text guard is unfit to gate customer prompts: - one coarse "Sexual Content or Sexual Acts" category, no CSAM/minor distinction, so it cannot express "block illegal only, allow legal"; - demonstrable demographic bias -- "an african american woman being picked up by a robot" is blocked as sexual while the same prompt with "white" returns normally; - the prompt check runs after generation (inference.py Save-outputs loop), so every rejected prompt still burns a full ~60s clip and surfaces as an opaque 500 "Failed to fold videos stream". Content filtering will move to a platform-level video-gen guardrail applied uniformly across all models, rather than a per-model guard here. Covers both Cosmos3-Nano and Cosmos3-Super (same worker). NVIDIA's own latency/throughput inference configs already run guardrails: False. Co-Authored-By: Claude Opus 4.8 (1M context) --- examples/cosmos3/worker.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/examples/cosmos3/worker.py b/examples/cosmos3/worker.py index 8e629dad9bc4..2d9c26edc531 100644 --- a/examples/cosmos3/worker.py +++ b/examples/cosmos3/worker.py @@ -668,6 +668,13 @@ def main() -> None: setup_args = OmniSetupOverrides( checkpoint_path=args.model, output_dir=_output_root, + # Content guardrails disabled. The bundled Qwen3Guard text guard is unfit: + # a single coarse "Sexual Content" category (no CSAM/minor distinction), + # demonstrable demographic bias (blocks benign prompts by subject race), + # and it runs the prompt check AFTER generation so every rejection wastes + # a full clip. Content filtering will be handled by a platform-level + # video-gen guardrail applied uniformly across models, not per-model here. + guardrails=False, ).build_setup(world_size=world_size) _pipe = OmniInference.create(setup_args) log.success("Model loaded.")