GenAsset Workflow Assistant
GenAsset Workflow Assistant — an AI that fills out your paperwork
- image
- asset_name
- asset_id
- tags_csv
- intent
- notes_md
- version_label
- metadata_json
- warnings_json
- status_json
- summary
The boring part of a versioning system is the paperwork: every save needs a decent asset name, some tags, an intent, notes, maybe a version label. Do that by hand and you'll skip it, and your library rots into "untitled asset 47." GenAsset Workflow Assistant is the node that does the paperwork for you. It looks at your workflow - and optionally the image you just made - and suggests the asset name, tags, intent, notes, version label, and metadata that Save To GenAsset would otherwise make you invent.
It's the pack's AI feature, and it's the one node here that genuinely calls a GenAsset-hosted model. That means it's also the one with a real privacy and cost consideration attached, so read the mechanism section before you wire it in everywhere.
How it works
The node compacts your current workflow context - the graph, the prompts it can find, an optional image input, plus your asset_name_hint and asset_id_hint as starting points - and sends it to the api/v1/comfy/workflow-assist endpoint on GenAsset. The server runs its AI over that context and returns structured suggestions, which the node splits into the outputs you see. It also returns warnings_json - plain-language flags about the workflow itself, which makes it a lightweight health check in the same breath.
Two details matter. First, this is a real cloud call carrying your workflow context to GenAsset, so the same "your data leaves the machine" rule that applies to every API node applies here - except this one is sending your graph, not just a prompt. Second, it needs the token to be valid and the workspace to have GenAsset AI enabled, because the AI guidance runs through GenAsset's API. The README is explicit about that dependency.
Inputs and outputs that matter
Only base_url and token are required. The optional inputs are the levers: image (the generation being saved, so suggestions can be grounded in what you actually made), asset_name_hint (a starting point for the suggested name), and asset_id_hint (an existing asset id to prefer when saving a new version of something known).
The outputs are made to be wired straight into Save To GenAsset:
asset_name,asset_id,tags_csv,intent,notes_md,version_label,metadata_json- the pre-filled fields.warnings_json- workflow issues worth reading.status_json/summary- did it work, and what did it decide.
That's the canonical flow: Assistant outputs → Save To GenAsset optional inputs. You generate, the assistant names and tags it, you save with one click.
Installation
In the steliosot/ComfyUI-GenAsset pack. ComfyUI Manager → search GenAsset → install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/steliosot/ComfyUI-GenAsset.git
Restart after. No extra pip dependencies. You need a valid workspace token (widget, GENASSET_WORKSPACE_TOKEN, or ComfyUI/user/genasset.json) - and because the AI runs through GenAsset, the token has to be one with workspace access to the AI feature.
Common issues
- Errors about the workspace or AI access - the node can't help you if the token can't reach the AI endpoint. Check the token is current and the workspace has the feature enabled; the README calls this out explicitly.
- Suggestions you don't like - they're suggestions, not orders. The hints are there precisely so you can steer: set
asset_name_hintand the name lands closer to what you want. And nothing stops you from editing the assistant's outputs before they hit the save node - that's the point of having them as wires. - It's slower than the other nodes - obviously, it's calling a model. If you're batching saves, consider whether you need AI naming on every run or just the ones that become "official" versions.
This is the node that makes GenAsset usable at scale, and it's also the one that reminds you GenAsset is a hosted product with a brain attached. Use it for the saves that matter, wire its outputs into Save To GenAsset, and let your "untitled asset" era end.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| base_url | STRING | https://genasset.xyz | — |
| token | STRING | ComfyUI/user/genasset.json | — |
| imageopt | IMAGE | — | |
| asset_name_hintopt | STRING | Optional starting point for the suggested asset name. | |
| asset_id_hintopt | STRING | Optional existing asset id to prefer. |
Outputs (10)
| Name | Type | Description |
|---|---|---|
| asset_name | STRING | — |
| asset_id | STRING | — |
| tags_csv | STRING | — |
| intent | STRING | — |
| notes_md | STRING | — |
| version_label | STRING | — |
| metadata_json | STRING | — |
| warnings_json | STRING | — |
| status_json | STRING | — |
| summary | STRING | — |