Nodes/TrentNodes/JSON Params Extractor
ComfyUI Node

JSON Params Extractor

Turning an opaque JSON blob into a readable settings report

By TrentHunter82·Created 9 months ago·Updated 4 days ago· 36
JSON Params Extractor
    • multi_line_string
    json_input{}
    json_file_path
    prefix

    Somewhere in your video pipeline there's a node that hands you a giant JSON blob of inference parameters - usually a Wan or MiniMax workflow's full settings dump, nested four levels deep. You want to look at it, maybe log it, maybe show it on a Preview Text node. JSON Params Extractor is the tool that turns that blob into a clean multi-line report of exactly the fields you care about.

    What it actually does

    It's not a general-purpose JSON explorer. This node has a fixed, opinionated list of keys baked into the code - the ones that matter for video inference:

    height, width, num_frames, fps, guidance_scale, seed, steps, use_timestep_transform, shift_value, use_guidance_schedule, add_quality_guidance, clip_value, use_negative_prompts, skip_control, caching_coefficient, caching_warmup, caching_cooldown

    It walks your JSON object, pulls out whichever of those keys are present, and emits them as Display Name value lines. Booleans come out as lowercase true/false instead of Python's True, which reads a lot better in a log. Anything not in that list is ignored - that's the point. You get a compact settings report, not the whole dump.

    The prefix input prepends text to every line, which is handy when you're logging several runs to the same file and want to distinguish them.

    Inputs and outputs that matter

    • json_input - paste a JSON string directly. Multiline, defaults to {}.
    • json_file_path - an alternative to pasting: point at a .json file on disk and it loads that instead. File wins if both are set.
    • prefix - optional text prepended to each line.
    • multi_line_string - the one output, a STRING you can wire into Preview Text, a text logger, or a Save Text node.

    Where it fits

    Think of it as the readability half of a logging chain. Pipe a node's JSON output into this, and instead of a wall of braces you get:

    Height 704
    Width 1280
    Num Frames 121
    Guidance Scale 5.0
    Seed 123456789
    Steps 30
    

    From there it's one wire into any text display or file writer. It also pairs naturally with JSONSummary (also in this pack), which is the more flexible, key-agnostic cousin - Extractor is the fixed-schema report, Summary is the one where you name your own keys.

    Install

    Part of TrentNodes:

    cd ComfyUI/custom_nodes
    git clone https://github.com/TrentHunter82/TrentNodes.git
    cd TrentNodes
    pip install -r requirements.txt
    

    Then restart ComfyUI. It lives under Trent/Utilities. This node pulls in no extra model weights and no heavy dependencies - it's a pure JSON formatting node, so the install is just the pack itself.

    Gotchas

    The fixed key list is both the feature and the limitation. If your JSON uses different key names - say cfg instead of guidance_scale - the node silently skips them, and you'll get a sparse report with no error. And if the JSON is nested (your params live under an inference_params key), this node doesn't descend; it only reads the top level. That's exactly why the pack also ships JSONSummary, which handles nested paths. Use the Extractor for flat dumps and the Summary for everything else.

    CategoryTrent/Utilities

    Inputs (3)

    NameTypeDefaultDescription
    json_inputoptSTRING{}
    json_file_pathoptSTRING
    prefixoptSTRING

    Outputs (1)

    NameTypeDescription
    multi_line_stringSTRING