☁️BizyAir TrainDatasetAdd
ComfyUI Node Guide
- dataset_config
- dataset
If you've ever trained a LoRA with Kohya's scripts, this node's fields will look immediately familiar - bucketing, num_repeats, a trigger word slotted in as class_tokens. That's not a coincidence: this is BizyAir's dataset-configuration node for its cloud Flux LoRA trainer, and it speaks the same vocabulary Kohya's sd-scripts made the de facto standard across the whole LoRA-training ecosystem. If you already know what a "bucket" is from training locally, you already know most of what this node does.
Its job is narrow and specific: take a dataset you've pointed BizyAir at, describe how it should be bucketed and repeated for training, and package that into a config the rest of BizyAir's FluxTrainer pipeline consumes. It doesn't train anything itself - it prepares the dataset side of the job.
Inputs and outputs
Nearly every field here carries the author's own tooltip, so trust those over guessing:
dataset_config- a JSON blob, the base config this node builds on top of.width/height- integers defaulting to 1024, described as "base resolution width" / "base resolution height."batch_size- default 2, with the tooltip warning "Higher batch size uses more memory and generalizes the training more" - the standard tradeoff: bigger batches average gradients over more images per step, which can smooth out training but costs proportionally more memory.dataset_path- an enum populated from datasets you've made available to BizyAir (shown as "to choose" until you've set one up).dataset_version_id- a string, defaulting empty, presumably for pinning to a specific uploaded version of a dataset if BizyAir versions them.class_tokens- defaults to"trigger_word", and the tooltip spells out exactly how it's used: "aka trigger word, if specified, will be added to the start of each caption, if no captions exist, will be used on it's own." This is the word you'll actually type in your prompt later to invoke whatever the LoRA learned.enable_bucket- on by default, tooltip: "enable buckets for multi aspect ratio training." Bucketing groups training images of similar aspect ratios together instead of forcing every image to one fixed shape, which matters a lot if your dataset isn't all square crops.bucket_no_upscale- off by default, tooltip: "don't allow upscaling when bucketing." Turn this on if you'd rather a smaller image get placed in a smaller bucket than stretched up to fit a larger one.num_repeats- default 1, tooltip: "number of times to repeat dataset for an epoch." Raise this for a small dataset you want the trainer to see more often per epoch.min_bucket_reso/max_bucket_reso- default 256 and 1024, the resolution floor and ceiling bucketing is allowed to use.
The output is dataset - a JSON config, ready to hand to the rest of BizyAir's FluxTrainer node chain.
Installing BizyAir
Through ComfyUI Manager: search "BizyAir," install. Or clone it manually:
cd ComfyUI/custom_nodes && git clone https://github.com/siliconflow/BizyAir.git
Restart ComfyUI, or run comfy node install bizyair on Comfy-CLI. Set an API key on first use via the README's "click to login" link - training runs entirely on BizyAir's cloud infrastructure, not your local GPU, which is the whole point if you don't own hardware capable of training a Flux LoRA yourself.
Common issues
An empty dataset_path dropdown means you haven't uploaded or registered a dataset with BizyAir yet - that has to happen before this node has anything to point at, and it's a separate step from installing the node pack.
If your trained LoRA doesn't respond to the trigger word you expected, double-check class_tokens actually got set to something memorable before training ran - the default value is literally the placeholder string "trigger_word", and it's an easy field to skip past without noticing it's still a placeholder.
Bucketing issues (odd cropping, stretched images) usually trace back to min_bucket_reso/max_bucket_reso being too narrow a range for your dataset's actual image sizes - widen them if your source images vary a lot in aspect ratio or resolution.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| dataset_config | JSON | — | |
| width | INT | 1024 | base resolution width |
| height | INT | 1024 | base resolution height |
| batch_size | INT | 2 | Higher batch size uses more memory and generalizes the training more |
| dataset_path | COMBO | 1 options: to choose | |
| dataset_version_id | STRING | — | |
| class_tokens | STRING | trigger_word | aka trigger word, if specified, will be added to the start of each caption, if no captions exist, will be used on it's own |
| enable_bucket | BOOLEAN | true | enable buckets for multi aspect ratio training |
| bucket_no_upscale | BOOLEAN | false | don't allow upscaling when bucketing |
| num_repeats | INT | 1 | number of times to repeat dataset for an epoch |
| min_bucket_reso | INT | 25664–4096 | min bucket resolution |
| max_bucket_reso | INT | 102464–4096 | max bucket resolution |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| dataset | JSON | — |