Nodes/Protoface/Protoface Luma Ray 3.2 · Edit Video
ComfyUI Node

Protoface Luma Ray 3.2 · Edit Video

Fixing the clip Luma already generated

By protoface-ai·Created 22 days ago·Updated 13 days ago· 0
Protoface Luma Ray 3.2 · Edit Video
    • video
    • files
    • run id
    ◄prompt►
    ◄video▾►
    ◄resolution540p►
    ◄duration5►
    ◄start_image▾►
    ◄generation_id0►
    ◄request_scope►

    What this node actually does

    This is Luma Ray 3.2's edit operation, wrapped as a ComfyUI node by the Protoface pack. You hand it a video you already have, a prompt describing the change, and it sends a paid job to Protoface's API, then drops the result back into your graph as a native VIDEO you can wire into Save Video or a Video Combine node.

    Why would you want that instead of regenerating? Because "close but the last two seconds drift" and "the grade is wrong" are real problems, and re-rolling the whole clip from text is a coin flip every time. Edit is the cheaper move: you keep the composition you liked and ask for a specific change. It's the same instinct as inpainting over a nearly-good still rather than resampling the whole image.

    The honest caveat about this whole category: it's a network call, not a sampler. It costs money per queue, your source footage leaves your machine, and Luma's filter is the filter - there's nothing to abliterate in a model you never downloaded. If you want a video edit you can run fifteen times for free while you dial it in, this isn't it.

    The inputs that matter

    prompt is the edit instruction, and shorter is better. "Convert to a rainy night, keep the camera move" beats a paragraph re-describing the shot - the source already carries that information.

    video is the source clip. Wire it from Load Video, or straight from another Protoface video output - the pack caches uploads and reuses result assets so chained jobs don't re-upload the same file.

    resolution defaults to 540p, which is worth noticing. That's the cheap default and it produces a cheap-looking result. If you're delivering anything, bump it.

    duration is a picker with 5 as the default, not a free integer. Pick from the offered values rather than expecting to type 7.

    start_image is listed as required on this node. Its tooltip is the generic "a public URL, a data URI, or an asset id," so the author isn't telling you what it's for - practically, it's the anchor frame the edit starts from, so pull a still out of the source clip and feed that. Feed it something rather than leaving it empty and hoping.

    Then the two fields that exist on every Protoface model node. generation_id keeps a stable identity for this paid job: leave it fixed and requeueing reuses or resumes the run instead of buying a new one. Increment it and you've asked for a fresh, freshly-billed generation. It is not the model's random seed - there's no seed field here at all. request_scope is auto-assigned per node by the frontend; you only touch it in headless workflows, where you must supply your own stable ID.

    Outputs

    video is a native VIDEO output and - this is the part people miss - it's a list. ComfyUI maps downstream nodes over lists automatically, so one node can produce several clips and Save Video will write each. files carries the originals as PROTOFACE_FILE (including anything non-media the provider returned); Protoface Save File is the node that writes those to your output directory. run id is the string you want when something goes wrong - paste it into the Protoface account page, or feed it to Protoface Resume Run to fetch a job without paying for another.

    Install

    No weights, no GPU. It's an HTTP client:

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

    The only real dependencies are httpx, jsonschema, Pillow and av>=14 - that last one pulls FFmpeg libs, and it's the one most likely to fail on a bare Linux box. Needs ComfyUI 0.41.0+ and Python 3.10+. With ComfyUI-Manager, search Protoface and install protoface-nodes instead; the registry index sometimes lags a release, in which case use the git tag above.

    Then click Protoface in the lower-right corner and paste your API key. The key lives in the server's memory, so it's gone every restart - for a headless box use PROTOFACE_API_KEY_FILE instead of retyping.

    Where people get bitten

    The pack is beta and it's deliberately defensive, which produces some odd-looking errors. video: expects one asset; split the image/audio batch first means your source is a batch of clips and this field takes exactly one. Auth errors after a restart usually aren't your key - the in-memory key is just gone. A polling timeout is not a failure: keep the same generation_id and requeue, or use Resume Run with the run id. Incrementing the generation ID to "recover" is how you end up paying twice. And interrupting a running job sends a best-effort cancel that doesn't promise a refund.

    One more: if a saved workflow starts refusing to submit with a message about an archived contract, the schema for this model changed upstream. Don't fight it - pick the current model node, or resume the old run to get its output.

    CategoryProtoface/Video/luma

    Inputs (7)

    NameTypeDefaultDescription
    promptSTRINGText prompt describing how to edit the source video.
    videoCOMBOA public URL, a data URI, or an asset id.
    resolutionCOMBO540pOutput video resolution.
    durationCOMBO5Output video duration.
    start_imageCOMBOA public URL, a data URI, or an asset id.
    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—