Midjourney Blend (Image Mix)
Two images in, one hybrid out — Midjourney's blend, wired into the graph
- image1
- image2
- image
- task_id
- buttons
Midjourney Blend (Image Mix) does what MJ's Discord /blend does - take two images, mix them into a new one - but instead of dragging files into a chat, you wire two IMAGE tensors into a node. It's the pack's most self-contained node: no prompt required, no grid to interpret, just two images and a settings panel, and out comes a hybrid plus a fresh task_id you can keep acting on.
How it works
The node converts both input tensors to base64 PNGs, posts them to /mj/submit/blend with a botType and a dimensions string, gets a task_id back, and then polls the same fetch endpoint as every other MJ node in this pack until the blend is done. Two details worth knowing:
- Dimensions aren't "1:1" like everywhere else - the API speaks
SQUARE(1:1),PORTRAIT(2:3), orLANDSCAPE(3:2). - The seed is actually a cache-buster. Midjourney's relay caches identical requests and will happily hand you the same result for the same inputs. When
seedis -1 the node uses a millisecond timestamp as the request's state, so every blend is treated as a fresh job. If you want a reproducible blend, pass a real seed - but know that identical inputs with the same seed can return the cached image.
Inputs and outputs
- image1, image2 - required IMAGE tensors. Both get converted to PNG and sent up.
- dimensions - SQUARE (default), PORTRAIT, LANDSCAPE.
- bot_type - MID_JOURNEY or NIJI_JOURNEY (the anime model).
- quality - a free-form string; the API doc suggests
"hd"or leave it empty. - seed - -1 for fresh (default), or a fixed value up to 2^31−1.
Outputs: image (the blend), task_id (STRING), and buttons (DICT of MJ actions). Wire task_id into the Upscale/Variation nodes to refine the blend further - that's the natural next step, since a blend is itself a 2×2 grid.
Installing
Via ComfyUI Manager (search "ComfyUI-MidjourneyHub") or:
cd ComfyUI/custom_nodes
git clone https://github.com/jiaqianjing/ComfyUI-MidjourneyHub
# restart ComfyUI
Put your own key and URL in config.ini under [MIDJOURNEY_API] - the repo ships with the author's keys committed, so replace them before spending a single credit. Dependencies are the pack's usual light set (aiohttp, openai, nest_asyncio); nothing heavy.
Where people get burned
The same relay caveats as the rest of the pack apply (unofficial MJ API, Chinese-language console, api_url subject to change without notice - check it first when jobs fail). One blend-specific gotcha: if you're feeding it images from other ComfyUI nodes, make sure they're actual RGB images and not masks or latent-shaped tensors - the base64 conversion will happily mangle a wrong-shaped input into a corrupt PNG that the relay rejects.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| image1 | IMAGE | — | |
| image2 | IMAGE | — | |
| dimensionsopt | COMBO | SQUARE | 3 options: PORTRAIT, SQUARE, LANDSCAPE |
| bot_typeopt | COMBO | MID_JOURNEY | 2 options: MID_JOURNEY, NIJI_JOURNEY |
| qualityopt | STRING | — | |
| seedopt | INT | -1-1–2147483647 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| task_id | STRING | — |
| buttons | DICT | — |