Save Scene Asset ๐
Pinning Down the Room Before It Drifts
- image
- name
- description
- image
- status
- asset
Save Scene Asset ๐ is a hidden legacy node - one of the per-kind asset nodes the pack retired when it merged everything into Save Asset ๐ with a kind dropdown. It still loads old workflows and still writes the same folders; it just doesn't appear in the node menu anymore. New graphs want Save Asset set to scene.
It's still the clearest illustration of what a scene asset is for, so it's worth a read either way.
A scene is a picture plus an argument
Characters drift because faces are the hardest thing to hold constant, but rooms drift for a dumber reason: nobody writes down the room. You prompt "cozy living room" in shot one and "cozy living room" in shot six, and you get two different apartments because the words carry almost no spatial information.
Saving a scene fixes that by attaching authored text and a picture to a name. The description field wants 60โ100 words of English about space and layout: the sofa against the left wall, the floor lamp in the corner, warm light from the kitchen doorway, the low table cluttered with magazines. Not mood words - facts an image reference must preserve. The image is the anchor that shows those facts to the video model while it generates.
On disk it's scenes/<name>/scene.json and scenes/<name>/images/01.png. One image, one description, no audio. That's the whole model.
Inputs and outputs
name is a mode toggle, not two widgets: ๐ ๅทฒๆ่ตไบง Existing gives you a dropdown of existing scenes and picking one means overwrite, while โ๏ธ ๆฐๅปบ New reveals new_name and typing there creates a new scene. Execution reports which in status - created or overwritten.
description is the 60โ100 word English text. There is no voice and no audio socket on this node - the merge explicitly popped those so the widget order matched the pre-merge scene node. image (IMAGE) is the picture, and image_upload is the file picker over ComfyUI's input directory; a wired socket beats a picked file, and if both are empty on an overwrite the existing picture on disk is kept, so you can revise just the description.
Outputs: name, description, image, status, asset. The image is read back from the PNG on disk, so it's the 8-bit quantised version - exactly what a Load will hand you later. asset is the MIE_ASSET bundle for the generator's scene_N sockets or Asset โ Assets ๐.
Saves only happen on execution. It's an output node; the on-node save button queues the graph for you, and afterwards every asset node on the canvas refreshes its list.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/MieMieeeee/ComfyUI-MieNodes
pip install -r ComfyUI-MieNodes/requirements.txt
Or ComfyUI Manager, search ComfyUI_MieNodes. No models to download. library_dir is ignored at execution - the library root is fixed per machine (the plugin's asset_library/, or $MIE_ASSET_LIBRARY), reachable via the ๐ button.
Things that go wrong
You can't find the node: expected, it's hidden. Use Save Asset ๐ with kind = scene.
Flipping to โ๏ธ ๆฐๅปบ and saving without typing a name gives a bilingual error telling you to type one or switch back to Existing - the concrete message begins (New-asset mode is on but new_name is emptyโฆ).
An image batch wired into image writes multiple PNGs, and the matching Load node then refuses the asset (does not fit the simple model (one image)). One picture per scene, always.
And the one that isn't an error at all: a scene that saves fine and still doesn't hold across clips usually means the description is doing atmosphere instead of layout. Say where things are. The model can follow "the window is behind the desk"; it can't follow "a scholarly ambience."
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| library_dir | STRING | โ | |
| name | COMBO | ๏ผไธๆ้ๆฉ่ตไบง๏ผ | ่ตไบงๅ๏ผ๐ ๅทฒๆ่ตไบง Existing ๆจกๅผไธๆ้ๅๅญ = ่ฆ็่ฏฅ่ตไบง๏ผโ๏ธ ๆฐๅปบ New ๆจกๅผ่พๅ ฅๅๅญ = ๆฐๅปบ๏ผไธค่ ไบๆฅไบ้ไธ๏ผใ Asset name: ๐ Existing mode picks an asset to overwrite; โ๏ธ New mode types a name to create โ the two are mutually exclusive. |
| description | STRING | ่ตไบง็่ฑๆๆ่ฟฐ๏ผ60โ100 ่ฏ๏ผใ่ง่ฒ = ๅค่งไบๅฎ๏ผๅนด้พ/ๅๅ/่ธๅ/็่ฃ ๏ผ๏ผๅบๆฏ = ็ฉบ้ด/้่ฎพ/ๅ ็บฟ/ๆฐๅดใ English description (60-100 words). Character = looks only; scene = space, furniture, lighting, atmosphere. | |
| new_name | STRING | โ | |
| imageopt | IMAGE | โ | |
| image_uploadopt | STRING | โ |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| name | STRING | โ |
| description | STRING | โ |
| image | IMAGE | โ |
| status | STRING | โ |
| asset | MIE_ASSET | โ |