LASED Point Picker
Stop typing pixel coordinates. Click them instead.
- image
- seed_x
- seed_y
- point_str
Every LASED swarm node wants a seed point, and a seed point is a pair of pixel coordinates. Which means every time you switch images, you get to hunt for the right x,y by hand. LASED Point Picker exists to kill that chore: it renders the input image inside the node, you click where the region is, and it outputs the coordinates as clean INTs.
Here's the flow. Connect the same IMAGE that feeds your swarm node to the picker's image input, hit ↻ refresh preview, and the picture appears inside the node. Click (or drag) to place the crosshair - there's a live pixel readout bottom-left as you move. Then wire the outputs to your swarm node and queue.
The inputs and outputs
Only two inputs, both modest: image and point, a string that defaults to "0.5,0.5". The trick is in how point is interpreted: values ≤ 1.0 are image fractions - which is exactly what clicking writes, and it means your pick stays valid if you swap in an image at a different resolution - while values > 1 are absolute pixels, which you can type by hand if you know the coordinates. Clever, and it removes a whole class of "my mask moved when I changed resolution" bugs.
Outputs are seed_x (INT), seed_y (INT), and point_str (STRING, the "x,y" form). To use them: on your swarm node, right-click the seed_x / seed_y widgets and Convert widget to input, then connect the INTs. The point_str output exists for Multi-Seed - collect several picks and join them into its seeds field with a string-concat node.
How the preview loads without running everything
The nice part is that refreshing the preview doesn't force a full workflow run. If the image input traces back to a LoadImage or LoadImageMask, the picker shows the file directly - instant, no execution. Otherwise it queues a partial execution of just the picker's upstream subgraph, which needs ComfyUI ≥ 0.3.41. Running the workflow normally also (re)loads the preview, since the node is an output node.
Gotchas
- "no preview - press ↻ refresh preview" is the normal empty state, not an error. Press the button.
- The refresh button is missing entirely? The node's frontend lives in the pack's
web/directory. If the JS didn't load, the node still works but the click UI won't - restart ComfyUI, and make sure the pack actually installed (check the LASED category). - Partial-execution path not working? Check your ComfyUI is ≥ 0.3.41. On older versions the refresh still works when the image comes straight from a LoadImage node, because that path needs no execution at all.
- The picker converts fractions to pixels against the actual image dimensions at execution time, so whatever resolution flows in, the click lands where you meant it.
Install
Same as the rest of the pack: ComfyUI Manager search for ComfyUI-LASED-mask, or git clone https://github.com/MushroomFleet/ComfyUI-LASED-mask into custom_nodes and restart. No model downloads, numpy-only core. workflows/lased_point_picker.json shows the picker driving a Swarm Edge node end to end - it's the fastest way to feel the difference between typing 127,83 and just clicking the leaf.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| point | STRING | 0.5,0.5 | Picked point. Values <= 1.0 are image fractions (what clicking writes); larger values are absolute pixels. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| seed_x | INT | — |
| seed_y | INT | — |
| point_str | STRING | — |