Spreadsheet2Video Multiply Spreadsheet
Cross your spreadsheets to build a full parameter grid
- STRING
If you've used the Spreadsheet2Video pack long enough to want variations, you've hit the wall it solves: writing the same row out a dozen times with one value changed. Spreadsheet2Video Multiply Spreadsheet (node class Spreadsheet2VideoMultiplySpreadsheet) does that for you - it takes two CSV spreadsheets and multiplies them together, which in spreadsheet terms means the Cartesian product. Every row of spreadsheet A gets paired with every row of spreadsheet B, and the columns of B are appended onto each A row.
What it actually does
It parses both inputs as CSV with header rows, then for each row of the second spreadsheet, it writes out every row of the first. So if spreadsheet A has 5 rows and spreadsheet B has 3, you get 15 rows out, with A's columns followed by B's. The header is the concatenation of both headers.
That's the whole product, and it's the difference between this node and the pack's sibling Spreadsheet2Video Add column node: Add column repeats/cycles B's rows to pad A up, while Multiply generates every combination. For parameter sweeps you almost always want the full grid.
The inputs that matter
spreadsheet- your base CSV, with a header row. Same format as the main node'sspreadsheetinput, so you can feed this node fromSpreadsheet2Video Load Spreadsheettoo.spreadsheet_to_add- the CSV whose columns get appended. Same rules: header row first.
The output is a STRING of the combined CSV, which you'd wire into the main Spreadsheet2Video node's spreadsheet input.
What it's for
The README points at one workflow (Spreadsheet2Video_Multiply_Spreadsheet.json) and the pattern is simple: you keep one spreadsheet of content - prompts, filenames, segments - and multiply in a spreadsheet of parameters - seeds, pan amounts, LoRA weights, model names. Instead of maintaining 40 rows by hand, you maintain a 4-row content sheet and a 10-row parameter sheet and let this node generate the 40.
It pairs naturally with the other spreadsheet-builder nodes in the pack:
Spreadsheet2Video Sequencemakes a column of numbers (say, seeds 0–9).Spreadsheet2Video Files listmakes a column of filenames.
Feed either (or both) in as spreadsheet_to_add, and the multiplication turns one parameter column into a full run set. That's how you get "render every prompt at every seed" or "run this whole pipeline over every image in a folder" without typing any of it.
Gotchas
- Missing cells are silently filled as blanks, and if the second spreadsheet has fewer rows than the first, the product still comes out complete - that's the point of the Cartesian product, but it means row counts can explode fast. A 50×50 grid is 2,500 runs. Check your math before you queue it, especially with video where each run is minutes long.
- The output is plain CSV text; if you want to inspect it, dump it into a
Show Text-style node or load it in a spreadsheet before committing.
It's a small, boring node that does one arithmetic thing - but it's the reason a spreadsheet-driven loop can scale past "I typed it all out by hand."
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| spreadsheet | STRING | Comma separated values with a header row. Can use Spreadsheet2Video Load Spreadsheet node. | |
| spreadsheet_to_add | STRING | Comma separated values with a header row. The columns to add |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |