Nodes/ComfyUI Seedance/FLUX 3 Image 图像生成/编辑
ComfyUI Node

FLUX 3 Image 图像生成/编辑

FLUX 3 Image won't run on your GPU — this node is how you use it anyway

By T8mars·Created 4 months ago·Updated 3 days ago· 43
FLUX 3 Image 图像生成/编辑
  • image1
  • image2
  • image3
  • image4
  • image5
  • image6
  • image7
  • image8
  • image9
  • image10
  • api_config
  • image
  • image_url
  • task_id
  • response
◄prompt►
◄resolution1k►
◄aspect_ratioauto►
◄groundingtrue►
◄safety_tolerance2►
◄skip_errorfalse►
◄seed0►

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.

CategorySeedance

Inputs (18)

NameTypeDefaultDescription
promptSTRING—
resolutionCOMBO1k5 options: 768sq, 1k, 1.5k, 2k, 4k
aspect_ratioCOMBOauto16 options: auto, 1:1, 16:9, 9:16, 4:3, 3:4, +10
groundingBOOLEANtrue—
safety_toleranceINT20–4—
image1optIMAGEReference image 1/10 | 参考图 1/10
image2optIMAGEReference image 2/10 | 参考图 2/10
image3optIMAGEReference image 3/10 | 参考图 3/10
image4optIMAGEReference image 4/10 | 参考图 4/10
image5optIMAGEReference image 5/10 | 参考图 5/10
image6optIMAGEReference image 6/10 | 参考图 6/10
image7optIMAGEReference image 7/10 | 参考图 7/10
image8optIMAGEReference image 8/10 | 参考图 8/10
image9optIMAGEReference image 9/10 | 参考图 9/10
image10optIMAGEReference image 10/10 | 参考图 10/10
api_configoptSEEDANCE_CONFIG—
skip_erroroptBOOLEANfalse—
seedoptINT00–18446744073709550000ComfyUI 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)

NameTypeDescription
imageIMAGE—
image_urlSTRING—
task_idSTRING—
responseSTRING—