Nodes/arkennemasis Nodes/arkennemasis Option Board (excalidraw + preview)
ComfyUI Node

arkennemasis Option Board (excalidraw + preview)

Judging a whole fanned-out run on one annotated board

By Hishamahmer·Created about a month ago·Updated a day ago· 6
arkennemasis Option Board (excalidraw + preview)
  • images
  • excalidraw_path
  • board
  • report
out_dirboards
filenameoptions
columns0
tile_size420
write_preview_pngtrue
labels
title

Run a variation or batch job and you end up with 30 images and a decision to make. ArkOptionBoard is the answer to "how do I actually compare 30 images": it lays every result of a fanned-out run on one labelled board - an .excalidraw file you can open and annotate, plus a rendered PNG preview of the same layout for pasting into a message. The pack's framing is that this is how you judge a set rather than a picture, and for a run whose whole point is comparing options, that's the difference between a decision and a scroll.

How it works

It's INPUT_IS_LIST, which means it receives every result of the batch run in one call rather than one at a time. images comes from the image node in the batch chain. labels is one caption per image, in the same order - wire the batch node's label output and each tile gets its name. title prints a heading at the top.

The layout knobs are minimal on purpose:

  • columns (0) - tiles per row. 0 picks a roughly square grid from the number of options, which is what you want almost always. Cap of 24 if you ever want a thin strip.
  • tile_size (420) - the longest edge of each tile. Bigger reads better and costs file size - 100 tiles at 420 is a few MB, so it's a real trade but not usually the bottleneck.
  • filename (options) - base name. The genuinely nice behavior: an existing board is never overwritten. A counter is appended, so a second run sits beside the first instead of replacing the thing you were reviewing. That's the difference between "let me compare run 2 against run 1" and "well, run 1 is gone."
  • out_dir (boards) - relative to ComfyUI's output folder, or an absolute path.
  • write_preview_png - also writes the rendered board as a PNG. On by default, because the .excalidraw isn't a viewable image and you'll want to send the set to someone.

Tiles are uniform and letterboxed so the grid reads as a grid. The .excalidraw is generated by the pack's own board helper, so it's annotated in a way that opens cleanly in excalidraw.com or the desktop app.

Outputs: excalidraw_path, board (the rendered preview as an IMAGE you can view right in the graph), and report.

Installing

cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis
pip install replicate httpx

Restart ComfyUI. No models or keys.

Troubleshooting

  • Labels out of order: the labels list must match the images list order exactly. Wire the batch node's label output, not a hand-typed list, if you can.
  • Run 2 replaced run 1: it shouldn't have - check you didn't clear the output folder. The counter-appending behavior is designed to make that impossible.
  • The board won't open: .excalidraw files open in excalidraw.com or the app. If your tool doesn't read them, the preview PNG is right there.
Categoryarkennemasis/Utility

Inputs (8)

NameTypeDefaultDescription
imagesIMAGEEvery generated option. Comes from the image node in the batch chain — the list arrives here in one call.
out_dirSTRINGboardsRelative to ComfyUI's output folder, or an absolute path. The board and its preview are written here.
filenameSTRINGoptionsBase name. An existing board is never overwritten — a counter is appended, so a second run sits beside the first instead of replacing the thing you were reviewing.
columnsINT00–24Tiles per row. 0 picks a roughly square grid from the number of options, which is what you want almost always.
tile_sizeINT42096–2048Longest edge of each tile on the board. Bigger reads better and costs file size — 100 tiles at 420 is a few MB.
write_preview_pngBOOLEANtrueAlso write the rendered board as a PNG beside the .excalidraw, for pasting into a message.
labelsoptSTRINGOne caption per image, in the same order. Wire the batch node's `label` output.
titleoptSTRINGHeading printed at the top of the board.

Outputs (3)

NameTypeDescription
excalidraw_pathSTRING
boardIMAGE
reportSTRING