Nodes/TrentNodes/Midjourney Blend
ComfyUI Node

Midjourney Blend

Blend two images with Midjourney, straight from their tensors

By TrentHunter82·Created 9 months ago·Updated 4 days ago· 36
Midjourney Blend
  • image_a
  • image_b
  • image
  • task_id
api_key
api_urlhttps://yunwu.ai
dimensionsSQUARE
base_modelMID_JOURNEY

Midjourney's /blend is one of its most useful tricks: drop two images in, get a blended composition out - no prompt required, Midjourney figures out the synthesis. Midjourney Blend is the node that exposes it to ComfyUI. You feed it two IMAGE tensors from anywhere in your graph - a local render, an upscaled crop, another API result - and it uploads them, hits the /mj/submit/blend endpoint, and returns the blended image as an IMAGE tensor.

It fills a real gap. Local ComfyUI blending is mostly crude - alpha composites and hard-edged pastes - and true "give me a hybrid of these two" generation is exactly the sort of thing a closed model with MJ's polish does well. This is the wrapper that puts it in the graph.

Inputs

  • image_a / image_b - the two images to blend. Required, and they're IMAGE tensors, so they can come from a VAE decode, a Load Image, anything.
  • api_key - Yunwu key, MJ_API_KEY env fallback.
  • api_url - provider, default https://yunwu.ai.
  • dimensions - SQUARE, PORTRAIT, or LANDSCAPE for the output shape.
  • base_model - MID_JOURNEY or NIJI_JOURNEY (the anime-tuned model).

Outputs

  • image - the blended result.
  • task_id - the Midjourney task ID, useful if you want to chain an upscale action off the blend (the pack's action nodes expect a task_id + buttons pair; Blend gives you the task_id side, though no buttons map, so a direct action chain needs Imagine's flow instead).

How it works

The node encodes your two image tensors, uploads them to the Yunwu service as the blend inputs, submits the job, polls until success, and downloads the merged image back into the graph. The heavy lifting - the actual blending intelligence - is entirely server-side; locally it's network plumbing over requests. That's the API-wrapper pattern from the KB's external-api-nodes doc in its purest form: the node looks like a generator on the canvas but is an HTTP client underneath.

Install

Part of TrentNodes:

cd ComfyUI/custom_nodes
git clone https://github.com/TrentHunter82/TrentNodes.git
cd TrentNodes
pip install -r requirements.txt

Restart, find it under Trent/Midjourney.

Gotchas

Uploads have limits, and the service will reject or downscale images that exceed them - if your blend input is a 4K render, expect it to come back at the service's size, not yours. Also, blend results come back as a single finished image, not a grid - there's no U/V action step here, so what you get is what you get. And the standing caveat for this whole family: a niche reseller (Yunwu) with no real community footprint is your third-party dependency, so verify current pricing and availability before you lean on it. The node is clean; the external service is the risk.

CategoryTrent/Midjourney

Inputs (6)

NameTypeDefaultDescription
image_aIMAGE
image_bIMAGE
api_keySTRING
api_urloptSTRINGhttps://yunwu.ai
dimensionsoptCOMBOSQUARE3 options: SQUARE, PORTRAIT, LANDSCAPE
base_modeloptCOMBOMID_JOURNEY2 options: MID_JOURNEY, NIJI_JOURNEY

Outputs (2)

NameTypeDescription
imageIMAGE
task_idSTRING