Nodes/Protoface/Protoface Luma Ray 3.2 · Image to Video
ComfyUI Node

Protoface Luma Ray 3.2 · Image to Video

Start frame, end frame, five seconds

By protoface-ai·Created 22 days ago·Updated 13 days ago· 0
Protoface Luma Ray 3.2 · Image to Video
    • video
    • files
    • run id
    ◄prompt►
    ◄image▾►
    ◄reference▾►
    ◄resolution540p►
    ◄duration5►
    ◄last_image▾►
    ◄size16:9►
    ◄generation_id0►
    ◄request_scope►

    The oldest video API, still in the rotation

    Luma's Ray line predates most of the video boom - it was one of the first hosted video generators people actually used inside ComfyUI, and it's on the Partner Node roster next to Veo, Kling and Seedance. Ray 3.2 is the current revision, and this node is its image-to-video task in Protoface, the beta pack that puts hosted models on your canvas: paid per generation, remote, no weights.

    Why pick it over the four other image-to-video nodes in this pack? Mostly feel and price. Luma's motion tends toward smooth and cinematic rather than punchy, its clips here are a fixed five seconds, and it exposes both a start frame and an optional last frame - enough to nudge a shot without committing to a full interpolate workflow. If a Kling pass came back too aggressive and a Veo pass too expensive, this is a reasonable third opinion.

    How it works

    One shared adapter across the whole pack: schema-validated payload, media upload (content-hashed and cached - a rerun with the same still won't re-upload it), a journaled request identity, submit, poll, download, cast to native VIDEO.

    Two identity fields, and they're different things. generation_id is the paid-request switch - fixed to reuse or resume, incremented to buy. There's no separate seed field on this node, so prompt and media are your only levers on variation; if you want a different take, that's a new generation.

    The inputs that matter

    image is the start frame. Native Image mode, plus a References mode for Protoface asset ids or reused result assets. Everything downstream inherits its geometry.

    prompt carries the motion. Same advice as everywhere: describe what changes, not what's already visible.

    last_image is the optional end frame, and it's the reason to prefer this node over a bare animate call - set both ends and you get a guided transition rather than a hopeful drift.

    reference is a separate, list-shaped media input. On this task it's the place for additional stills that should inform the shot; think of it as supporting material rather than a keyframe.

    resolution defaults to 540p, which is worth noticing before you queue. It's the cheap tier - fine for motion studies, not for delivery. size is actually the aspect ratio (16:9 default) despite the name, and duration is a combo whose tooltip is specific: this image-to-video entry supports 5 seconds with start and optional end-frame control. If you were hoping for a 10-second clip, this isn't the node.

    Outputs

    video (native VIDEO, list), files (PROTOFACE_FILE list of every original download), run id (string). The run id feeds Protoface Resume Run - the recovery path that retrieves an existing job without submitting another paid generation, which is the single most useful node in the pack when something falls over mid-render.

    Install

    Manager → search Protoface → install protoface-nodes → restart → reload the browser. Manual, from your ComfyUI directory:

    git clone --branch v0.1.0 --depth 1 https://github.com/protoface-ai/protoface-comfyui.git custom_nodes/protoface
    python -m pip install -r custom_nodes/protoface/requirements.txt
    

    ComfyUI 0.41.0+ and Python 3.10+, installed with ComfyUI's own interpreter (python_embeded/python.exe on Windows portable, the managed environment on Desktop). Then click Protoface in the lower-right corner and paste a key from your Protoface account - billed directly, not against Comfy credits.

    Where people get burned

    Leaving resolution at 540p and then judging the model. It's a low default. Bump it before you conclude Luma is soft.

    Expecting duration control. Five seconds, start and end frame. That's the contract on this task.

    Feeding a batch into a single-asset slot. image takes one asset; a batch counts as many references and will error with a "split the batch" message. Split it upstream.

    Rerunning the same graph for a new take. Without a seed field and with generation_id fixed, you'll get the recorded job back - which is the intended behaviour and also the answer to "why is it identical".

    CategoryProtoface/Video/luma

    Inputs (9)

    NameTypeDefaultDescription
    promptSTRINGText prompt describing the motion and scene.
    imageCOMBOA public URL, a data URI, or an asset id.
    referenceCOMBOPublic URLs, data URIs, or asset ids.
    resolutionCOMBO540pOutput video resolution.
    durationCOMBO5Output video duration. This image-to-video entry supports 5s with start and optional end frame control.
    last_imageCOMBOA public URL, a data URI, or an asset id.
    sizeCOMBO16:9Aspect ratio of the generated video.
    generation_idINT00–9007199254740991Keep fixed to reuse/resume this paid job. Increment for a fresh paid generation; independent of the model seed.
    request_scopeSTRINGAutomatically assigned per node. Headless clients must supply a stable unique workflow/node ID. This is not a secret.

    Outputs (3)

    NameTypeDescription
    videoVIDEO—
    filesPROTOFACE_FILE—
    run idSTRING—