Comfy-Org/ComfyUI · error · ValueError
Provide at least one of start_frame / end_frame.
Error message
Provide at least one of start_frame / end_frame.
What it means
Raised by LumaRay32ImageToVideoNode (comfy_api_nodes/nodes_luma.py:1107) when both start_frame and end_frame are None. Ray 3.2 image-to-video requires at least one anchor frame; prompt-only generation belongs in the text-to-video node.
Source
Thrown at comfy_api_nodes/nodes_luma.py:1107
IO.Hidden.unique_id,
],
is_api_node=True,
price_badge=_BADGE_RAY32_VIDEO_5S,
)
@classmethod
async def execute(
cls,
prompt: str,
resolution: str,
loop: bool,
seed: int,
start_frame: torch.Tensor | None = None,
end_frame: torch.Tensor | None = None,
) -> IO.NodeOutput:
validate_string(prompt, strip_whitespace=True, min_length=1, max_length=6000)
if start_frame is None and end_frame is None:
raise ValueError("Provide at least one of start_frame / end_frame.")
if loop and end_frame is not None:
raise ValueError("Looping is not available when an end_frame is set.")
video = Luma2VideoOptions(resolution=resolution, duration="5s", loop=loop or None)
if start_frame is not None:
url = await upload_image_to_comfyapi(cls, start_frame, mime_type="image/png")
video.start_frame = Luma2ImageRef(url=url)
if end_frame is not None:
url = await upload_image_to_comfyapi(cls, end_frame, mime_type="image/png")
video.end_frame = Luma2ImageRef(url=url)
request = Luma2GenerationRequest(prompt=prompt, model="ray-3.2", type="video", video=video)
return await _ray32_generate(cls, request)
class LumaRay32KeyframeNode(IO.ComfyNode):
@classmethod
def define_schema(cls) -> IO.Schema:
return IO.Schema(
node_id="LumaRay32KeyframeNode",View on GitHub (pinned to 1c6d8d45b3)
Solutions
- Connect an image to start_frame (or end_frame, or both).
- Use LumaRay32TextToVideoNode for prompt-only generation.
- For a single frame plus continuation, consider the Ray 3.2 extend node with a prior generation_id.
Defensive patterns
Strategy: validation
Validate before calling
if start_frame is None and end_frame is None:
raise ValueError("Ray 3.2 image-to-video needs a start_frame or end_frame") Prevention
- Use the text-to-video node when no frames are available.
- Queue-time sanity check: required image inputs on i2v nodes must be connected.
When it happens
Trigger: Executing the Ray 3.2 image-to-video node with neither start_frame nor end_frame connected.
Common situations: Disconnected edges during graph editing; user expects prompt-only behavior from an image-conditioned node; workflow converted from the text-to-video node without wiring frames.
Related errors
- Looping is only available with 5s duration on Ray 3.2.
- Looping is not available when an end_frame is set.
- Connect at least 2 Luma Ray 3.2 Keyframe nodes (use Luma Ray
- Ray 3.2 supports at most 64 keyframes; got {len(items)}.
- Keyframe position {item.value:g}s is past the end of the {du
AI-assisted analysis of Comfy-Org/ComfyUI@1c6d8d45b3 (2026-08-14).
Data as JSON: /api/errors/ec26a9140438d515.
Report an issue: GitHub.