Nodes/MKRShift_Nodes/Publish Manifest At Index
ComfyUI Node

Publish Manifest At Index

Pull one row out of your asset manifest

By criskb·Created 7 months ago·Updated 5 months ago· 0
Publish Manifest At Index
    • row_json
    • filename
    • title
    • alt_text
    • tags_csv
    manifest_json
    index0
    index_modeList Index

    The Publish lane's other index picker: MKRPublishManifestAtIndex takes a manifest (the kind MKRPublishAssetManifest produces) and an index, and returns a single row's filename, title, alt text, and tags as individual string outputs. Where MKRPublishCopyAtIndex picks a caption from a deck, this picks an asset from a manifest - same idea, different source.

    What it's for

    Manifests describe a whole batch, but workflows usually act on items one at a time. This node is how you say "give me asset number 3's filename and alt text" and get actual strings to wire into a filename widget, a caption box, or a metadata writer. It's the bridge between the batch-level manifest and per-asset actions.

    How it works

    It parses manifest_json, finds the rows array, and selects one row. The index_mode dropdown is the interesting control: List Index picks by position in the array (row 0 is the first), while Display Index matches against the row's display_index field - which matters because manifests can use custom numbering via start_index, so the displayed asset number and the list position can differ. Out-of-range indices return an empty row with a warning instead of failing.

    Inputs and outputs

    Inputs: manifest_json, index, index_mode (List Index / Display Index). Outputs: row_json (the full row record), filename, title, alt_text, tags_csv.

    Installing it

    Pack install as always:

    cd ComfyUI/custom_nodes
    git clone https://github.com/criskb/MKRShift_Nodes
    

    restart ComfyUI, or Manager → MKRShift_Nodes. Pure JSON parsing - no dependencies.

    Common issues

    The index_mode distinction is the one that bites. If your manifest uses start_index: 1, then the first row has display_index: 1 but list position 0 - ask for List Index 1 and you get the second asset. When your "which asset is this?" sense disagrees with what comes out, switch modes. And like its copy-deck sibling, feed it a manifest-shaped JSON or you'll get the empty-warning row.

    CategoryMKRShift Nodes/Publish/Utils

    Inputs (3)

    NameTypeDefaultDescription
    manifest_jsonSTRING
    indexINT00–99999
    index_modeCOMBOList Index2 options: List Index, Display Index

    Outputs (5)

    NameTypeDescription
    row_jsonSTRING
    filenameSTRING
    titleSTRING
    alt_textSTRING
    tags_csvSTRING