arkennemasis fal · Flux 2 LoRA Gallery Ballpoint Pen Sketch · $0.021/MP
A whole style in one node, and a trigger word you'll mistype
- images
- image_paths
- seed
- prompt
- info
Most of the fal LoRA Gallery nodes are transformations - give them a picture, get the picture back restyled. This one isn't. It's text-to-image: you type a prompt, you get a ballpoint pen sketch, and it costs $0.021 per megapixel. Whoever wrote the endpoint's description ("ballpoint pen sketch drawing style") left the word text-to-image out, which has confused a fair number of people into connecting an image that the node simply ignores.
What it is
fal hosted a flux-2-lora-gallery series: one endpoint per trained style, each a fixed LoRA on Flux 2. The pack turns each into a ComfyUI node with the LoRA's strength exposed. Here, that's lora_scale; the rest of the node is a Flux 2 generation with sensible defaults - 40 steps, guidance 2.5, regular acceleration.
Inputs
prompt is the whole job. There's a documented trigger word - b4llp01nt - and it's worth typing carefully: rare alphanumeric tokens are how style LoRAs avoid colliding with ordinary words, and the leetspeak is deliberate, not a typo. b4llp01nt, a crow perched on a fire hydrant, cross-hatched shading.
lora_scale (0–2, default 1) is style strength. Past 1 the pen gets aggressive - heavy, scribbly, high-contrast; below 1 you drift toward generic line art, at which point you should ask yourself why you're paying for the LoRA at all.
num_inference_steps defaults to 40 and runs 4–50, guidance_scale (0–20) sits at 2.5, and acceleration (none / regular) trades speed for quality. image_size defaults to landscape_4_3 with the usual preset list plus custom; num_images (1–4) generates a batch in a single paid call, which is how you'd use this - four sketches, pick one. seed at -1 lets the model choose; output_format defaults to png, and the safety checker returns flagged output as black images.
Worth knowing about Flux 2 generally: the prompt is read by an LLM encoder as a chat turn, so masterpiece, best quality, ultra detailed is dead weight and ((sketch:1.4)) is disabled syntax on this encoder. Sentences describing the subject and the framing do the work.
The shared four: max_cost_usd ($20 default) blocks a run before upload, reuse_identical_run reuses an identical paid result, extra_json injects fal fields the node doesn't expose, and max_concurrent (default 1) serialises paid fal calls across your graph.
Outputs
images - a normal IMAGE batch for save nodes, upscalers or a contact sheet - plus image_paths, seed, prompt and info, the JSON with request id, estimate and fal's response.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis
Restart, then:
FAL_KEY=your-key-from-fal.ai/dashboard/keys
in the .env next to run_nvidia_gpu.bat. No pip install needed for the fal nodes; the pack's httpx requirement is for its ChatGPT/Codex side.
Where people get burned
The misread description above is the big one - if you wire an image into this node, nothing happens to it; there's no image socket at all. Second, the trigger word: mistype it and the LoRA still fires (it's baked into the endpoint), but you're not getting the "best results" the tooltip promises. Third, the economics. $0.021 a megapixel is fine for a sketch; it's silly for twenty sketches of the same subject, so set num_images to 4 and pick, rather than re-running the node while you search.
And the usual cloud caveat, since it applies to every node in this gallery: your prompt goes to fal, billed to your account, decided by fal's safety checker. If you want a sketch style you can iterate on for free at 3am, train a LoRA for a model you can run - that's exactly what the LoRA in this endpoint is, and Klein 4B trains on an 8GB card.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | The prompt to generate a ballpoint pen sketch style image. Use 'b4llp01nt' trigger word for best results. | |
| image_size | COMBO | landscape_4_3 | The size of the generated image. 'custom' uses the width and height below. |
| image_size_width | INT | 102416–14142 | Width in pixels when image_size is 'custom'. |
| image_size_height | INT | 102416–14142 | Height in pixels when image_size is 'custom'. |
| guidance_scale | FLOAT | 2.500–20 | The CFG (Classifier Free Guidance) scale. Controls how closely the model follows the prompt. |
| num_inference_steps | INT | 404–50 | The number of inference steps to perform. |
| acceleration | COMBO | regular | Acceleration level for image generation. 'regular' balances speed and quality. |
| seed | INT | -1-1–2147483647 | Random seed for reproducibility. Same seed with same prompt will produce same result. -1 leaves it to the model. |
| enable_safety_checker | BOOLEAN | true | Whether to enable the safety checker for the generated image. Disabling it requires account authorization; unauthorized requests are always checked. |
| output_format | COMBO | png | The format of the output image |
| num_images | INT | 11–4 | Number of images to generate |
| lora_scale | FLOAT | 1.000–2 | The strength of the ballpoint pen sketch effect. |
| max_cost_usdopt | FLOAT | 20.00–100000 | Safety 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_runopt | BOOLEAN | true | If 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_jsonopt | STRING | Advanced: 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_concurrentopt | INT | 11–32 | How 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 (5)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| image_paths | STRING | — |
| seed | INT | — |
| prompt | STRING | — |
| info | STRING | JSON: request id, cost estimate, saved files and fal's full answer. |