Nodes/arkennemasis - ChatGPT / Codex / fal AI nodes/arkennemasis fal · Flux LoRA Depth · $0.035/MP
ComfyUI Node

arkennemasis fal · Flux LoRA Depth · $0.035/MP

Control the layout with depth instead of edges

By Hishamahmer·Created 3 months ago·Updated 9 days ago· 11
arkennemasis fal · Flux LoRA Depth · $0.035/MP
  • image
  • images
  • image_paths
  • prompt
  • timings
  • has_nsfw_concepts
  • seed
  • 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►
◄accelerationnone►
◄max_cost_usd20.0►
◄reuse_identical_runtrue►
◄extra_json►
◄max_concurrent1►

Canny gives you outlines; depth gives you the room. The conditioning image here is a depth map - near things bright, far things dark - and the model arranges its content around that spatial structure. Same $0.035 per megapixel, same hosted Flux Dev with LoRAs, and the same practical consequence: your input's layout survives, everything else is up to the prompt.

When depth beats canny

Depth is the more forgiving of the two conditions. Canny demands crisp, high-contrast edges or it gives you almost nothing, and it reproduces clutter with unsettling loyalty. A depth map carries the arrangement of the scene without carrying the surface detail, so the model gets the geometry and none of the texture. That makes it the better choice for organic subjects and for anything where you want the pose and the blocking but not the original materials - and it's a genuinely solid way to keep a character's position and scale consistent across a series of shots while changing outfit, lighting or style.

Where it struggles: thin structures, far backgrounds, and anything the depth estimator has to guess at. A depth map of a tree, a fence or hair is a blur, and the model follows the blur.

Inputs

  • image - the depth input. That's the tooltip's own word for it, and it's literal: you supply the depth representation, this endpoint conditions on it.
  • prompt - what the scene becomes. With the geometry already pinned, you can spend the whole prompt on look: lens, light, material, mood.
  • loras - multiline JSON, LoRA entries with weights and a scale, merged together. Empty leaves it out. They resolve on fal's side, so they have to be fetchable URLs.
  • image_size (defaults to square_hd for this node) with image_size_width / image_size_height for custom (16–14142, step 16).
  • guidance_scale 3.5 (0–35), num_inference_steps 28 (1–50), seed, num_images 1–4, enable_safety_checker, output_format (jpeg/png), acceleration.

And the shared four: max_cost_usd (default $20, blocks the run before upload if the estimate is over), reuse_identical_run (on by default), extra_json, max_concurrent (1 by default, across every fal node in the run).

Outputs

images for preview/save, image_paths into output/fal/fal-ai_flux-lora-depth/, plus prompt, timings, has_nsfw_concepts, seed and info. The seed output is the useful one when you land on a look you want to repeat with a different prompt.

Install

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

Or search comfyui-arkennemasis in ComfyUI-Manager. Restart ComfyUI; it'll be under arkennemasis/fal/Image/Flux. Nothing heavy to download - no weights, no extra pip packages for the fal provider.

Key, one line in the .env file in the folder holding run_nvidia_gpu.bat:

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

The node has no key field on purpose.

Gotchas

Sending it a photo. If the source you hand it is an ordinary image rather than a depth map, you're conditioning on whatever fal's end makes of it - which may be fine, and may not be what you wanted. If you intend depth control, generate the depth map yourself first (there are plenty of local Depth Anything nodes for it) and send that.

Depth maps are usually greyscale. They're greyscale because they encode distance, not colour, and the model reads them that way. Don't colourise one and expect better results.

Instructions read as "produce a depth map". The node description talks about accurate depth representations, which is fal's copy for the model card, not a claim about this node's output. images is an image generation output, like every other node in this family.

The size default doesn't match your depth map. square_hd is the default and your input probably isn't square. If the generation re-frames your carefully pinned geometry, look here first - or set custom with the source's own dimensions.

Four images cost four times one image. Megapixel pricing plus num_images - the live badge on the node already knows, so read it before queueing.

Categoryarkennemasis/fal/Image/Flux

Inputs (17)

NameTypeDefaultDescription
promptSTRINGThe prompt to generate an image from.
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. This is always set to 1 for streaming output.
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.
accelerationCOMBOnoneAcceleration level for image generation. 'regular' balances speed and quality.
imageIMAGEURL of image to use for depth input
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—
promptSTRING—
timingsSTRING—
has_nsfw_conceptsSTRING—
seedINT—
infoSTRINGJSON: request id, cost estimate, saved files and fal's full answer.