ComfyUI-Whisk🌪️
Google Whisk's subject/scene/style remix, now a node — caption, blend, regenerate
- subject_image
- scene_image
- style_image
- generated_images
- subject_prompt
- scene_prompt
- style_prompt
- prompts
If you've seen Google's Whisk tool, you know the trick: drop in up to three reference images - a subject, a scene, a style - and Google remixes them into something new. People love it because it's fast, free, and does character work surprisingly well. This node puts that whole trick inside ComfyUI, so the remix can be a step in a larger graph instead of a dead end on a web page. Feed it a person, a location, and an art style, and out come Imagen renders of that person in that place in that style. It can also fire up to four images per run, which the free web UI wouldn't give you at once.
How it works
The magic of Whisk is that it doesn't paste your images together - it describes them, then redraws. The node makes three unofficial calls to labs.google's internal API:
- For each reference image you provide, it POSTs to
backbone.generateCaption, which turns the picture into a text caption taggedCHARACTER,LOCATION, orSTYLEdepending on which slot it came from. - It sends those captions plus your text prompt to
backbone.generateStoryBoardPromptto build the combined storyboard prompt. - It renders through the same
runImageFxendpoint the ImageFx node uses, withIMAGEN_3_1, hardcoded to landscape.
That caption-first design is the whole point: the images are described in words, blended in text, and regenerated - which is why you can shove wildly different references in and get something coherent out.
The inputs that matter
- subject_image / scene_image / style_image (all optional
IMAGE) - the three reference slots. A 2025 update means you no longer need all three: any subset works, from a single image up to the full trio, and each combination gets a different payload under the hood. Bring one subject and get character studies; bring subject plus style and skip the scene. - prompt (multiline) - free-text instructions layered on top of whatever the captions produced.
- num_images - 1 to 4 (default 2). More images, more chances at a keeper.
- seed - for reproducing or re-rolling, up to a 32-bit range.
Outputs: generated_images (IMAGE batch), plus the three caption strings (subject_prompt, scene_prompt, style_prompt) so you can see what Google thought your images were - often worth a read, because the captions are where the funny misunderstandings happen. The last output, prompts, is a JSON dump of the final rendered prompt(s), and it's exactly what the pack's third node consumes.
Installing and auth
Same pack as ComfyUI-ImageFx, same dance:
cd ComfyUI/custom_nodes
git clone https://github.com/ainewsto/comfyui-labs-google
# restart ComfyUI, or Manager → search "comfyui-labs-google"
Dependencies are just requests, pillow, chardet - no models, no VRAM, the compute all happens at Google. But Whisk has an extra auth wrinkle the author documents: the session cookies you need only show up after you upload an image in the Whisk web interface. So the ritual is: log into labs.google, upload something in Whisk once, then scrape the token and cookies into google.json. Remember the filename gotcha - the repo ships the template as googel.json (typo), while the code reads google.json. Rename it before you start.
Where people get burned
Everything that plagues the ImageFx node plagues this one, plus one of its own:
- Black output = silent failure. On an API error the node returns black 512×512 tensors and logs the real exception to the ComfyUI console. If you see black, read the console before touching anything else.
- 401 means the token expired. The credentials are time-limited; re-copy them from the browser.
- Landscape or nothing. The aspect ratio is hardcoded to landscape in the API payload, so portrait work means cropping afterward.
- It's unofficial, and it's been quiet. The pack hasn't had a commit since mid-2025, and Google's internal endpoints are moving targets. Account ban risk is real - the author's README spends three exclamation points telling you not to blame him.
Whisk remains one of the few Google Labs tools worth grabbing, and this node is the least painful way to use it as part of a real workflow. Just treat it like a borrowed car: it's great while it's yours, and the owner can take it back anytime.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| num_images | INT | 21–4 | — |
| seed | INT | 00–2147483647 | — |
| subject_imageopt | IMAGE | — | |
| scene_imageopt | IMAGE | — | |
| style_imageopt | IMAGE | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| generated_images | IMAGE | — |
| subject_prompt | STRING | — |
| scene_prompt | STRING | — |
| style_prompt | STRING | — |
| prompts | STRING | — |