Json From Properties
Turn a properties dict into a real JSON string
- properties
- properties_json
Json From Properties takes the structured metadata you've built with TinyBee's property nodes - Encode Any Property, Encode Any Properties (Dynamic), Combine Properties - and serializes it into a single JSON string. Everything you've assembled as a dict becomes one text blob you can save, send, or shove into a file.
Why you'd reach for it
TinyBee has a whole metadata story: you collect name/type/value entries into a TINYPROPS dict, and if you want that dict to leave the graph - saved to disk next to an image, posted to an API, logged to a text file - it has to become a string. That conversion is this node's only job. It's the natural partner for Save Image w/Meta or any Save String to File workflow that wants the full metadata as readable JSON.
How it works
The implementation is a one-liner: json.dumps(properties). The TINYPROPS input is a Python dict under the hood, and it gets serialized into a JSON-formatted string. If the input isn't a dict for some reason, the node prints a warning and returns "{}" rather than crashing your queue.
The inputs that matter
- properties - a TINYPROPS dict, which means it must come from a TinyBee property-producing node. You can't just type JSON into it; wire it from Encode Any Property, Combine Properties, or Load Image w/Meta's metadata output.
One output:
- properties_json - the serialized JSON string. Feed it to a text file saver, a JSON Parser for further querying, or bundle it into a Save node.
Installing it
Same pack, same drill: ComfyUI Manager → Install Custom Nodes → search "ComfyUI-TinyBee", install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/TinyBeeman/ComfyUI-TinyBee
It lives under 🐝TinyBee/Queue. Stdlib only - json is built into Python, no extra dependencies.
Common issues
The main failure mode is type mismatch: this node wants a TINYPROPS dict, and if you feed it a raw string you'll get the "{}" fallback and wonder where your data went. Check the wire type before assuming the node is broken. Also note the output is a string - you can't pass it straight into another property node; it's meant as a terminal output. If your JSON comes back as a Python None for empty props, that's the "{}" path doing its job.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| properties | TINYPROPS | [object Object] | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| properties_json | STRING | — |