arkennemasis fal · Flux 2 LoRA Gallery Satellite View Style · $0.021/MP
Orbital imagery on demand, at $0.021 a megapixel
- images
- image_paths
- seed
- prompt
- info
Need an overhead image of a city that doesn't exist, a coastline from orbit, or a fake reconnaissance shot for a game map? This is fal's satellite/aerial style endpoint - Flux 2 with a trained look - wrapped as a node. Text-to-image, $0.021 per megapixel, no image input to confuse you.
What it is
flux-2-lora-gallery/satellite-view-style, submitted from the node, results saved to output/fal/fal-ai_flux-2-lora-gallery_satellite-view-style/. Like the rest of the gallery, the endpoint is a fixed LoRA so the "style" is a strength value (lora_scale) rather than something you describe. Also like the rest of the style half of this gallery, it generates rather than transforms: there's no picture socket.
Inputs
prompt describes the terrain and the framing. lora_scale (0–2, default 1) is the intensity of the effect - at 1 you get the satellite look, above 1 it pushes toward documentary, washed-out, high-altitude flatness, below ~0.6 it fades to generic aerial photography.
guidance_scale (0–20, default 2.5) and num_inference_steps (4–50, default 40) are the Flux 2 dials. acceleration is none or regular. image_size defaults to landscape_4_3 with the presets plus custom; overhead imagery reads as wide, so landscape_16_9 is worth trying deliberately rather than leaving the default. num_images (1–4) gets you a batch in one paid call, seed at -1 randomises, output_format defaults to png, and the safety checker returns flagged output as black.
max_cost_usd (default $20, 0 = no cap) is checked before anything is uploaded - genuinely useful on an endpoint you're likely to explore with. reuse_identical_run gives you a free re-run of identical inputs, extra_json passes raw fields to fal, and max_concurrent keeps paid calls from running simultaneously across the graph.
Outputs
images (a normal IMAGE batch), image_paths, seed, prompt and info. info is the JSON receipt - request id, estimate, saved files, fal's full 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
into the .env beside run_nvidia_gpu.bat. Standard library only - no pip step for the fal nodes.
Where people get burned
The genre has a tell, and Flux 2's encoder will happily reproduce it: satellite imagery is mostly texture at a scale, and if you prompt for "a city from space" the model gives you a stylised map rather than something that reads as a photograph from altitude. Say what the ground actually is - farmland with field boundaries, a river delta, warehouse roofs, a motorway at night - and the illusion holds much better.
Second, text and lettering: overhead shots invite labels, road markings and signage, and Flux 2's text is not reliable, so "no text, no labels" in the prompt saves you a pass. Third, cost - this is a browse-and-pick kind of node, and four images at 2MP each is roughly $0.17, which is fine once and annoying forty times. Keep the size modest while you're hunting for the shot and raise it for the keeper. One more: it's a paid third-party call, so nothing sensitive belongs in the prompt.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | The prompt to generate a satellite/aerial view style image. | |
| 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 satellite view style 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. |