MAI Image 2.6 / Flash 生成/编辑
Two models, one node, and a Bing search before it draws
- image1
- image2
- image3
- image4
- image5
- api_config
- image
- image_url
- task_id
- response
MAI_Image_2_6 is one node holding two catalogue models - mai-image-2-6 and mai-image-2-6-flash - on the T8mars Seedance pack. You switch between them with the model dropdown and nothing else changes shape. That's the whole "2-in-1" pitch, and it's less exciting than it sounds, because the interesting bits here aren't the model names.
They're the two toggles nobody expects: one that lets the model pick its own aspect ratio, and one that makes it search Bing before it generates.
Why you'd reach for it
This is an API-wrapper node, so nothing runs locally. Your prompt and references go to api.seedance.nz, come back as a PNG, and land in your graph as a normal ComfyUI IMAGE you can upscale or mask locally. You'd use it for the usual reason: a closed image model with editing that you cannot download, sitting inside a workflow where your local tools still do the finishing. The cost is the usual one too - per call, and your prompt and reference images leave the machine for a server whose moderation policy you don't get a vote on.
How it actually works
There are two modes hiding in one node, and the node picks between them based on whether you connected anything to image1–image5.
No reference images? It sends your sizing: size plus resolution, or width/height if you chose custom_pixels. Connect even one reference and the sizing block is dropped entirely - the upstream model controls output size in reference mode, so the node deliberately ignores those controls rather than sending values that would be rejected. If you're doing an edit and your width/height seem to do nothing, that's why. Working as intended.
Inputs worth setting
prompt is required - a description, or for edits, an instruction. The author's own tooltip puts the upstream ceiling at roughly 32,000 tokens, which you will not hit by accident.
model picks mai-image-2-6 (default) or mai-image-2-6-flash. Start on Flash for drafts and iterate there; that's what a Flash tier is for.
resolution is just 1k or 2k. size is where the control lives: auto, 1:1 (default), 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9, 1:4, 4:1, plus custom_ratio and custom_pixels. Yes, 1:4 and 4:1 - proper panorama and skyscraper shapes, not the polite 2:1 stuff.
custom_ratio takes an integer W:H string between 1:4 and 4:1. width and height (768–3072, step 32) only matter when size is custom_pixels, and the constraints are real: each side at least 768, the node floors your numbers to multiples of 32, and total area can't exceed 2,359,296 pixels - which is 1536×1536, so think "roughly 1.5K square" as your budget, not 3072×3072. Set 3072×3072 and your run dies at validation, not at the API.
auto_aspect_ratio (off by default) hands the choice to the model for text-to-image. web_grounding (off by default) does a Bing search before generating. If you're rendering something that changed recently - a product, a person's current look, a news-y subject - that toggle is the reason to use this node over the one next to it, and you should know that turning it on sends your prompt out to a search engine as well as the image endpoint.
Then image1–image5, one image per slot, five max, and connecting any of them flips you into edit mode. api_config to point at your config node, skip_error to return a placeholder instead of killing a batch, and seed.
About that seed: it's explicitly a ComfyUI cache seed. This node doesn't send a seed in its payload, so pinning a value gives you reproducible caching, not reproducible images. randomize just busts the cache and triggers a fresh call.
Outputs
image is the one you wire up - into Save Image, Preview Image, an upscaler, whatever. image_url is the temporary API link, task_id is the remote job id, and response is the raw JSON if you want to log it.
Install
Search ComfyUI Seedance (or seedance) in ComfyUI Manager and restart. Manual:
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
The only dependency is requests>=2.28 - no models to download, no compiled wheels. You'll need an API key from the shop, either via a Seedance API Config node wired into api_config, or SEEDANCE_API_KEY in your environment, or config/.env inside the plugin folder. Use the ComfyUI Python for the pip step if you're on a portable build, then restart.
Common issues
A blank or whitespace-only prompt fails before anything is submitted. Feeding a batch into a reference slot fails too - each image input wants exactly one image (shape[0] of 1). If the node isn't there after installing, check the folder name is ComfyUI_Seedance and that you actually restarted rather than reloaded the browser tab. Certificate errors on Windows portable installs are common; python -m pip install -U requests certifi in ComfyUI's Python fixes most of them, and SEEDANCE_CA_BUNDLE covers the rest. And when a job is done on the API side but the node sits there, look for a stale HTTP_PROXY in your shell - the pack's download fallback can't help if the proxy is the problem.
One last thing worth saying plainly: mai-image-2-6 is a catalogue name on a reseller's shelf. There's no weights page to look up for it, so treat quality claims as vibes until you've run your own prompts through both tiers.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | mai-image-2-6 | 2 options: mai-image-2-6, mai-image-2-6-flash |
| prompt | STRING | Required description or editing instruction; upstream limit about 32000 tokens. | 必填生成或编辑描述;上游限制约 32000 Token。 | |
| resolution | COMBO | 1k | 2 options: 1k, 2k |
| size | COMBO | 1:1 | 15 options: auto, 1:1, 2:3, 3:2, 3:4, 4:3, +9 |
| custom_ratio | STRING | 16:9 | Positive integer W:H, between 1:4 and 4:1. | 正整数宽高比,范围 1:4 至 4:1。 |
| width | INT | 1536768–3072 | — |
| height | INT | 1024768–3072 | — |
| auto_aspect_ratio | BOOLEAN | false | Let the model choose the text-generation aspect ratio. | 由模型选择文生图画幅。 |
| web_grounding | BOOLEAN | false | Search current information with Bing before generation. | 生成前通过 Bing 检索当前信息。 |
| image1opt | IMAGE | Optional reference 1/5, one image per slot. | 可选参考图 1/5,每路一张。 | |
| image2opt | IMAGE | Optional reference 2/5, one image per slot. | 可选参考图 2/5,每路一张。 | |
| image3opt | IMAGE | Optional reference 3/5, one image per slot. | 可选参考图 3/5,每路一张。 | |
| image4opt | IMAGE | Optional reference 4/5, one image per slot. | 可选参考图 4/5,每路一张。 | |
| image5opt | IMAGE | Optional reference 5/5, one image per slot. | 可选参考图 5/5,每路一张。 | |
| 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 | — |