Nodes/arkennemasis - ChatGPT / Codex / fal AI nodes/arkennemasis fal · Flux Control LoRA Depth Image to Image · $0.04/MP
ComfyUI Node

arkennemasis fal · Flux Control LoRA Depth Image to Image · $0.04/MP

Same room, new materials, one dial apart

By Hishamahmer·Created 3 months ago·Updated 9 days ago· 11
arkennemasis fal · Flux Control LoRA Depth Image to Image · $0.04/MP
  • image
  • control_lora_image
  • images
  • image_paths
  • has_nsfw_concepts
  • timings
  • seed
  • prompt
  • info
◄prompt►
◄image_sizesquare_hd►
◄image_size_width1024►
◄image_size_height1024►
◄num_inference_steps28►
◄seed-1►
◄loras►
◄guidance_scale3.50►
◄num_images1►
◄enable_safety_checkertrue►
◄output_formatjpeg►
◄control_lora_strength1.00►
◄strength0.85►
◄max_cost_usd20.0►
◄reuse_identical_runtrue►
◄extra_json►
◄max_concurrent1►

The depth sibling of the Canny image-to-image node, and the difference matters: depth is the loosest of the structural conditions and image-to-image is the loosest of the generation modes, so this pairing gives the model the most freedom of anything in the control family. Composition from a depth map, appearance driven by a real photo, and a denoise dial deciding who wins.

That's either exactly what you want or a recipe for mush, depending on whether you have a specific change in mind.

The two references and the dial

control_lora_image is required and is your depth source. One absence worth knowing before you plan around it: unlike the plain depth node, this variant has no preprocess_depth toggle, so nothing estimates depth for you - what you connect is what the model treats as the scene's geometry.

image is required here too, and it's the initial image: the real pixels the render starts from.

strength defaults to 0.85, and the tooltip is explicit - 1.0 completely remakes the image, 0.0 preserves the original. Practical bands:

  • 0.3–0.5 - colour and light shift, subject intact. The "same shot, better mood" range.
  • 0.5–0.75 - materials and surfaces change; you keep the object, not its texture.
  • 0.85–1.0 - the source is a reference for layout and palette only.

control_lora_strength (default 1.0) is the separate grip of the depth condition. Keeping the two apart is what makes this node useful: low control_lora_strength with high strength means "new everything, whatever shapes it lands on", while high control at low strength holds the geometry hard while changing little.

Where it earns its keep

The workhorse case is interiors. One depth map of a room, one photograph as the palette and content reference, and you generate the same space in a different finish - oak to concrete, daylight to dusk - without re-modelling or re-lighting anything.

Second case: product and architecture visuals where you need five variants of one scene for a review. Depth keeps the arrangement honest across all five, which is the only way variants look like the same room rather than five different rooms.

Skip it when the thing you care about is a specific edge - a logo, a machine part, a building facade. That's Canny's job; depth will drift the outline and you'll spend the afternoon chasing it.

The rest of the settings

Then: prompt, image_size (square_hd by default, which does not preserve your source aspect ratio; use custom and enter dimensions), num_inference_steps 28, seed -1, loras (JSON, normally empty), guidance_scale 3.5 (Flux guidance, not SDXL CFG), num_images, enable_safety_checker, output_format defaulting to jpeg.

Outputs

images, image_paths (saved under output/fal/fal-ai_flux-control-lora-depth_image-to-image/), has_nsfw_concepts, timings, seed, prompt, and info with the request id, cost estimate, saved files and fal's raw response.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis

Restart. ComfyUI-Manager users can do Install via Git URL instead. The pack's only declared dependency is httpx - used by its Codex nodes, not the fal ones - and nothing is downloaded locally because the model runs on fal's hardware.

FAL_KEY=your-key-from-fal.ai/dashboard/keys

in the .env beside run_nvidia_gpu.bat (portable) or in your ComfyUI folder. No key box exists on the node, which is the point: a key typed into a widget gets stored in every workflow you export.

Cost and caching

$0.04 per megapixel of output - 1024×1024 ≈ 4¢, a 2048-wide render ≈ 16¢ - tracked live by the node's price badge. max_cost_usd (default $20, set 0 for no cap) refuses the run before upload if the estimate crosses it.

reuse_identical_run defaults on. Same settings, same picture bytes, same files still in output/fal means you get the earlier result back instead of a new charge. While you're sweeping strength, remember each value is a distinct run and a distinct 4¢ - cheap, but figure out your sweep range before you start rather than after.

What usually goes wrong

The output is a different room. With control_lora_strength at 1.0 and strength at 0.85 you've given the model both references and a lot of rope. Reduce one of them.

The output is the same room with nothing changed. Same cause, opposite end: depth alone under-constrains materials, so if the prompt is vague you get a re-render of the original. Name the surfaces.

A batch on either image socket. Both take a single picture; the node stops and tells you to pick a frame instead of silently choosing.

Categoryarkennemasis/fal/Image/Flux

Inputs (19)

NameTypeDefaultDescription
promptSTRINGThe prompt to generate an image from.
imageIMAGEURL of image to use for inpainting. or img2img
image_sizeCOMBOsquare_hdThe size of the generated image. 'custom' uses the width and height below.
image_size_widthINT102416–14142Width in pixels when image_size is 'custom'.
image_size_heightINT102416–14142Height in pixels when image_size is 'custom'.
num_inference_stepsINT281–50The number of inference steps to perform.
seedINT-1-1–2147483647The same seed and the same prompt given to the same version of the model will output the same image every time. -1 leaves it to the model.
lorasSTRINGThe LoRAs to use for the image generation. You can use any number of LoRAs and they will be merged together to generate the final image. JSON. Empty leaves it out.
guidance_scaleFLOAT3.500–35The CFG (Classifier Free Guidance) scale is a measure of how close you want the model to stick to your prompt when looking for a related image to show you.
num_imagesINT11–4The number of images to generate.
enable_safety_checkerBOOLEANtrueIf set to true, the safety checker will be enabled. Disabling it requires account authorization; unauthorized requests are always checked, and images flagged as unsafe are returned as black images.
output_formatCOMBOjpegThe format of the generated image.
control_lora_imageIMAGEThe image to use for control lora. This is used to control the style of the generated image.
control_lora_strengthFLOAT1.000–2The strength of the control lora.
strengthFLOAT0.850.01–1The strength to use for inpainting/image-to-image. Only used if the image_url is provided. 1.0 is completely remakes the image while 0.0 preserves the original.
max_cost_usdoptFLOAT20.00–100000Safety cap. If the estimated cost of this run is above this many US dollars the node stops BEFORE sending anything to fal. 0 = no cap.
reuse_identical_runoptBOOLEANtrueIf these exact inputs (the settings AND the same pictures/clips/audio) were already paid for and the files are still in output/fal, return them instead of paying again - also after a ComfyUI restart. Turn off for a fresh take with the same settings.
extra_jsonoptSTRINGAdvanced: a JSON object merged into the request last, for any fal field this node has no box for. Example: {"seed": 7}. Leave empty normally.
max_concurrentoptINT11–32How many paid fal calls may run at the same time in one run, across every fal node. 1 (default) = one after another. This node starts its paid part only while fewer than this many fal calls are running. Once any fal node fails, the ones still waiting are not started, so nothing more is billed.

Outputs (7)

NameTypeDescription
imagesIMAGE—
image_pathsSTRING—
has_nsfw_conceptsSTRING—
timingsSTRING—
seedINT—
promptSTRING—
infoSTRINGJSON: request id, cost estimate, saved files and fal's full answer.