Load Product Assets
The front door of every AI Fashion Studio workflow
- product_front
- model_reference
- product_front
- model_reference
- product_bundle
- bundle_json
Every AI Fashion Studio run starts here. This node takes your two input images - the product shot and the model reference - pairs them with a bit of product text, and mints a product_bundle that carries a run ID and content hashes through the rest of the graph. It's the entry ticket to the pipeline, and it's the one node you cannot skip.
It's a thin node, but a deliberate one. The bundle it produces (AFS_PRODUCT_BUNDLE) is a custom type that downstream nodes - analysis, try-on, evaluation, export - all read. That's the context-bundle pattern from the wider ComfyUI ecosystem: instead of dragging the run ID and product text across a dozen wires, they all travel in one typed object and each node pulls off what it needs. The trade-off is the usual one: a bundle hides its contents, so bundle_json is your debugging window into what's actually inside.
The inputs that matter:
product_frontandmodel_reference- wire these straight from twoLoad Imagenodes. The node validates they're 4D RGB tensors and keeps only the first frame. If your input happens to be a batch, frames after the first are ignored for the bundle.product_nameandproduct_description- easy to underrate, but they feed the product specification that every later stage uses. The mock analyzer literally reads keywords out of this text; the live one sends it to a vision model alongside the image. Defaults are a "Black cropped jacket", which is fine for a first run.run_id- leave blank and the node generatesafs-<random hex>. Set your own if you want a stable folder name, but it's strictly limited: letters, numbers, hyphens, underscores, 80 chars max. A space or comma throws aValueError.
The outputs: product_front and model_reference pass the images through (handy because the mock try-on node wants them wired directly), product_bundle is the one you'll actually use downstream, and bundle_json shows you the versioned asset records - run ID, name, description, and a SHA-256 of each input. Note the hashing: the pack fingerprints your source images up front, which is how the exported manifest can later prove which inputs produced a run.
It's part of the zero-cost mock slice, so it makes no API calls and needs no key - no models, no downloads, nothing beyond ComfyUI itself. Install the pack via Manager ("AI Fashion Studio") or git clone https://github.com/KillPhantom/ai-fashion-studio into custom_nodes, restart, and this node appears under "AI Fashion Studio / Mock MVP".
Real-world gotcha: because the bundle is where the run identity is born, it's also where a run's "who am I" is decided. If you change the product description after analysis, the spec downstream doesn't magically update - re-run from here. And if your images aren't RGB (grayscale or RGBA inputs), the validation errors immediately with a clear message, which is honestly refreshing.
Think of it as the boring-but-essential node. Get the two images and the text right here, and the rest of the pipeline mostly stops surprising you.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| product_front | IMAGE | — | |
| model_reference | IMAGE | — | |
| product_name | STRING | Black cropped jacket | — |
| product_description | STRING | Black cropped jacket with long sleeves, six buttons, and a left chest logo. | — |
| run_id | STRING | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| product_front | IMAGE | — |
| model_reference | IMAGE | — |
| product_bundle | AFS_PRODUCT_BUNDLE | — |
| bundle_json | STRING | — |