Comfy-Org/ComfyUI · error · ValueError

Looping is only available with 5s duration on Ray 3.2.

Error message

Looping is only available with 5s duration on Ray 3.2.

What it means

Raised by the Luma Ray 3.2 text-to-video node (comfy_api_nodes/nodes_luma.py:1053) when loop=True is combined with duration='10s'. Ray 3.2 only produces seamless loops for the 5-second variant; the node enforces this before submitting the generation.

Source

Thrown at comfy_api_nodes/nodes_luma.py:1053

                _ray32_seed_input(),
            ],
            outputs=[IO.Video.Output(), IO.String.Output(display_name="generation_id")],
            hidden=[
                IO.Hidden.auth_token_comfy_org,
                IO.Hidden.api_key_comfy_org,
                IO.Hidden.unique_id,
            ],
            is_api_node=True,
            price_badge=_BADGE_RAY32_VIDEO,
        )

    @classmethod
    async def execute(
        cls, prompt: str, aspect_ratio: str, resolution: str, duration: str, loop: bool, seed: int
    ) -> IO.NodeOutput:
        validate_string(prompt, strip_whitespace=True, min_length=1, max_length=6000)
        if loop and duration == "10s":
            raise ValueError("Looping is only available with 5s duration on Ray 3.2.")
        request = Luma2GenerationRequest(
            prompt=prompt,
            model="ray-3.2",
            type="video",
            aspect_ratio=aspect_ratio,
            video=Luma2VideoOptions(resolution=resolution, duration=duration, loop=loop or None),
        )
        return await _ray32_generate(cls, request)


class LumaRay32ImageToVideoNode(IO.ComfyNode):
    @classmethod
    def define_schema(cls) -> IO.Schema:
        return IO.Schema(
            node_id="LumaRay32ImageToVideoNode",
            display_name="Luma Ray 3.2 Image to Video",
            category="partner/video/Luma",
            description="Generate a video from a start and/or end frame using Luma's Ray 3.2 model. "

View on GitHub (pinned to 1c6d8d45b3)

Solutions

  1. Set duration to '5s' and keep loop enabled.
  2. Or disable loop if you need the 10s duration.
  3. If your workflow has these as exposed widget inputs, fix the saved values so the queue doesn't keep failing.
Defensive patterns

Strategy: validation

Validate before calling

if loop and duration == "10s":
    duration = "5s"  # or: loop = False

Prevention

When it happens

Trigger: Executing LumaRay32TextToVideoNode (or sibling video node) with the loop toggle enabled and the duration combo set to '10s'.

Common situations: User enables loop then raises duration to 10s for longer output; saved workflow restored with both settings; widget defaults changed after an update.

Related errors


AI-assisted analysis of Comfy-Org/ComfyUI@1c6d8d45b3 (2026-08-14). Data as JSON: /api/errors/5119061aa2c8f986. Report an issue: GitHub.