Bori Json Get Set Convert
This migrates your mape Variable workflows to KJNodes Set/Get
First, the name is doing a lot of work, so let's set expectations: this node doesn't do anything inside your workflow. It's a batch editor that runs once and then sits there. You point it at a folder full of ComfyUI workflow JSONs, queue it, and it rewrites every mape Variable node in those files into KJNodes SetNode/GetNode pairs. If you've ever loaded a workflow that depends on the mape pack and thought "I don't want another dependency just for this," this is the one-click answer to that specific headache.
The story is right there in the default path: C:/comfyADMDLoraTrain/... and the two bundled sample files (sd1pt5DS8_mape_1k_v001.json and its nonMape twin). boricuapab built this while migrating their own SD1.5 LoRA training workflows off mape Variable, hit a wall with how tedious replacing named-variable nodes by hand is, and shipped the tool that un-stuck them. It's a personal tool that happens to be public - zero dependencies, one input, zero outputs, GPLv3.
What it actually does
A ComfyUI workflow is just a JSON file - it's the ecosystem's sharing currency, which is why "workflow included" became the norm and why missing-node errors are the most common way a downloaded workflow fails on arrival. This node edits those files directly. When you run it, it:
- Scans
json_folderfor.jsonfiles - only the ones directly in that folder, subfolders are ignored. - Finds every node typed
mape Variablein each file. - If a mape Variable has an incoming wire, it's being used as a Set (it receives a value), so it becomes a
SetNode, keeping its position, size, order, and its input link. - If it has no incoming wire, it's a Get (it emits a value), so it becomes a
GetNode. The script matches each Get to a Set with the same value string so the new GetNode inherits the right output type, and keeps the Get's downstream links. - Writes each file back in place and prints
Replacing node ...lines to the console.
The reason this works as a migration rather than a gut-and-rebuild is that both node families wire by name, not by literal wire: a mape Set and mape Get with the same value string are implicitly connected, and KJNodes SetNode/GetNode work exactly the same way. The value strings are preserved, so the graph's logic survives the transplant.
The one input that matters
json_folder (STRING) - that's it. Set it to the folder holding the workflow JSONs you want converted. The default points at the pack's own convert/ folder, which is a leftover from the author's setup; you'll almost always replace it. There are no outputs, because there's nothing to wire: this is an output node (returns {}) that does its work on disk. Run it, then check your console log to see what got swapped.
Installing it
Nothing to download beyond the code itself - this pack has no requirements.txt and pulls in no pip dependencies, just Python's stdlib. Install via ComfyUI Manager (search "ComfyUI-Bori-JsonSetGetConverter" or "Bori") or:
cd ComfyUI/custom_nodes
git clone https://github.com/boricuapab/ComfyUI-Bori-JsonSetGetConverter
Then restart ComfyUI. You'll find the node under the Bori_Converter category. One real prerequisite on the other end: the converted files reference SetNode/GetNode, which live in KJNodes - install that too, or the migrated workflows will open with missing nodes and you're back where you started.
Where people get burned
- It overwrites your files in place, with no backup. This is the big one. There's no undo and no reverse converter, so copy your workflow folder somewhere safe before you queue it.
- Gets without a matching Set get left behind. The script only converts a Get when it finds a Set with the exact same value string in the same file. A Get whose value has no Set twin stays as the original
mape Variablenode, which means you'll still be missing that pack when you open the file. Search the console output for files where that happened. - It only touches files directly in the folder. If your workflows live in subdirectories, they're skipped silently.
- It only rewrites
mape Variablenodes. Everything else passes through untouched - which is the point, but worth knowing if you expected it to fix anything else about the JSON.
It's a narrow tool, but for the migration it targets it's genuinely the fastest path: drag the folder, queue, done. Just back up first, and keep KJNodes handy.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| json_folder | STRING | C:/comfyADMDLoraTrain/ComfyUI/custom_nodes/ComfyUI-Bori-JsonSetGetConverter/convert | — |
Outputs (0)
No outputs