Nodes/Protoface/Protoface Wan 3.0 Prime · Reference to Video
ComfyUI Node

Protoface Wan 3.0 Prime · Reference to Video

Ten Images, and the Prompt Decides Which Is Which

By protoface-ai·Created 22 days ago·Updated 13 days ago· 0
Protoface Wan 3.0 Prime · Reference to Video
    • video
    • files
    • run id
    ◄prompt►
    ◄resolution720p►
    ◄duration5►
    ◄aspect_ratio16:9►
    ◄enable_audiotrue►
    ◄enable_prompt_expansionfalse►
    ◄reference_audios▾►
    ◄reference_images▾►
    ◄reference_videos▾►
    ◄seed▾►
    ◄generation_id0►
    ◄request_scope►

    Reference-to-video is the operation people underrate. Instead of one start frame, you hand the model a pile of material - up to ten images, five videos, five audio clips on Wan 3.0 Prime - and describe a scene that uses them. It's the closest thing to casting: characters, props, a location, a voice.

    What it's for

    The local answer to character consistency on Wan has always been LoRA training. The KB's numbers on that: a well-regarded annotator reported ninety minutes on a 5090 to train a high/low pair for Wan 2.2, and that's before you discover your likeness came out worse once you stacked speed LoRAs. Reference conditioning skips all of it. You supply the face as an image, describe the shot, and iterate.

    Same story for video references - motion, camera language, a clip whose look you want carried over - and for audio references, which is the piece local Wan 2.2 just doesn't have at all.

    The mechanism, and the one thing you must understand

    This node is generated from the bundled Protoface catalog at startup - alibaba/wan-3.0-prime × video.reference, same shared adapter as every other Protoface node. Validate, upload, submit, poll, download, decode. Reference assets are content-hash cached locally, so the same photo doesn't re-upload on every requeue, and the whole request is journaled before submission so an unchanged requeue resumes the recorded job instead of buying a second one.

    Now the important bit. These reference fields are ordered arrays, and the tooltip spells it out: reference media are identified by their array order in the prompt. So your prompt has to reference them positionally - "the woman from image 1 walks through the doorway from image 2, holding the object from image 3". If you write "the woman in the red coat" and hope, you're rolling dice on which reference the model anchors to. This is where reference-to-video workflows quietly fail.

    The inputs

    prompt - positive prompt, and per above, it's also your indexing scheme.

    reference_images, reference_videos, reference_audios are the three list inputs. Each is a mode picker: Image/Video/Audio for a native ComfyUI input, or References to plug in a Protoface Asset Reference (an existing asset ID or public URL) - handy for reusing a result from an earlier run without reuploading. You can also leave them on Default and send nothing. The lists grow as you connect items, and the caps are real: ten images, five videos, five audios. A batch of images counts, so a Load Image node set to batch 4 eats four slots.

    duration has a rule worth reading twice: 2–30 seconds on its own, but when you supply reference videos, total input video duration plus generated output must not exceed 30 seconds. A 12-second reference video leaves you 18.

    resolution - 480p, 720p (default), 1080p. aspect_ratio is a required combo defaulting to 16:9, with 9:16, 1:1, 4:3 and 3:4.

    enable_audio defaults true; with reference audio in play that's the point, so leave it on unless you're scoring separately. enable_prompt_expansion defaults off - keep it that way here, since the optimizer may renumber your references in the rewrite. seed is optional.

    Outputs

    video (a list of native VIDEO), files (the original downloads, for Protoface Save File), and run id - a string for Protoface Resume Run. Keep it; a ten-image reference job is not a cheap thing to lose to a browser refresh.

    Install

    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
    

    Or Manager → Protoface → protoface-nodes → restart → reload. ComfyUI 0.41.0+, Python 3.10+, with httpx, jsonschema, Pillow, av. Nothing is downloaded locally - no Wan weights, no VAE, no text encoder. Then paste your Protoface key via the Protoface button in the lower-right, or set PROTOFACE_API_KEY_FILE for a persistent server.

    The pack also ships an example workflow, Protoface Qwen Image 3.0 to MiniMax H3 Asset Reuse, which is the clearest demo of the asset-reuse pattern these reference inputs rely on.

    Where people get burned

    References ignored. Nine times out of ten it's an unindexed prompt. Say "image 2", not "the second woman".

    Too many references. Hitting eleven images throws a "too many references, including items in input batches" error - and the mention of batches is literal. Count your batch sizes.

    A 40-second reference video. It can't work; the 30-second budget covers input plus output.

    Re-uploading the same 400MB reference video every run. Connect it through Protoface Asset Reference by asset ID once it's uploaded, rather than re-encoding from a Load Video each time.

    Auth errors after restarting ComfyUI. The interactive key is memory-only. Re-enter it.

    CategoryProtoface/Video/alibaba

    Inputs (12)

    NameTypeDefaultDescription
    promptSTRINGThe positive prompt for the generation. Reference media are identified by their array order in the prompt.
    resolutionCOMBO720pThe resolution of the generated video.
    durationINT52–30The duration of the generated video in seconds. Default: 5. Without video input, use an integer from 2 to 30. When reference videos are provided, the total input video duration plus the generated output duration must not exceed 30 seconds.
    aspect_ratioCOMBO16:9The aspect ratio of the generated video.
    enable_audioBOOLEANtrueWhether to include audio in the generated video.
    enable_prompt_expansionBOOLEANfalseIf set to true, the prompt optimizer will be enabled.
    reference_audiosCOMBOPublic URLs, data URIs, or asset ids.
    reference_imagesCOMBOPublic URLs, data URIs, or asset ids.
    reference_videosCOMBOPublic URLs, data URIs, or asset ids.
    seedCOMBOThe random seed to use for the generation. -1 means a random seed will be used.
    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—