Nodes/Comfyui_JC2/TTP_JoyCaption_BetaOne_Simple
ComfyUI Node Runs on cloud

TTP_JoyCaption_BetaOne_Simple

One model, auto-downloaded, captions out

By TTPlanetPig·Created 2 years ago·Updated about a year ago· 216
TTP_JoyCaption_BetaOne_Simple
  • image
  • caption
caption_type
caption_length
quantization_modebf16
custom_prompt
temperature0.60
top_p0.90
max_new_tokens512
device
cache_modeltrue
extra_options_str
enable_liger_kernel_opttrue

You want JoyCaption Beta One captions and you don't want a node with 27 toggles plastered across it. That's this node. TTP_JoyCaption_BetaOne_Simple is the slim version of the pack's Beta One engine: image in, caption list out, and the only extras are the ones you deliberately wire in.

What it is

It runs the same fancyfeast/llama-joycaption-beta-one-hf-llava model as JoyCaptionBetaOne_Full - the self-contained vision-language model that auto-downloads to ComfyUI/models/LLM_llava/ on first run, no manual model placement. The difference is the surface area. The Full node bakes 27 extra-option booleans into its inputs; the Simple version replaces them with two optional inputs:

  • extra_options_str - a plain STRING you can feed from the pack's ExtraOptionsNode_Beta (or any text source). Whatever instruction text you compile there gets appended to the caption request.
  • enable_liger_kernel_opt - the optional LIGER kernel speedup, default on (it's ignored if LIGER isn't installed).

That's the whole trade: Full is self-contained but busy; Simple is clean but needs a companion node if you want the instruction toggles. For most captioning jobs - especially batch captioning a folder for LoRA training - Simple plus a small extras string is all you'll ever use.

The inputs that matter

The required set is exactly the core kit:

  • image - one image or a batch; you get one caption per image out.
  • caption_type - 12 presets, including the tag-style ones that matter for anime/furry training: Danbooru tag list, e621 tag list, Rule34 tag list, Booru-like tag list. Plus the usual Descriptive / MidJourney / Stable Diffusion Prompt / Art Critic / Product Listing / Social Media Post.
  • caption_length - "any", "very short" through "very long", or a hard word count.
  • quantization_mode - bf16 / nf4 / int8. On sub-16GB cards, nf4 is the right call; int8 sits in between.
  • custom_prompt - if you fill this in, it overrides caption type and any extras entirely. The escape hatch for bespoke instructions.
  • temperature / top_p / max_new_tokens - defaults 0.6 / 0.9 / 512.
  • cache_model - defaults on, so the model stays resident between runs. That's a smart default for the workflow this node lives in.

Output is caption as a list of strings, one per input image - wire it to a text-save or a dataset writer and you're done.

Install and gotchas

Same as every node in this pack: ComfyUI Manager → search Comfyui_JC2, or clone into custom_nodes and pip install -r requirements.txt. Dependencies are the usual bitsandbytes + transformers + peft==0.12.0 + sentencepiece stack, with triton-windows for Windows users.

The honest warnings: it's CUDA-only (device offers just cuda:0), so don't expect it on a Mac without patching; the first run downloads ~9GB and looks frozen while it does; and if you hit a bitsandbytes quantization error, update it (pip install -U bitsandbytes). One subtlety: character_name isn't a direct input here - if you want name-aware captions, feed the compiled string from ExtraOptionsNode_Beta, which handles the {name} substitution for you.

CategoryTTP_Toolset

Inputs (12)

NameTypeDefaultDescription
imageIMAGE
caption_typeCOMBO12 options: Descriptive, Descriptive (Casual), Straightforward, Stable Diffusion Prompt, MidJourney, Danbooru tag list, +6
caption_lengthCOMBO31 options: any, very short, short, medium-length, long, very long, +25
quantization_modeCOMBObf163 options: bf16, nf4, int8
custom_promptSTRING
temperatureFLOAT0.600–2
top_pFLOAT0.900–1
max_new_tokensINT5121–2048
deviceCOMBO1 options: cuda:0
cache_modelBOOLEANtrue
extra_options_stroptSTRING
enable_liger_kernel_optoptBOOLEANtrue

Outputs (1)

NameTypeDescription
captionSTRING