FLUX 3 Image 图像生成/编辑
FLUX 3 Image won't run on your GPU — this node is how you use it anyway
- image1
- image2
- image3
- image4
- image5
- image6
- image7
- image8
- image9
- image10
- api_config
- image
- image_url
- task_id
- response
If you went hunting for FLUX 3 weights, you already know the bad news: there aren't any. Black Forest Labs announced FLUX 3 on 23 July 2026 as one multimodal model doing image, video, audio and robot actions, and shipped it in access tiers. FLUX 3 Video runs behind an API. FLUX 3 Image is early access with private weights. The open-weight backbone, FLUX 3 Dev, is still "coming soon". Nobody in this community can run any of it on their own card.
So every "FLUX 3" node in ComfyUI is an HTTP client wearing a generator node's clothes. Flux_3_Image from the T8mars Seedance pack is one of those doors: it posts to the reseller endpoint api.seedance.nz under the model id flux-3-image and hands you back a normal ComfyUI IMAGE. No key, no picture.
Why you'd wire it up
That "normal IMAGE" part is the actual value. The model does text-to-image and editing from up to ten reference images, and because the output is a plain tensor you can drop it straight into your local upscaler, your mask pipeline, your face-detailer - the stuff you already own. The tradeoff is the standard one for API nodes: your prompt and every reference image leave the machine, each call is metered, and the upstream content filter applies regardless of what you think about it. The r/comfyui consensus on that is blunt and, honestly, right - it's the correct tool for a model you can't run, and a bad default for one you can.
The inputs that actually matter
prompt is required, multiline, and the only thing you have to fill in for a text-to-image run.
resolution gives you 768sq, 1k (default), 1.5k, 2k, 4k. That first option is the interesting one - it's the cheap draft tier, and it's what you use while you're still arguing with the prompt. Don't render at 4k to iterate.
aspect_ratio defaults to auto and otherwise offers fifteen fixed ratios: 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 5:4, 4:5, 2:1, 1:2, 21:9, 9:21, 5:7, 7:5. auto lets the endpoint pick, which usually matches the prompt; set it explicitly when you need a banner or a reel frame.
grounding is a boolean that defaults to on, and safety_tolerance is an integer from 0 to 4, default 2. Both are passed straight through to the API's own switches. Leave them alone until something forces you to touch them.
Then the references: image1 through image10. Connect any one and the node switches from text-to-image to image editing. Connect none and it's text-to-image. Two things will bite here. One image per slot, period - feed it a batch and it fails with "each FLUX image input requires one image". And ten is a hard ceiling, not a suggestion.
api_config is the optional config-node input, skip_error returns a placeholder instead of blowing up the run, and seed is the ComfyUI cache seed - worth understanding, see below.
Outputs
Four of them, and you'll use the first: image (the real IMAGE), then image_url (the API's temporary link), task_id, and response (the full JSON). Wire image into Save Image or Preview Image and you're done.
Install
Manager is the easy road - search ComfyUI Seedance or seedance, install, restart.
# manual route
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/ComfyUI_Seedance.git
cd ..
python -m pip install -r custom_nodes/ComfyUI_Seedance/requirements.txt
That requirements file is one line: requests>=2.28. No compiled extensions, no model downloads, nothing to place in models/. The whole pack is an HTTP client, which is a genuinely pleasant install compared to most of what you've been doing.
You do need a key. Grab one from the shop's console and either add a Seedance API Config node (base_url https://api.seedance.nz, your key) and wire its api_config output into the node, or set it once:
export SEEDANCE_API_KEY=your_key_here # then restart ComfyUI
There's also a config/.env inside the plugin folder with SEEDANCE_API_KEY= and SEEDANCE_BASE_URL= if you'd rather keep it local and gitignored.
Where people get burned
The seed field is the first trap. It says right in the tooltip that it's a ComfyUI cache seed, and the payload this node builds doesn't include a seed at all. So randomize doesn't reroll a known value - it just invalidates the cache so a fresh call goes out. You cannot reproduce a specific FLUX 3 image by pinning a seed, because the seed never reaches the model.
Second: one image per run. There's no n knob here; the node sends n: 1. Need five variations? Five node instances, or the concurrent submit wrapper.
Third, and the one that eats an evening: the returned image_url is a temporary signed link. The node downloads the result into your ComfyUI output directory for you, but if you're storing URLs in a database instead of saving files, they'll rot.
If the node won't appear after installing, check the folder is literally ComfyUI/custom_nodes/ComfyUI_Seedance and that you restarted. If you get SSL certificate errors, the README's fix is boring and correct - python -m pip install -U requests certifi in the same Python ComfyUI uses, or point SEEDANCE_CA_BUNDLE at a CA bundle. And if downloads hang while the API says the job finished, you've probably got a stale HTTP_PROXY/HTTPS_PROXY in your environment; the pack falls back to a direct session and then system curl, so clearing those variables usually fixes it.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| resolution | COMBO | 1k | 5 options: 768sq, 1k, 1.5k, 2k, 4k |
| aspect_ratio | COMBO | auto | 16 options: auto, 1:1, 16:9, 9:16, 4:3, 3:4, +10 |
| grounding | BOOLEAN | true | — |
| safety_tolerance | INT | 20–4 | — |
| image1opt | IMAGE | Reference image 1/10 | 参考图 1/10 | |
| image2opt | IMAGE | Reference image 2/10 | 参考图 2/10 | |
| image3opt | IMAGE | Reference image 3/10 | 参考图 3/10 | |
| image4opt | IMAGE | Reference image 4/10 | 参考图 4/10 | |
| image5opt | IMAGE | Reference image 5/10 | 参考图 5/10 | |
| image6opt | IMAGE | Reference image 6/10 | 参考图 6/10 | |
| image7opt | IMAGE | Reference image 7/10 | 参考图 7/10 | |
| image8opt | IMAGE | Reference image 8/10 | 参考图 8/10 | |
| image9opt | IMAGE | Reference image 9/10 | 参考图 9/10 | |
| image10opt | IMAGE | Reference image 10/10 | 参考图 10/10 | |
| api_configopt | SEEDANCE_CONFIG | — | |
| skip_erroropt | BOOLEAN | false | — |
| seedopt | INT | 00–18446744073709550000 | ComfyUI cache seed. Fixed reuses the cached result while all other inputs stay unchanged; randomize/increment/decrement starts a new execution. This value is not sent to models without documented seed support. | ComfyUI 缓存种子;Fixed 在其他输入不变时复用缓存,随机、递增或递减会触发新任务。未声明支持 seed 的模型不会收到此参数。 |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| image_url | STRING | — |
| task_id | STRING | — |
| response | STRING | — |