🎈FastCanvasTool
The feeder node that seeds FastCanvas programmatically
- bg_img
- img_1
- fc_data
FastCanvasTool is the plumbing that connects your workflow to the FastCanvas interactive canvas. On its own it does nothing visible - it packs images into a special FC_DATA payload that FastCanvas can consume. But it's the difference between using FastCanvas as a standalone doodle surface and using it inside an actual pipeline where your generated or loaded images are the layers.
The mental model: FastCanvasTool is the "input side" of the canvas. You give it a background and one or more layer images, it converts them all to base64 and bundles them up with their sizes into fc_data, and you feed that into FastCanvas, which renders the canvas, lets you drag the layers around, and returns the composited result. It exists because a full-resolution tensor is too heavy to slosh around the frontend - the canvas works in serialized image data, so something has to do the conversion. This node is that something.
The inputs that matter
bg_img(IMAGE, required) - the background of the canvas. Per the README, this should be an RGB image (it's the backdrop everything else sits on).img_1(IMAGE, optional) - your first layer. The node accepts additional layers the same way: each input namedimg_2,img_3, and so on is added on top, sorted by number. Layers can be RGB or RGBA.
One output: fc_data (FC_DATA), which plugs directly into FastCanvas's optional fc_data input. Don't try to wire it anywhere else - it's a private type that only the canvas understands.
The RGBA warning, again
The README calls this out explicitly and it's worth repeating here: ComfyUI's stock Load Image node outputs RGB, not RGBA. If you feed the tool an image that's supposed to have transparency and it came from Load Image, the alpha was never there in the first place. To get a layer with real transparency into the canvas you have to merge an alpha channel yourself (build an RGBA image before it reaches img_1). The tool happily accepts RGBA - it just can't conjure alpha from an RGB input.
Installing it
It's part of Comfyui_LG_Tools:
cd ComfyUI/custom_nodes
git clone https://github.com/LAOGOU-666/Comfyui_LG_Tools.git
pip install -r requirements.txt
Or via ComfyUI Manager → "Comfyui_LG_Tools" → restart. Find it under Add Node → 🎈LAOGOU → Canvas.
Common issues
- "FastCanvas shows nothing." The tool only emits data when it runs. If the canvas never got its
fc_data(connection dropped, node muted, canvas executed before the tool), you get an empty canvas. Keep the tool upstream and the canvas downstream, in that order. - "My layer lost its transparency." Same RGB/RGBA story. Merge alpha before it enters the node.
- A layer that isn't showing up. Check the input name - it must be
img_Nfor the tool to treat it as a layer. Any other-named input isn't picked up.
It's a small utility and it does exactly one job, but it's the difference between FastCanvas being a toy and FastCanvas being a compositing tool in your graph. Skip it and you're back to dragging images in by hand every run.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| bg_img | IMAGE | — | |
| img_1opt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| fc_data | FC_DATA | — |