{"record":{"id":"5adb52ac57181132","repo":"Comfy-Org/ComfyUI","slug":"seedvr2temporalchunk-chunking-mode-must-be-auto","errorCode":null,"errorMessage":"SeedVR2TemporalChunk: chunking_mode must be 'auto' or 'manual'; got {mode!r}.","messagePattern":"SeedVR2TemporalChunk: chunking_mode must be 'auto' or 'manual'; got (.+?)\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"comfy_extras/nodes_seedvr.py","lineNumber":473,"sourceCode":"    def execute(cls, latent, temporal_overlap, chunking_mode) -> io.NodeOutput:\n        samples = latent[\"samples\"]\n        if samples.ndim != 5:\n            raise ValueError(\n                f\"SeedVR2TemporalChunk: expected a 5-D video latent (B, C, T, H, W); \"\n                f\"got shape {tuple(samples.shape)}.\"\n            )\n        if samples.shape[1] != SEEDVR2_LATENT_CHANNELS:\n            raise ValueError(\n                f\"SeedVR2TemporalChunk: expected {SEEDVR2_LATENT_CHANNELS} latent channels; \"\n                f\"got shape {tuple(samples.shape)}.\"\n            )\n        if temporal_overlap < 0:\n            raise ValueError(\n                f\"SeedVR2TemporalChunk: temporal_overlap must be >= 0; got {temporal_overlap}.\"\n            )\n        mode = chunking_mode[\"chunking_mode\"]\n        if mode not in (\"auto\", \"manual\"):\n            raise ValueError(\n                f\"SeedVR2TemporalChunk: chunking_mode must be 'auto' or 'manual'; \"\n                f\"got {mode!r}.\"\n            )\n        t_latent = samples.shape[2]\n        t_pixel = 4 * (t_latent - 1) + 1\n\n        if mode == \"auto\":\n            free_gb = comfy.model_management.get_free_memory(\n                comfy.model_management.get_torch_device()) / (1024 ** 3)\n            mpx_per_frame = (samples.shape[0] * samples.shape[3] * samples.shape[4]) * (BYTEDANCE_VAE_SPATIAL_DOWNSAMPLE ** 2) / 1e6\n            budget_gb = free_gb - SEEDVR2_CHUNK_RESERVED_GIB - SEEDVR2_CHUNK_SIGMA_K * SEEDVR2_CHUNK_SIGMA_GIB\n            chunk_latent_max = max(1, int(budget_gb / (SEEDVR2_CHUNK_GIB_PER_MPX_FRAME * mpx_per_frame)))\n            frames_per_chunk = min(4 * (chunk_latent_max - 1) + 1, t_pixel)\n            logging.info(\n                \"SeedVR2TemporalChunk auto: free=%.2fGiB, %.2fMpx -> frames_per_chunk=%d (t_pixel=%d).\",\n                free_gb, mpx_per_frame, frames_per_chunk, t_pixel,\n            )\n        else:","sourceCodeStart":455,"sourceCodeEnd":491,"githubUrl":"https://github.com/Comfy-Org/ComfyUI/blob/1c6d8d45b3693bfbb32385b410d813a7fd6be216/comfy_extras/nodes_seedvr.py#L455-L491","documentation":"SeedVR2TemporalChunk reads the chunking mode out of the chunking_mode primitive dict and requires exactly 'auto' or 'manual'. This mirrors the UI combo; any other string — stale value, casing, or typo from a hand-built prompt — is rejected.","triggerScenarios":"Supplying chunking_mode = {'chunking_mode': 'Auto'}, 'automatic', or a removed mode name via the API or an edited workflow JSON.","commonSituations":"Workflows saved by older/newer ComfyUI versions where the combo values changed; scripts injecting arbitrary strings; case mismatches.","solutions":["Set chunking_mode to 'auto' or 'manual' exactly (lowercase).","Re-save the workflow in the current UI so the combo emits a valid value.","When building prompts programmatically, validate against {'auto','manual'} before queueing."],"exampleFix":"# before\nmode = {'chunking_mode': 'Automatic'}\n\n# after\nmode = {'chunking_mode': 'auto'}","handlingStrategy":"validation","validationCode":"mode = chunking_mode['chunking_mode']\nif mode not in ('auto', 'manual'):\n    raise ValueError(f\"chunking_mode must be 'auto' or 'manual', got {mode!r}\")","typeGuard":"def is_valid_chunk_mode(v) -> bool:\n    return v in ('auto', 'manual')","tryCatchPattern":null,"preventionTips":["Copy combo values from the node definition, not memory.","Lowercase, exact strings only.","Validate prompt JSON enums before queueing."],"tags":["seedvr","enum","chunking","validation","workflow-json"],"backgroundTag":null,"analyzedSha":"1c6d8d45b3693bfbb32385b410d813a7fd6be216","analyzedAt":"2026-08-14T19:37:18.893Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}