Nodes/arkennemasis Nodes/arkennemasis Cell At (one cell by index)
ComfyUI Node

arkennemasis Cell At (one cell by index)

The tiny node that keeps a 50-axis graph sane

By Hishamahmer·Created 2 months ago·Updated 8 days ago· 9
arkennemasis Cell At (one cell by index)
    • cell_json
    • key
    • target_region
    • reference
    • reference_2
    • reference_3
    • target_hex
    • target_rgb
    • spec_type
    • summary
    • index
    cells_json[]
    index0

    ArkCellAt is the deliberately boring workhorse of the arkennemasis Variation pipeline: it takes the cell list produced by Cell Matrix and pulls out one cell by index. Wire a for-loop's index into the index input and the per-cell chain - prompt build, generation, verification, delivery - is written exactly once, no matter how many axes the recipe declares. Five axes or fifty, the graph on your canvas is the same size.

    It exists because of a design rule the pack is unusually vocal about: hard-coding a product's variation axes into your workflow is a defect. The cell generator is a cartesian product over however many axes the recipe declares, and this node is how you consume that list without ever knowing the count in advance. If the client adds an axis next quarter, you don't rebuild the graph; you feed a bigger list through the same index.

    What comes out

    Every cell is a little JSON bundle plus a handful of pre-unpacked outputs, and the unpacking is what saves you from parsing JSON in a text node:

    • cell_json - the whole cell, if a downstream node wants it raw.
    • key - the stable identity of this cell (this is what Job Skip and Job Record use to find the durable record).
    • target_region, target_hex, target_rgb, spec_type - the "what changes" payload. spec_type tells you whether this cell's variation is a hex value, a reference image, or both, which decides which generation route applies.
    • reference, reference_2, reference_3 - up to three reference images from the spec library for cells that use them.
    • summary and index - a human-readable line and the index you just asked for, handy for logging and filenames.

    The only required inputs are cells_json (from ArkCellMatrix, typically) and index, which is 0-based - the tooltip is explicit: wire a for-loop's index here. In a normal ComfyUI loop you'd convert the for-loop's counter into this input, then have this node's outputs drive one chain.

    When to pick it over ArkCellFanOut

    The pack ships two ways to consume the cell list. ArkCellAt is the sequential path: one chain, run once per index, usually inside a for-loop. It's deterministic in order, easy to reason about, and it's what you want when you're debugging a single cell or when you need strict serial execution. The fan-out node is the concurrent alternative - one chain executed N times in parallel by ComfyUI's list handling, which is faster but changes how you think about ordering and lazy inputs.

    One more thing worth knowing: this node carries the whole per-cell pipeline, so the "generate branch" costs real money when it runs. That's why the pack pairs it with Job Skip downstream - a finished cell's generation branch is never re-evaluated. If you're iterating on one cell, drive the index from a PrimitiveInt and just change the number instead of re-running the whole matrix.

    Installing

    It's part of comfyui-arkennemasis. ComfyUI Manager → Install via Git URLhttps://github.com/Hishamahmer/comfyui-arkennemasis, or clone it manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Hishamahmer/comfyui-arkennemasis
    pip install -r ComfyUI/custom_nodes/comfyui-arkennemasis/requirements.txt
    

    Restart ComfyUI and it appears under arkennemasis/Variation. No models, no API keys - pure data plumbing. The only way to misuse it is to ignore the list it hands you and build a graph hard-wired to your current axis count; that's the defect the node exists to retire.

    Categoryarkennemasis/Variation

    Inputs (2)

    NameTypeDefaultDescription
    cells_jsonSTRING[]
    indexINT00–10000000-based. Wire a for-loop's index here.

    Outputs (11)

    NameTypeDescription
    cell_jsonSTRING
    keySTRING
    target_regionSTRING
    referenceIMAGE
    reference_2IMAGE
    reference_3IMAGE
    target_hexSTRING
    target_rgbSTRING
    spec_typeSTRING
    summarySTRING
    indexINT