Nodes/arkennemasis - ChatGPT / Codex / fal AI nodes/arkennemasis fal · MiniMax Image 01 Subject Reference · $0.01/image
ComfyUI Node

arkennemasis fal · MiniMax Image 01 Subject Reference · $0.01/image

Same Face, New Scene, One Cent a Try

By Hishamahmer·Created 3 months ago·Updated 9 days ago· 11
arkennemasis fal · MiniMax Image 01 Subject Reference · $0.01/image
  • image
  • images
  • image_paths
  • info
◄prompt►
◄aspect_ratio1:1►
◄num_images1►
◄prompt_optimizerfalse►
◄max_cost_usd20.0►
◄reuse_identical_runtrue►
◄extra_json►
◄max_concurrent1►

Character consistency is the problem that never got solved, only rerouted - and one of the real routes is "hand the model a reference image and let it look at the thing while it draws." That's this node. Feed it a portrait and a prompt, get a new scene with the same subject, at a penny an image.

Where this fits in 2026's consistency stack

The KB's honest summary: the community's answer moved from "encode the character and inject it at generation time" (IP-Adapter, FaceID, PuLID, all still functional) to "generate once, then edit that image" with an instruction-edit model. LoRAs still work; people just stopped recommending them for a character you'll draw ten times.

A reference-image generator sits between those poles. It's cheaper and lazier than an edit chain - no mask, no crop-and-stitch, no drift compounding across a chain of edits - but it's also the model's interpretation of similarity rather than a guaranteed pixel-level identity. For a storyteller who needs a face to read as the same person across slides, storyboards and product shots, one cent per attempt is a very forgiving way to find out how close it gets. For a paid campaign where the face is the product, you'd still want the edit-model route and a human checking every frame.

How it works

Standard pack mechanics over fal's fal-ai/minimax/image-01/subject-reference endpoint: read FAL_KEY from the .env beside the launcher, validate, estimate cost against max_cost_usd, upload your reference image to fal's CDN (free), submit one billed request, poll, download into output/fal/fal-ai_minimax_image-01_subject-reference/. Hailuo/Image-01's owner MiniMax is closed and API-first, so there's no local equivalent to fall back to - this is a hosted capability, priced per image.

Inputs

  • image - the subject reference, and the whole reason you're on this node instead of the plain Image 01. Use a clean, well-lit, front-on shot. The tooltip is explicit that this drives "consistent character appearance"; a busy or stylised reference gives the model more to be confused by.
  • prompt - up to 1500 characters, describing the new scene and action while not re-describing the subject's face. Let the reference do that job.
  • aspect_ratio - 1:1, 16:9, 4:3, 3:2, 2:3, 3:4, 9:16, 21:9.
  • num_images - 1 to 9, and the cost estimate scales with it.
  • prompt_optimizer - default off here.

Optional: max_cost_usd ($20 default; the run halts before uploading if the estimate exceeds it, 0 = uncapped), max_concurrent (default 1 - one paid fal call at a time across the run), reuse_identical_run (default on; identical inputs return the file you already paid for), extra_json (raw JSON merged into the request for unexposed fal fields).

Outputs: images - the returned pictures batched onto one IMAGE output - plus image_paths and info (request id, estimate, saved files, fal's response). Wire it into a Save node, or into the pack's Option Board if you want a whole variation run laid out on one sheet to judge.

Install

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

Manager route: Install via Git URL with the repo. Then the key:

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

in the .env beside run_nvidia_gpu.bat. Restart and look under arkennemasis/fal/Image/MiniMax.

Practical notes

Two things make this node work better than it has any right to at one cent: batch width and a fixed reference. Set num_images to 9, keep the same reference image, and vary only the scene description - you're buying nine interpretations of the same person for nine cents, which is a reasonable way to find the one that holds up. Changing the reference between attempts is what makes consistency look broken, not the model.

Also worth knowing: penny images are a draft tier, not a final tier. Generate nine, pick one, then upscale locally rather than paying for more attempts. And if the same run keeps returning the exact same file, that's reuse_identical_run being thrifty - turn it off when you want a fresh sample from an unchanged prompt.

Categoryarkennemasis/fal/Image/MiniMax

Inputs (9)

NameTypeDefaultDescription
promptSTRINGText prompt for image generation (max 1500 characters)
imageIMAGEURL of the subject reference image to use for consistent character appearance
aspect_ratioCOMBO1:1Aspect ratio of the generated image
num_imagesINT11–9Number of images to generate (1-9)
prompt_optimizerBOOLEANfalseWhether to enable automatic prompt optimization
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 (3)

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