Nodes/Comfyui-zhenzhen/zhenzhen-NB Pro / 2.1 Lowprice(生成/编辑·平价小屋)
ComfyUI Node

zhenzhen-NB Pro / 2.1 Lowprice(生成/编辑·平价小屋)

Fourteen Reference Images in One ComfyUI Node

By T8mars·Created about a year ago·Updated 3 days ago· 755
zhenzhen-NB Pro / 2.1 Lowprice(生成/编辑·平价小屋)
  • image1
  • image2
  • image3
  • image4
  • image5
  • image6
  • image7
  • image8
  • image9
  • image10
  • image11
  • image12
  • image13
  • image14
  • api_config
  • image
  • image_url
  • task_id
  • response
◄modelzhenzhen-image-nb-pro-lowprice►
◄prompt►
◄resolution1k►
◄size1:1►
◄skip_errorfalse►
◄seed0►

Fourteen reference images is not a gimmick, it's the answer to the question every character-consistency workflow keeps asking: how do I tell the model who this is without training a LoRA?

NB is this pack's shorthand for the nano-banana line, so you can read the two entries in the model dropdown as "the flagship" and "the newer speed/quality hybrid". The IDs are relay-side names - zhenzhen-image-nb-pro-lowprice and zhenzhen-image-nb-2.1-lowprice - which is your contract; the pack doesn't publish a mapping table, but the capability shape (native 4K, a reference budget in the teens) is the vendor's silhouette showing through.

What it does

Text-to-image and image editing are the same node, decided by what you wire in. No references connected, your prompt becomes the image. Connect references and the prompt becomes the edit instruction - "keep her face and jacket, put her in a rainy street at night" is a real thing this handles. It submits, polls, downloads, decodes, and returns a ComfyUI IMAGE you can wire straight into Save Image, a detailer, or an upscaler.

Alongside the image you get image_url (the signed result link), task_id (quote it when the download fails - you can fetch the result from the provider's site by hand), and response, the raw JSON, which is where you look when the error text is unhelpful.

The inputs that matter

model isn't just a quality switch - it changes the menus. NB Pro offers the standard ratio set. NB 2.1 adds the extreme ones (1:4, 4:1, 1:8, 8:1). Pick a size the selected model doesn't support and the node's validator rejects the request before it goes out, which is better than a cryptic upstream failure but still catches people who switch models after setting up the frame.

resolution is 1k, 2k or 4k. 4k is where this node's most common real-world failure lives (more below).

prompt is capped at 1 to 5000 characters - short enough that a pasted wall of prompt scaffolding will bounce. Trim it.

image1 … image14 are the feature. All optional, one image per slot, submitted in order. That ordering matters: if your prompt says "the second photo", slot two had better be what you meant.

Two things nobody tells you about those slots. Every connected reference gets uploaded to the provider before generation, and uploads get billed - so a fourteen-reference image costs more than the same prompt with two. And more references isn't automatically better; past a certain point you're diluting the signal with photos of the same face in contradictory lighting. Four good references beat fourteen mediocre ones, every time.

api_config is where the key arrives, from a zhenzhen-seedance2-low-price-api-settings node or the SEEDANCE_API_KEY environment variable. seed is ComfyUI cache control only - never sent upstream - which is how you rerun a tweaked graph without re-billing unchanged branches. skip_error swaps a hard failure for a placeholder.

Install

Manager → search zhenzhen, or:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen
# restart ComfyUI, then wire the api-settings node into api_config

Nothing to download, no VRAM cost - it's an HTTP client. First startup pulls aiohttp, transformers, GitPython, opencv-python and others from requirements.txt, and the pack spawns a small helper web app on port 8080 for its front-end widgets.

Where people get burned

4K downloads fail far more often than 4K generations. The output file is large, the transfer crosses borders, and the failure looks like a broken node. The author's fix is on the provider's site: open your API token, edit it, and set the OSS (object storage) region to CN or US so the result comes from a nearer bucket. If 1k always works and 4k never does, that's this - every time.

429 and 500 responses are the vendor's load, not yours. The README is candid that plenty of failures aren't your fault, and that a 500 often just succeeds on a rerun. Don't redesign your workflow over one of those.

Uploads get re-sent per job. A fourteen-reference prompt run five times is seventy uploads. If your bill surprises you, count references before you blame tokens.

And if you're doing this at volume - twenty variants of the same character - you're using the patient version of this node. The concurrent submit twin in the same pack runs 30 in a shared pool and gives you back the lot through one collector.

Categoryzhenzhen/Seedance2 Low Price

Inputs (21)

NameTypeDefaultDescription
modelCOMBOzhenzhen-image-nb-pro-lowprice2 options: zhenzhen-image-nb-pro-lowprice, zhenzhen-image-nb-2.1-lowprice
promptSTRING1-5000 characters.
resolutionCOMBO1k3 options: 1k, 2k, 4k
sizeCOMBO1:115 options: auto, 1:1, 2:3, 3:2, 3:4, 4:3, +9
image1optIMAGEReference 1/14; exactly one image per slot.
image2optIMAGEReference 2/14; exactly one image per slot.
image3optIMAGEReference 3/14; exactly one image per slot.
image4optIMAGEReference 4/14; exactly one image per slot.
image5optIMAGEReference 5/14; exactly one image per slot.
image6optIMAGEReference 6/14; exactly one image per slot.
image7optIMAGEReference 7/14; exactly one image per slot.
image8optIMAGEReference 8/14; exactly one image per slot.
image9optIMAGEReference 9/14; exactly one image per slot.
image10optIMAGEReference 10/14; exactly one image per slot.
image11optIMAGEReference 11/14; exactly one image per slot.
image12optIMAGEReference 12/14; exactly one image per slot.
image13optIMAGEReference 13/14; exactly one image per slot.
image14optIMAGEReference 14/14; exactly one image per slot.
api_configoptZHENZHEN_SEEDANCE2_CONFIG—
skip_erroroptBOOLEANfalse—
seedoptINT00–18446744073709550000Execution seed for ComfyUI cache control. Fixed reuses the cached result; randomize/increment/decrement requests a new run. This compatibility seed is not sent to APIs that do not expose a native seed parameter.

Outputs (4)

NameTypeDescription
imageIMAGE—
image_urlSTRING—
task_idSTRING—
responseSTRING—