π Load Google Sheet
Pull prompts and parameters straight from a spreadsheet
- any
Here's the use case that makes this click: you keep a Google Sheet of prompts - one per row, maybe columns for style, seed, negative - and you want ComfyUI to read from it instead of you pasting text into a box every time. This node does exactly that. Give it the URL of a publicly shared sheet and a cell range, and it reads those cells back into your workflow as data you can feed downstream.
It's a batch-and-collaboration node at heart. A whole team can maintain a prompt list in a shared sheet, and the workflow picks it up live - no re-exporting CSVs, no editing the graph. For anyone running structured, repeatable generation (product shots, a series, a prompt-testing matrix) it turns the spreadsheet you were already keeping into the actual input.
How it works
Google Sheets can serve a publicly shared sheet's contents over a plain URL. This node hits that, reads the range of cells you asked for, and returns their values. Because a range can be many cells, the output comes back as a list - one entry per cell - which is exactly what you want for batch work: wire it into a prompt encoder and ComfyUI iterates the list, generating once per row.
The output type is a wildcard (*), so it'll carry whatever's in the cells - strings for prompts, numbers for seeds or steps - and hand them to whatever node you connect. Pair it with the SDVN list and switch nodes and you can build a spreadsheet-driven pipeline.
The inputs that matter
- Url - the link to your Google Sheet. The sheet has to be shared publicly (anyone-with-the-link can view); a private sheet the node can't reach will just fail.
- Cell - the range to read, in normal spreadsheet notation (default
A1:A1, a single cell).A1:A20grabs the first twenty rows of column A;A2:C10grabs a block. Skip the header row if you have one - start at A2, not A1.
The single output is any (a list) - the cell values, ready to feed into text encoders, seed inputs, or the pack's list-handling nodes.
Common issues
It reads nothing / errors on the URL. The sheet isn't public. Google Sheets defaults to private; you have to set sharing to "Anyone with the link β Viewer" for the node to pull it. This is the number-one gotcha.
I got my header text as a prompt. Your range started at row 1 and included the column title. Start the range one row down (A2:...) to skip headers.
Only one cell came back. Your Cell range is a single cell (A1:A1). Widen it to a real range like A1:A50 to pull a column of values.
The values came back as strings when I wanted numbers. Spreadsheet cells are text-ish by nature; if a downstream node needs a strict INT or FLOAT, run the values through one of SDVN's type-conversion nodes (Simple Any Input / Any Input Type) to coerce them.
Installing SDVN_Comfy_node
ComfyUI Manager: search "SDVN_Comfy_node" β install β restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/StableDiffusionVN/SDVN_Comfy_node
Then pip install -r custom_nodes/SDVN_Comfy_node/requirements.txt from the ComfyUI root and restart. The node appears under π SDVN / π‘ Creative. No models needed - just an internet connection and a public sheet.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| Url | STRING | β | |
| Cell | STRING | A1:A1 | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| any | * | β |