ComfyUI Node
JLC CaptionForge Pipeline Planner
A ComfyUI node in Captioning/CaptionForge with 45 inputs and 3 outputs.
JLC CaptionForge Pipeline Planner
- Input - single image
- single_image
- pipeline_plan
- pipeline_plan_json
◄Planner - enabledtrue►
◄Input - image path►
◄Input - recursivetrue►
◄Input - filename glob*►
◄Output - folder/tmp/ComfyUI/output/CaptionForge►
◄Output - run namecaptionforge_run►
◄Output - overwrite outputstrue►
◄LoRA - trigger word►
◄LoRA - user caption anchor►
◄Caption - Joy runs/image2►
◄Caption - Qwen runs/image2►
◄Caption - Ollama runs/imageDisabled►
◄Caption - base seed-1►
◄Caption - seed modefixed►
◄Caption - temperature schedule0.90►
◄Caption - top p schedule0.60►
◄Caption - top k schedule80►
◄Caption - max image size1024►
◄Caption - max new tokens6000►
◄Distiller - modelmistral-small:24b►
◄Distiller - custom Ollama model►
◄Distiller - base seed-1►
◄Distiller - seed modefixed►
◄Distiller - strategysingle_pass►
◄Distiller - max caption chars for LLM1536►
◄Distiller - num predict3096►
◄Distiller - temperature0.24►
◄Distiller - top p0.90►
◄Distiller - top k60►
◄Distiller - write prompt JSONLfalse►
◄Distiller - preserve raw responsefalse►
◄Validator - modelgemma4:26b►
◄Validator - custom Ollama model►
◄Validator - base seed-1►
◄Validator - seed modefixed►
◄Validator - num predict2200►
◄Validator - temperature0.00►
◄Validator - top p0.92►
◄Validator - top k80►
◄Validator - write prompt JSONLfalse►
◄Validator - preserve raw VLM responsefalse►
◄Final - caption stylenarrative►
◄Final - write TXT sidecarstrue►
◄Final - write JSONLtrue►
CategoryCaptioning/CaptionForge
Inputs (45)
| Name | Type | Default | Description |
|---|---|---|---|
| Planner - enabled | BOOLEAN | true | Enable CaptionForge Pipeline Planner mode. If disabled, this node passes through the optional IMAGE and emits an empty/falsy plan so downstream nodes can run in standalone mode without GUI bypassing. |
| Input - image path | STRING | Image file or image folder/root for ordinary folder/file workflows. This is also used as the validator image root. For quick single-image workflows, connect IMAGE to the optional Input - single image socket. | |
| Input - recursive | BOOLEAN | true | Whether captioning nodes should recurse when Input - image path is a folder. |
| Input - filename glob | STRING | * | Filename glob for folder captioning, e.g. *.png, *.jpg, or *. |
| Output - folder | STRING | /tmp/ComfyUI/output/CaptionForge | Output root folder. CaptionForge creates a run-specific working directory inside this folder for JSON/JSONL/audit artifacts. Final TXT sidecars are written beside their resolved source images. |
| Output - run name | STRING | captionforge_run | Run-root used to name config JSON, output path JSON, caption JSONL, distiller JSONL, prompt JSONLs, validator JSONL, and final JSONL. |
| Output - overwrite outputs | BOOLEAN | true | Overwrite generated run artifacts during capstone execution. |
| LoRA - trigger word | STRING | Optional shared LoRA trigger token/string preserved through the pipeline. | |
| LoRA - user caption anchor | STRING | Optional user style/identity anchor passed to distiller and validator. | |
| Caption - Joy runs/image | COMBO | 2 | Joy Caption runs per image. Set to Disabled to omit Joy from this run. Dropdown is capped at 5 to prevent accidental giant runs. |
| Caption - Qwen runs/image | COMBO | 2 | Qwen Caption runs per image. Set to Disabled to omit Qwen from this run. Dropdown is capped at 5 to prevent accidental giant runs. |
| Caption - Ollama runs/image | COMBO | Disabled | Ollama Caption runs per image for each connected JLC CaptionForge Ollama Caption node. The actual Ollama model tag is selected in each Ollama Caption node. Connecting multiple Ollama Caption nodes multiplies runtime, memory pressure, and raw-caption count. |
| Caption - base seed | INT | -1-1–4294967295 | Base seed for caption generation. -1 means unseeded when supported. |
| Caption - seed mode | COMBO | fixed | 4 options: fixed, increment, decrement, random |
| Caption - temperature schedule | STRING | 0.90 | Comma-separated caption temperature schedule; final value repeats if needed. |
| Caption - top p schedule | STRING | 0.60 | — |
| Caption - top k schedule | STRING | 80 | — |
| Caption - max image size | INT | 10240–4096 | — |
| Caption - max new tokens | INT | 600016–12000 | — |
| Distiller - model | COMBO | mistral-small:24b | Concrete Ollama text model tag for the distiller. Use custom to enter any other installed Ollama text model. |
| Distiller - custom Ollama model | STRING | Used only when Distiller - model is custom, e.g. my-model:latest. | |
| Distiller - base seed | INT | -1-1–4294967295 | Base seed for the distiller. -1 means omit seed. |
| Distiller - seed mode | COMBO | fixed | 4 options: fixed, increment, decrement, random |
| Distiller - strategy | COMBO | single_pass | 2 options: single_pass, by_model_then_global |
| Distiller - max caption chars for LLM | INT | 15360–12000 | — |
| Distiller - num predict | INT | 309664–12000 | — |
| Distiller - temperature | FLOAT | 0.240–2 | — |
| Distiller - top p | FLOAT | 0.900–1 | — |
| Distiller - top k | INT | 600–500 | — |
| Distiller - write prompt JSONL | BOOLEAN | false | — |
| Distiller - preserve raw response | BOOLEAN | false | — |
| Validator - model | COMBO | gemma4:26b | Concrete Ollama vision model tag for the image-aware validator. Use custom to enter any other installed Ollama vision model. |
| Validator - custom Ollama model | STRING | Used only when Validator - model is custom, e.g. gemma4:e4b or another installed VLM tag. | |
| Validator - base seed | INT | -1-1–4294967295 | Base seed for the VLM validator. -1 means omit seed. |
| Validator - seed mode | COMBO | fixed | 4 options: fixed, increment, decrement, random |
| Validator - num predict | INT | 220064–12000 | — |
| Validator - temperature | FLOAT | 0.000–2 | — |
| Validator - top p | FLOAT | 0.920–1 | — |
| Validator - top k | INT | 800–500 | — |
| Validator - write prompt JSONL | BOOLEAN | false | — |
| Validator - preserve raw VLM response | BOOLEAN | false | — |
| Final - caption style | COMBO | narrative | 3 options: narrative, comma, both |
| Final - write TXT sidecars | BOOLEAN | true | Final TXT sidecars use the associated image filename stem and .txt extension. |
| Final - write JSONL | BOOLEAN | true | — |
| Input - single imageopt | IMAGE | Optional IMAGE passthrough for quick single-image workflows. The planner does not process this image; it simply returns it as output. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| single_image | IMAGE | — |
| pipeline_plan | CAPTIONFORGE_PIPELINE_PLAN | — |
| pipeline_plan_json | STRING | — |