arkennemasis Contact Sheet (all stills in one image)
Every scene's still, one image, no hunting
- images
- sheet
ArkContactSheet tiles every scene's still into one numbered contact sheet - the quickest way to check that a character held across a whole storyboard, and honestly the first thing most people do after a video run anyway. Instead of opening twelve output images one by one, you get the entire run on one sheet with numbers on each tile so a drifting scene is easy to name.
It lives in the arkennemasis Utility category and is built to sit at the end of the pack's per-scene loop: Scene List fans the plan out, each scene renders its still, and the loop delivers every scene's image to this node's single images socket, in order. INPUT_IS_LIST is set, so it receives the whole run in one call.
The inputs that matter
images(required) - wire the scene chain's image output here. The loop delivers every scene to this one socket, in order.columns- tiles per row, default 5.cell_width- width of each tile in pixels, default 420. The height follows the first image's aspect ratio, so a mixed-resolution run stays aligned.label- default on: number each tile. For checking character consistency across a storyboard, the numbering is the feature - "scene 7's face drifted" is a much more useful sentence than "the fourth one in the second row."
Output is a single sheet IMAGE. Preview it, save it, or feed it into a report node - it's just a picture.
Why this is the right tool for the job
Character consistency is one of the most discussed problems in the whole ComfyUI space - the KB tracks it as one of the most stable top-of-mind concerns across the community, and the standard failure mode is exactly this: a character that holds for six scenes and quietly changes at seven, where the change is invisible when you're looking at clips one at a time. A contact sheet compresses the whole run to a single glance so the drift becomes obvious. It doesn't fix the drift - no node does - but it turns "did it hold?" from a hopeful guess into something you can check in two seconds.
Installing
It's part of the comfyui-arkennemasis pack:
cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis
pip install replicate httpx
restart, and it's under arkennemasis/Utility. No models, no API keys, nothing heavy - it's tensor-to-PIL tiling with a dark background and labels, so it renders instantly.
The one thing to watch: it takes the first frame of each image batch it receives. If your scene chain outputs a batch of several frames, you get the first still, which is what you want for a consistency check - but if you wired the wrong output (a full video tensor, say), you'll see the first frame of the whole thing repeated in a way that makes no sense. Wire the still, not the clip, and this node does its quiet job exactly as advertised.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | Wire the scene chain's image output here. The loop delivers every scene to this one socket, in order. | |
| columns | INT | 51–10 | Tiles per row. |
| cell_width | INT | 42064–2048 | Width of each tile. Height follows the first image's aspect ratio. |
| label | BOOLEAN | true | Number each tile, so a drifting scene is easy to name. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sheet | IMAGE | — |