Archibal Callback
The whole-workflow webhook that ships your renders to Archibal
- image
- video
- vhs_filenames
- image
- video
If you've never heard of Archibal, stop here: this node does nothing for you. It's not an upscaler, not a sampler, not anything that touches pixels. ArchibalCallback is the ComfyUI end of a webhook to Archibal, an AI video/film production platform that organizes work into projects, shots, and scenes. For an Archibal user generating shots in ComfyUI, it's the bridge - one node at the end of a workflow that lands your renders in the platform with their entire provenance attached, so the backend can see exactly how each shot was made. For everyone else, it's a curious piece of plumbing you can safely skip.
The name is honest: it's a callback. Feed it an image or video plus an API key, and at the end of the run it base64-encodes your output and POSTs it to Archibal's API - bundled with the full workflow JSON, every prompt string it can find, every model/checkpoint/LoRA/VAE name, and the reference media you loaded in. Then it returns your image and video unchanged. It's marked as an output node so ComfyUI always runs it, but the actual work is one HTTP request, not a generation.
How it works
The mechanism is unusually well-behaved for a production-adjacent node. It walks the workflow graph backwards from itself and collects everything upstream: prompts (from text, text_positive, negative_prompt, clip_l, t5xxl fields), model names (from the standard loader nodes), and reference files (from LoadImage / LoadVideo / VHS_LoadVideo). It stops its walk at any upstream ArchibalCallback, which is what makes multi-shot setups work - each callback only captures the slice of the graph since the previous one, and a per-process cache lets a later callback pull the output of an earlier one.
The platform then reports back in your ComfyUI console log: project, shot label, how many models it found, a risk level, and whether an asset was replaced. So the backend isn't just storing frames - it's reconciling your render against the project's state.
The inputs that matter
You don't set most of these. The ones that actually matter:
- api_key - your Archibal API key. Leave it empty and the node quietly does nothing (more on that below).
- image / video / vhs_filenames - the output to send.
imageis a batch of up to 20 frames;videois ComfyUI's native VIDEO type;vhs_filenamesis the output of a VideoHelperSuite save node. Wire in at least one. - shot_label - the author's tooltip says it best: an optional label for this shot (e.g. "Shot 01", "Scene 3 - Wide"). Multiple callbacks in the same project should each get a unique label.
- project_id - which Archibal project the upload lands in (only sent if set above 0).
- include_references - on by default; uploads your input/reference media and prior shots' outputs. Turn it off to send only the final media.
- webhook_url - leave it alone unless you're self-hosting the endpoint.
The outputs, image and video, are just pass-throughs of what you fed in. Ignore them or wire them onward; the node is a sink either way.
Install
Lightest install you'll see this month - no model downloads, no heavy deps, just httpx, numpy, and Pillow, all of which a stock ComfyUI already has. Via ComfyUI Manager, search Archibal and hit install. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/alexnelvol3/Archibal-Node
Restart ComfyUI, drop the node in, and give it a key. That's it - it even works in API mode and Comfy Cloud, per the author's docstring.
Gotchas
- It's a no-op without a key. Wire it up with an empty api_key and "nothing happened" - that's by design; it logs
Archibal: no API key, skippingand passes through. Check your console for lines starting withArchibal:before assuming it's broken. - Silent size caps. Videos over 100 MB are skipped. Reference files over 10 MB are skipped. More than 10 references or 20 batch frames get truncated. All logged, none fatal - a long scene can quietly not upload.
- It can slow a run. The HTTP call has a 60-second timeout, and it fires on every execution. If Archibal's API is down, your workflow still finishes (the exception is caught) but expect a lag while it waits.
- Feed it the right video thing. Native VIDEO from a loader, or VHS_FILENAMES from VideoHelperSuite - not both confused. An IMAGE in and no video input means no video uploads.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | — | |
| imageopt | IMAGE | — | |
| videoopt | VIDEO | — | |
| vhs_filenamesopt | VHS_FILENAMES | — | |
| project_idopt | INT | 0 | — |
| webhook_urlopt | STRING | https://api.archibal.ai/api/comfy/callback | — |
| include_referencesopt | BOOLEAN | true | — |
| shot_labelopt | STRING | Optional label for this shot (e.g. 'Shot 01', 'Scene 3 - Wide'). Multiple ArchibalCallback nodes in the same project should each have a unique shot_label. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| video | VIDEO | — |