π€ Leon Luma AI Image API
Luma Photon with full image, style and character reference support
- input_image_ref_socket
- input_style_ref_socket
- input_char_ref_socket
- image
- image_url
- seed
Leon Luma AI Image API is the pack's Luma node, and it's the most feature-dense of the "just generate an image" crowd. It wraps Luma's photon and photon-flash models through the HyprLab API, and what makes it stand out is the reference stack: image reference, style reference, and character reference - each with its own socket, its own hosted-URL fallback, and its own strength slider. If you want Luma's look with an actual subject or art style carried over from images you already have, this node is set up for exactly that.
The three-way reference system is the headline. input_image_ref_socket/input_image_ref_url with image_reference_weight (0β1) controls compositional reference; input_style_ref_socket/input_style_ref_url with style_reference_weight steers the artistic direction; and input_char_ref_socket/input_char_ref_url aims at keeping a person or character recognizable. That's a lot of levers for a hosted wrapper, and it's the reason you'd pick this node over the pack's simpler Imagen or Grok ones.
How it works
Same base-class machinery as the pack's other generation nodes: JSON POST to https://api.hyprlab.io/v1/images/generations with a Bearer token, up to 5 retries with exponential backoff, download the result, return an RGBA tensor. The reference images are resolved the pack way - a tensor becomes a base64 data URI, a URL is passed through, and supplying both at once raises an error rather than guessing.
The inputs that matter:
model-photon(default) orphoton-flash. Flash is the fast/cheap tier; photon is the quality pick.aspect_ratio-1:1,3:4,4:3,9:16,16:9,9:21,21:9.- The three reference pairs plus their
_weightsliders. seed- and here's an honest warning baked into the tooltip: "may not be used by Luma API via HyprLab". In other words, don't bet your reproducibility on it.
Outputs: image, image_url, seed.
Installing it
Pack-wide install, nothing special:
cd ComfyUI/custom_nodes
git clone https://github.com/l3ony2k/comfyui-leon-nodes
pip install -r requirements.txt
Restart ComfyUI, or install "ComfyUI Leon Nodes" via ComfyUI Manager. Light dependencies, no models to download.
Where people get burned
The seed caveat is the one to remember - if your Luma outputs keep varying run-to-run no matter what seed you set, that's the API (or HyprLab's handling of it), not you. The reference system also has a subtlety: the socket and URL versions are mutually exclusive per reference type, so pick one path per reference. And the pack's usual suspects apply: placeholder key (YOUR_API_KEY_HERE), slow-failing retries on bad auth, and HyprLab's thin public documentation. Set a real key, feed it one or two reference images with sane weights around 0.5, and Luma's output is genuinely hard to get locally.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | A stunning fantasy landscape | Main text input to guide the generation process (max 10,000 characters) |
| model | COMBO | photon | Luma AI model to use for generation |
| output_format | COMBO | png | Format of the output image |
| seed | INT | 00β18446744073709550000 | Random seed for reproducible results (may not be used by Luma API via HyprLab) |
| api_url | STRING | https://api.hyprlab.io/v1/images/generations | API URL |
| api_key | STRING | YOUR_API_KEY_HERE | Your HyprLab API key |
| response_format | COMBO | url | How the response data should be formatted |
| aspect_ratioopt | COMBO | 1:1 | Aspect ratio of the output. If not specified, model default may be used. |
| input_image_ref_socketopt | IMAGE | Image for image reference. | |
| input_image_ref_urlopt | STRING | Image reference URL (use when providing a hosted image instead of socket input) | |
| image_reference_weightopt | FLOAT | 0.500β1 | Influence of the image reference (0 to 1). |
| input_style_ref_socketopt | IMAGE | Image for style reference. | |
| input_style_ref_urlopt | STRING | Style reference URL (use when providing a hosted image instead of socket input) | |
| style_reference_weightopt | FLOAT | 0.500β1 | Influence of the style reference (0 to 1). |
| input_char_ref_socketopt | IMAGE | Image for character reference. | |
| input_char_ref_urlopt | STRING | Character reference URL (use when providing a hosted image instead of socket input) |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | β |
| image_url | STRING | β |
| seed | INT | β |