Protoface Grok Imagine Video 1.5 · Reference to Video
Grok Imagine's Reference Mode
- video
- files
- run id
Keeping the same character across generations is the oldest unsolved complaint in this hobby, and the answer quietly changed shape: instead of encoding an identity and injecting it into a sampler, you show the model what you mean. Reference conditioning is now the default move, which is why reference-to-video is the interesting one of the three Grok Imagine Video 1.5 nodes. You hand it up to seven images and a prompt, and it generates motion that keeps those subjects recognisable.
This is the node I'd actually reach for if the goal is a character in motion rather than a pretty shot. Text-to-video will give you a stranger every time; image-to-video locks one frame and extrapolates from it; reference mode lets you feed a face from the front, a profile, an outfit, a prop - and the model does the reconciling.
How the reference path works
Grok Imagine Video 1.5 is closed xAI - nothing to download, inference runs remotely - and Protoface is the adapter that puts it on your canvas. The pack generates its node classes from a bundled catalog (44 models, 95 tasks at 0.1.0), taking each model's public request schema and re-emitting it as native Comfy controls. The ecbcf1984478a57d suffix is this schema's identity hash, so a future revision of the model arrives as a new node class while your old one goes [Archived] and stops accepting submissions. Saved workflows survive: the previous run is retrievable with Resume Run.
reference_images is a dynamic input with two modes. Image takes wires - an Autogrow list, so you connect assets one per slot and it grows as you go. References takes a Protoface Asset Reference or a reused result asset, which is how you point at something already uploaded by an earlier job instead of pushing the file up again. Both route into the same limit.
What you set
prompt carries the motion, and the references carry the identity - don't waste the prompt re-describing who's in the shot. "Handheld follow as she walks through the market, 28mm, afternoon haze" is doing more work than a paragraph of appearance notes.
reference_images takes up to seven assets. The gotcha, straight from the adapter's validation: batch items count. If one connected image node is producing a four-frame batch, that's four of your seven slots consumed by one wire, and exceeding the cap throws too many references, including items in input batches. Split the batch.
duration runs 1–15 seconds, default 6, and resolution gives you 480p or 720p - and yes, that's the trap. The text-to-video and image-to-video nodes both offer 1080p; reference mode doesn't. If your whole plan was a 1080p hero clip with a consistent character, you're upscaling afterwards or rethinking the node.
aspect_ratio is 16:9, 1:1, 9:16, 3:2 or 2:3, default 16:9.
generation_id is not a seed - it's the paid-job identity. Fixed means reuse/resume; incremented means a new render, new charge. request_scope is auto-assigned, non-secret, and only your problem in headless workflows, where it must be stable and unique.
Outputs are video as a native VIDEO socket, files for the original downloaded assets, and a run id string. Wire the video straight to Save Video or a VideoHelperSuite combine node - no transcode node, no file-path juggling.
Install
ComfyUI 0.41.0+ and Python 3.10+. In Manager, search Protoface and install protoface-nodes. If it isn't listed yet, install the tag by hand 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
httpx, jsonschema, Pillow and av - install them with ComfyUI's interpreter, or the portable build in particular won't see them. Restart, reload the browser, then click Protoface in the lower-right and paste an API key from your account. The key lives in server memory and is cleared on restart; for persistent servers use PROTOFACE_API_KEY or PROTOFACE_API_KEY_FILE.
The pack bills your Protoface account directly - not Comfy credits, not the Partner Node balance. That's the honest downside of this route versus xAI's official Partner Node: same model, different wallet, and far less of a paper trail. On the evidence front, "protoface" returns zero hits across the Reddit corpus - this pack is genuinely new, so treat your own results as the documentation.
Where it bites
A restart wipes the key and the first symptom is an auth error that has nothing to do with your account.
Deleting or moving PROTOFACE_STATE_DIR (default ~/.cache/protoface-comfyui) loses the journal that makes resume and deduplication work - it's the wrong place to start when troubleshooting a stuck paid job.
Interrupting requests cancellation upstream, best-effort, no refund. Repeated reference uploads are cached, so re-running a changed prompt with the same seven images doesn't re-upload them, but changing anything still means a new paid request.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Text description of the desired motion and scene. | |
| resolution | COMBO | 720p | Output video resolution. |
| duration | INT | 61–15 | Output video duration in seconds. |
| aspect_ratio | COMBO | 16:9 | Aspect ratio of the generated video. |
| reference_images | COMBO | Public URLs, data URIs, or asset ids. | |
| generation_id | INT | 00–9007199254740991 | Keep fixed to reuse/resume this paid job. Increment for a fresh paid generation; independent of the model seed. |
| request_scope | STRING | Automatically assigned per node. Headless clients must supply a stable unique workflow/node ID. This is not a secret. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| files | PROTOFACE_FILE | — |
| run id | STRING | — |