Scene Backdrop Data
Pull a saved backdrop back into your graph
- workspace
- name
- positive
- negative
- image
- image_path
- image_latent
- image_latent_path
- image_mask
- image_depthmap
- image_depthmap_path
- image_seed
Scene Backdrop Data is the read-back half of the backdrop pair. Where Scene Backdrop writes a reference image, latent, and depth map to disk, this node loads them back out and hands them to the graph as connectable sockets. It's the node you put inside your render loop (or just upstream of it) to give every batch the same stable background - which, in a pack whose whole reason for existing is chunk-to-chunk continuity, is a genuinely useful trick.
It's a pure loader: give it a workspace and a backdrop name, and it opens <output>/workspaces/<workspace_codename>/scene_backdrops/<name>/backdrop.json, then loads whatever files that JSON points at. What you get is everything you saved plus an auto-extracted mask.
The outputs that matter
imageandimage_mask- the saved backdrop PNG loaded as an IMAGE tensor, plus a mask extracted from its alpha channel (ComfyUI core's LoadImage behavior, reused). The mask is your automatic cutout if the backdrop had transparency.image_latent- the saved latent, loaded back as a LATENT dict. This is the one you'd feed to a sampler to seed every chunk from the same encoded background. The latent's file path is onimage_latent_path.image_depthmap- the depth map, if one was saved (path onimage_depthmap_path). Depth-conditioning every batch against the same map is a solid way to keep composition locked across chunks.positive,negative,image_seed- the stored prompt text and seed, in case you want to reuse them for conditioning.name,image_path- mostly bookkeeping: the backdrop's name and the on-disk path of the image.
The inputs that matter
workspace(required,WORKSPACE) - same deal as Scene Backdrop: this type comes from the author's sibling projectwgedeon/_comfyui_user_workspaces, not from this pack. No workspaces pack, no sockets.backdrop_name(required) - the folder name you saved under. Empty string by default, and a missing folder raises aFileNotFoundError- the node doesn't create anything, it only reads.
Installing
You need both halves:
cd ComfyUI/custom_nodes
git clone https://github.com/wgedeon/comfyui_play_traversal
git clone https://github.com/wgedeon/_comfyui_user_workspaces
pip install -r comfyui_play_traversal/requirements.txt
Restart ComfyUI. comfyui_play_traversal is in ComfyUI Manager (search the title); the workspaces pack is manual-clone only, since the author can't push it to the registry. The pack's requirements are heavy (diffusers, accelerate, onnxruntime, opencv-python, spandrel, peft, clip_interrogator, sentencepiece, matplotlib, lark).
Where people get burned
- "Could not find backdrop file." The most common failure - you haven't run a
Scene Backdropnode with that exactnamein that workspace yet, or you misspelledbackdrop_name. It reads exactly what you saved, and it raises loudly if the JSON's missing. - Missing WORKSPACE type again. Install the workspaces pack or the inputs stay "unknown type" and nothing connects.
- Saving image and latent are independent. If you saved only the image,
image_latentcomes back empty - plan what you'll want to read before you run the save node. - The saved JSON is your contract. Rename a backdrop folder on disk and the paths inside go stale. Move things via the nodes, not the file explorer.
- Early-stage, single-author pack - treat console logs as the docs, and expect rough edges.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| workspace | WORKSPACE | — | |
| backdrop_name | STRING | — |
Outputs (11)
| Name | Type | Description |
|---|---|---|
| name | STRING | — |
| positive | STRING | — |
| negative | STRING | — |
| image | IMAGE | — |
| image_path | STRING | — |
| image_latent | LATENT | — |
| image_latent_path | STRING | — |
| image_mask | MASK | — |
| image_depthmap | IMAGE | — |
| image_depthmap_path | STRING | — |
| image_seed | INT | — |