Luma Image to Image
Luma img2img with a single dial that decides how much the photo changes
- image
- IMAGE
Luma is mostly famous for video - Dream Machine, Ray, that whole family - but its image line, Photon, is quietly solid, and the Luma Image to Image node is the simplest possible way to use it: an image, a prompt, and one dial that decides how much of the original survives.
It's a stripped-down img2img node, and that's its appeal. No mask, no denoise stack, no ControlNet plumbing. You set a weight, you write what you want, you get a modified image back. When you want to restyle a photo without rebuilding a graph around it, that's the whole job.
What it actually is
A core partner node: ships with ComfyUI, no install, cloud-backed through Comfy's proxy to Luma's API. Sign in with your ComfyUI account, spend credits per call, and Photon runs on Luma's servers. Synchronous submit-and-poll - your queue waits, then a finished IMAGE tensor drops into your graph.
The inputs that matter
- image - the source you're modifying.
- prompt - what changes. "Make it golden hour," "turn the cat into a lion," "1980s VHS still" - img2img territory.
- image_weight (0–0.98, default 0.1) - the one dial that matters, and the tooltip explains it backwards from intuition: the closer to 1.0, the less the image gets modified. A weight near 0.1 (the default) is a loose edit - Photon takes the structure and runs with your prompt. Crank it toward 0.9 and you're doing a subtle nudge, keeping the photo's identity. This is your denoise control by another name.
- model - two options:
photon-1(the full flagship, better quality, pricier) andphoton-flash-1(the fast/cheap tier for iterating). - seed - with the usual cloud-model asterisk: the tooltip is honest that results are nondeterministic regardless of seed; the seed mainly controls whether the node re-runs.
Output is a single IMAGE, ready for Save or further processing.
Where it fits
Think of it as the "one-button restyle" rung of a workflow. The niche where this beats local img2img is turnaround: you don't have a good img2img checkpoint for the style you want, or you don't want to download one for a single shot. Point this at a photo, describe the new look, and you're done - including styles no local model you own covers.
It's also a fine first pass before heavier work: modify in the cloud, then take the result into your local graph for detail passes.
Gotchas
image_weightis the whole game, and people get burned treating the default as a "strength" slider where high = strong. It's inverted: high = less change. Start at the default 0.1, and only push toward 0.8+ when you specifically want the source preserved.- Photon-flash is the iterating tier, photon-1 the commit tier - they cost differently, and the price badge reflects it.
- Nondeterminism: don't chase an exact duplicate. If a run lands close, lock the seed and rerun for another take rather than expecting pixel-identical repeats.
- Standard partner-node rules: Comfy account with credits, localhost-only login, needs internet.
If you've ever wanted "just img2img it, without the graph," this is the node. One dial, one prompt, done.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| prompt | STRING | Prompt for the image generation | |
| image_weight | FLOAT | 0.100–0.98 | Weight of the image; the closer to 1.0, the less the image will be modified. |
| model | COMBO | 2 options: photon-1, photon-flash-1 | |
| seed | INT | 00–18446744073709550000 | Seed to determine if node should re-run; actual results are nondeterministic regardless of seed. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |