{"record":{"id":"b1dad334702d679c","repo":"Comfy-Org/ComfyUI","slug":"seedvr2-requires-conditioning-latents-from-the-see","errorCode":null,"errorMessage":"SeedVR2 requires conditioning latents from the SeedVR2Conditioning node.","messagePattern":"SeedVR2 requires conditioning latents from the SeedVR2Conditioning node\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"comfy/ldm/seedvr/model.py","lineNumber":1287,"sourceCode":"        if NaDiT._seedvr2_is_single_conditioning_branch(cond_or_uncond):\n            return out\n        pos, neg = out.chunk(2, dim=0)\n        return torch.cat([neg, pos], dim=0)\n\n    def forward(\n        self,\n        x,\n        timestep,\n        context,  # l c\n        disable_cache: bool = False,\n        **kwargs\n    ):\n        transformer_options = kwargs.get(\"transformer_options\", {})\n        patches_replace = transformer_options.get(\"patches_replace\", {})\n        blocks_replace = patches_replace.get(\"dit\", {})\n        conditions = kwargs.get(\"condition\")\n        if conditions is None:\n            raise ValueError(\"SeedVR2 requires conditioning latents from the SeedVR2Conditioning node.\")\n        x = self._check_seedvr2_video_latent(x, SEEDVR2_LATENT_CHANNELS, \"latent\")\n        conditions = self._check_seedvr2_video_latent(conditions, SEEDVR2_LATENT_CHANNELS + 1, \"conditioning\")\n        b, _, t, h, w = x.shape\n        if conditions.shape[0] != b or conditions.shape[2:] != (t, h, w):\n            raise ValueError(\n                f\"SeedVR2 conditioning shape must match latent batch/temporal/spatial dimensions; got latent {tuple(x.shape)} and conditioning {tuple(conditions.shape)}.\"\n            )\n        x = x.movedim(1, -1)\n        conditions = conditions.movedim(1, -1)\n        cache = Cache(disable=disable_cache)\n\n        txt, txt_shape = self._resolve_text_conditioning(context, transformer_options.get(\"cond_or_uncond\"))\n\n        vid, vid_shape = flatten(x)\n        cond_latent, _ = flatten(conditions)\n\n        vid = torch.cat([vid, cond_latent], dim=-1)\n","sourceCodeStart":1269,"sourceCodeEnd":1305,"githubUrl":"https://github.com/Comfy-Org/ComfyUI/blob/1c6d8d45b3693bfbb32385b410d813a7fd6be216/comfy/ldm/seedvr/model.py#L1269-L1305","documentation":"SeedVR2's NaDiT forward pulls its reference/conditioning latents from the 'condition' entry of kwargs, which ComfyUI only populates when the SeedVR2Conditioning node attached them to the model input. A missing 'condition' means the model was run as a plain generative DiT, which SeedVR2 (a restoration model) does not support.","triggerScenarios":"Sampling with a SeedVR2 model whose MODEL output never passed through the SeedVR2Conditioning node; bypassing the conditioning node in the workflow (bypass passes inputs through unchanged, dropping the attached condition); custom node code calling model forward without the condition kwarg.","commonSituations":"User connects SeedVR2 model + positive prompt directly to a sampler; the SeedVR2Conditioning node is muted; a ported workflow lost the conditioning link.","solutions":["Insert the SeedVR2Conditioning node between the SeedVR2 MODEL and the sampler, feeding it the LQ latent (and mask).","Un-bypass the SeedVR2Conditioning node if it is muted.","Verify the conditioning actually flows on the model object ComfyUI samples with (check the model input patch is present).","Do not attempt unconditional generation with SeedVR2 — it is restoration-only."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"def validate_seedvr2_model_input(model_input_kwargs):\n    if model_input_kwargs.get(\"condition\") is None:\n        raise ValueError(\"SeedVR2 requires SeedVR2Conditioning; attach LQ latent + mask before sampling\")\n    return model_input_kwargs","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Always insert the SeedVR2Conditioning node between the SeedVR2 model and the sampler.","Do not bypass or mute the conditioning node.","Remember SeedVR2 is restoration-only; there is no unconditional path."],"tags":["seedvr2","conditioning","model-wiring","validation"],"backgroundTag":null,"analyzedSha":"1c6d8d45b3693bfbb32385b410d813a7fd6be216","analyzedAt":"2026-08-14T19:37:18.893Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}