SP_CacheAutoLoaderMulti10
When five cache wires just isn't enough
- value_1
- value_2
- value_3
- value_4
- value_5
- value_6
- value_7
- value_8
- value_9
- value_10
- value_1
- value_2
- value_3
- value_4
- value_5
- value_6
- value_7
- value_8
- value_9
- value_10
- status
SP_CacheAutoLoaderMulti10 is exactly what the name says: the pack's multi-slot cache node, but with ten value slots instead of five. Same idea, same machinery, no new tricks to learn. If you've already read the SP_CacheAutoLoaderMulti article, you know how this behaves - this is the "I need more wires cached as one entry" variant.
It exists because real workflows outgrow five slots embarrassingly fast. A video pipeline that wants to cache the checkpoint, both text encoders, the VAE, a stack of LoRA names, the seed, the prompt, the denoise, the steps and the resolution is at ten before you've blinked. Rather than chaining two five-slot nodes and praying the keys line up, you get one entry that holds the whole bundle.
How it works
Identical three-tier lookup: memory → disk → compute. It checks the in-memory cache, then a joblib file in cache_directory (named <sanitized-key>_multi10.joblib, so it never collides with the five-slot files), and only on a full miss evaluates the connected inputs and background-saves them. Every value input is lazy - on a hit, ComfyUI doesn't evaluate anything upstream of it.
The one honest difference beyond slot count: the disk filename carries a _multi10 suffix rather than _multi, and the in-memory key is prefixed multi10_cache_. That keeps a ten-slot entry from stepping on a five-slot entry that happens to use the same key. You can even point the router at the same key and it'll find either flavor.
The inputs and outputs that matter
- key - the entry name (default
default_multi10_key). Change it to invalidate. - cache_directory - default
sp_node_cache, relative to ComfyUI's working directory. - enabled - off means plain pass-through, no caching.
- compression_level - 0 is fast save/load, 3–9 trades time for disk space.
value_1 through value_10 are the values, and the outputs mirror them plus a status string reporting which tier served the data. That's the whole surface area.
Install
Same pack, same steps:
cd ComfyUI/custom_nodes
git clone https://github.com/bananasss00/ComfyUI-SP-Nodes
restart, or install "SP-Nodes" from ComfyUI Manager. Dependency-wise you only need joblib for the cache to persist to disk.
Where people get burned
The same stale-key trap as the five-slot version: reuse a key with different inputs and you'll be handed last run's values. And a practical one that's easy to miss - with ten any-typed slots on screen, it's tempting to wire everything in, but only connected inputs are cached on a miss. Unconnected slots come back as None when the entry is reloaded, so make sure anything downstream actually needs a value is wired, or your cached replay will hand it a hole.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| key | STRING | default_multi10_key | — |
| cache_directory | STRING | sp_node_cache | — |
| enabled | BOOLEAN | true | — |
| compression_level | INT | 00–9 | 0: Fast save/load. 3-9: Saves disk space. |
| value_1opt | * | — | |
| value_2opt | * | — | |
| value_3opt | * | — | |
| value_4opt | * | — | |
| value_5opt | * | — | |
| value_6opt | * | — | |
| value_7opt | * | — | |
| value_8opt | * | — | |
| value_9opt | * | — | |
| value_10opt | * | — |
Outputs (11)
| Name | Type | Description |
|---|---|---|
| value_1 | * | — |
| value_2 | * | — |
| value_3 | * | — |
| value_4 | * | — |
| value_5 | * | — |
| value_6 | * | — |
| value_7 | * | — |
| value_8 | * | — |
| value_9 | * | — |
| value_10 | * | — |
| status | STRING | — |