FLUX.2 Pro · Text to Image
The Tier You Can't Download, For 4.5 Cents a Shot
- images
- task id
No matter how much VRAM you buy, you cannot run FLUX.2 Pro at home. Pro is the uncompromised base model - the version that exists before the guidance distillation that turned it into Dev - and Black Forest Labs has only ever sold it through an API. This node is that API, wrapped in a ComfyUI form: about $0.045 an image, and the whole install is a dropdown and a prompt.
Why pay when Dev is right there
Dev is the same architecture, distilled to accept fewer steps, and it costs roughly a third of Pro's rate. Most of the time Dev is the correct answer. Pro earns its money in the two places distillation always costs you: fine instruction-following on busy prompts, and typography/colour fidelity. The pack's own one-liner for this model is "photoreal images with readable text and hex color control" - that's the pitch, and it's the honest split. If you're delivering a poster proof where the headline has to be spelled right and the client's brand orange has to actually be brand orange, you'll feel the difference. If you're moodboarding, you won't.
Mechanism, briefly
The node's model id is black-forest-labs/flux-2-pro/text-to-image. On queue it packages your fields into the model's request, gets a quote, submits, polls, downloads the returned image and delivers it as a ComfyUI IMAGE. That's the whole loop. There's no sampler under the hood you can reach into - no steps, no guidance scale, no scheduler - because the hosted endpoint doesn't take them. You're renting a model, not a graph.
Inputs
prompt is where all the leverage is, up to 5,000 characters. Flux 2's text encoder is a Qwen3 LLM, so write it like a brief to a photographer: who, where, what light, what lens, what's excluded. Tag soup and ((weighting)) are wasted keystrokes.
aspect_ratio gives you the nine standard ratios from 1:1 through 21:9 in both orientations. resolution is 1k or 2k, where 2k puts 2,048 pixels on the long side; on Pro the 2k tier is priced roughly a third higher than 1k, and the node's badge updates as you flip it, so there's no mystery.
seed is a plain integer that starts fixed. Queue twice with the same settings and you get the same image for free-ish (it reuses the first result). Change control after generate to randomize when you want a new one, and remember every fresh run is a fresh bill.
Outputs
Two sockets. images is a normal IMAGE batch - wire it to Save Image or Preview Image and the rest of your graph doesn't care that it came from the network. task id is a string identifying the job on PopNow's side; it's what you quote in a support email or look up in the API console, which is also where you'll find the result of a run you interrupted.
There's no loras input here, and that's not an oversight. Pro doesn't take user LoRAs. The LoRA lanes in this pack are the ones whose names end in LoRA - Dev LoRA, Klein 4B LoRA, and so on.
Install and key
Manager → Custom Nodes Manager → PopNow → Install → restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
# restart ComfyUI
Then create a key at popnow.ai/api/console/keys, paste it into Settings > PopNow, restart once more so the node list pulls from your catalog. On a headless box, skip the settings dance and export the key:
POPNOW_API_KEY=sk-popnow-your-key-here python main.py
The pack has no third-party dependencies - its pyproject.toml declaration is dependencies = [] - but it does require a ComfyUI recent enough for the V3 node API.
Reality checks
Set Settings > PopNow > Max credits per run before you start experimenting. Pro at 2k with a batch of ideas queued at once is how a $5 wallet disappears in an afternoon. The ceiling stops any run quoted above your limit before credits are held, which is the only guard rail that matters here.
If a run fails with content_rejected or generation_failed, the model declined or couldn't finish and failed runs are refunded - that's a filter decision you can't patch out from the client side, and it's the same tradeoff as every hosted model. And if Pro output looks worse than Dev for your prompt, that's normal: distilled models often look punchier, and Pro rewards prompts that are actually specific.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the subject, setting, light and style in plain sentences. | |
| aspect_ratio | COMBO | 1:1 | Output aspect ratio. |
| resolution | COMBO | 1k | Output size tier: 1k is about one megapixel, 2k is 2048 pixels on the long side. |
| seed | INT | 00–2147483647 | Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |