Nodes/☁️BizyAir Nodes/☁️BizyAir Joy Caption
ComfyUI Node

☁️BizyAir Joy Caption

The plain, no-frills version of the LoRA community's favorite captioner

By siliconflow·Created 2 years ago·Updated 11 months ago· 855
☁️BizyAir Joy Caption
  • image
  • STRING
do_sample
temperature0.50
max_tokens256

JoyCaption (credited in BizyAir's own README to fancyfeast's joy-caption-pre-alpha project) is the community's default answer to "what do I caption my LoRA dataset with" - an uncensored vision-language model that describes what's actually in an image instead of refusing or dancing around it, which is exactly where a captioner like BLIP falls apart on real training data. This node is the plain, earlier version in BizyAir's pack; BizyAir Joy Caption2 sitting elsewhere here is the same underlying idea with a much bigger preset menu bolted on.

What it does

image in, a caption STRING out - that's the whole shape of it. Beyond the image, you only get sampling controls: do_sample (enable/disable) toggles whether the model samples with some randomness or takes its most confident output every time, temperature (0–2, default 0.5) controls how much variation you get between runs on the same image when sampling is on, and max_tokens (16–512, step 16, default 256) caps how long the caption can run.

There's no caption_type preset menu, no caption_length target, no {name} placeholder trick for keeping a subject's identity out of the caption - all of that lives on the JoyCaption2 node instead. What you get here is JoyCaption's default framing, whatever that happens to be for this revision, with no way to steer it toward a specific format like Booru tags or a MidJourney-style prompt.

Where this fits versus JoyCaption2

If you're captioning a LoRA dataset and specifically need Booru-style tags for an Illustrious/Pony-lineage model, or you want the {name} placeholder trick to keep a character's identity from getting baked into the caption text, reach for JoyCaption2 instead - it's a strict superset of what this node offers. This plain node is the right pick when the default captioning style is already what you want and you don't need the extra knobs.

Installing it

ComfyUI Manager: search BizyAir, install, restart. Or:

cd ComfyUI/custom_nodes && git clone https://github.com/siliconflow/BizyAir.git

Restart after. No local model download - JoyCaption runs cloud-side through BizyAir. A BizyAir account with an API key set is required before this node captions anything.

Where people get burned

Expecting preset controls that live on the other node. If you go looking for a caption-type or caption-length option here and can't find one, you're not missing something in the UI - it genuinely isn't on this node. That's JoyCaption2.

Not spot-checking output before batch-captioning a dataset. Like any VL captioner, it can drift or occasionally describe something that isn't quite there - worth reading a handful of outputs manually before trusting it across an entire training set.

Treating captioning as a one-shot, no-review step. The standing advice for LoRA captions holds here too: describe what should stay changeable in the training data, leave what's meant to be permanent (a specific character's identity, a fixed style) out of the caption so the model actually learns it from the images rather than being told to ignore it in text.

Category☁️BizyAir/AI Assistants

Inputs (4)

NameTypeDefaultDescription
imageIMAGE
do_sampleCOMBO2 options: enable, disable
temperatureFLOAT0.500–2
max_tokensINT25616–512

Outputs (1)

NameTypeDescription
STRINGSTRING