Scale Image Node
The node this Roblox pack is actually for
- image
- background_image
- IMAGE
Every node in roblox-comfyui-nodes orbits this one. Scale Image Node is the compositor: it takes a generated image, scales it, rotates it, and drops it onto a background at a chosen position. In the pack's world that means taking AI-generated art and placing it onto a Roblox livery or sticker template before you upload the finished decal. If you came to this pack for the Roblox angle, this is the node you actually care about.
How it works
Seven inputs, one IMAGE output. The two that matter most:
- image (IMAGE) - the foreground, the thing being placed.
- background_image (IMAGE) - the canvas it lands on.
- scale_x / scale_y (FLOAT, 0.1–10, default 1) - independent horizontal and vertical scaling, resampled with LANCZOS.
- rotation_angle (FLOAT, 0–360) - rotation applied after scaling.
- position_x / position_y (FLOAT, 0–1, default 0) - where the foreground sits on the background.
The mechanism is straightforward PIL: resize, rotate (with the canvas expanding to fit), then paste onto the background using the foreground's own alpha as the mask. The output is a single IMAGE tensor, sized to the background.
The trap: background_image is required
Look at the node and it looks like you can leave the background empty - the default is null. You can't. The code hard-raises a ValueError when background_image is None ("Se requiere una imagen de fondo válida" - "a valid background image is required"), killing the queue. This is the #1 way this node burns people: they wire only the foreground, hit run, and get an exception. Connect a background (Load Image, or the output of a text-to-image node), and you're fine.
Two more things worth knowing. Position is normalized relative to the free space left over after the rotated foreground is subtracted from the background - so 0/0 parks the foreground in the top-left corner of that space and 1/1 in the bottom-right. It's relative positioning, not absolute pixel coordinates, so the same values behave differently at different scales. And like its sibling Mirror Effect Node, the foreground's alpha gets binarized to fully-opaque-or-transparent before compositing - soft edges will look cut out.
Installing it
Standard pack install, nothing heavy:
cd ComfyUI/custom_nodes
git clone https://github.com/VertexStudio/roblox-comfyui-nodes
Restart ComfyUI, or search roblox-comfyui-nodes in ComfyUI Manager. No requirements.txt, no model downloads - it only needs the images you feed it. It lives under the Roblox category, which says everything about what it's for.
Common issues
- "Errors about a background image." You left background_image unwired. It's required despite the null-looking default - connect one.
- "The position values do nothing / land in the wrong corner." Position is proportional to the leftover space, not absolute pixels. If your foreground nearly fills the background, there's barely any room to move and the values feel useless.
- "Edges look jagged or cut." Alpha binarization again. Generate your foreground with a solid or fully opaque background if you need clean composites, or clean it up after.
It's a narrow tool aimed squarely at Roblox asset prep, and it does that one job well - as long as you remember it always wants a background.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| background_image | IMAGE | — | |
| scale_x | FLOAT | 1.00.1–10 | — |
| scale_y | FLOAT | 1.00.1–10 | — |
| position_x | FLOAT | 0.000–1 | — |
| position_y | FLOAT | 0.000–1 | — |
| rotation_angle | FLOAT | 00–360 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |