Character Dataset Creation — Workflow Guide v1.2
205 nodes · 12 functional groups · 241 links · 61 saved base images at the published defaults; either optional editor adds 61 edited images
Builds a multi-angle character reference set from one source image
Uses a detected face crop to stabilize identity across generated views
Creates frontal and rear anchors, 10 upper-body angles, 11 full-body angles, and 40 portrait variations
Uses one shared seed for sampling and repeatable wildcard choices across all four prompt banks
Includes two independent, optional Flux 2 and Krea 2 batch-edit stages
Includes optional WD14 captioning and aligned text-sidecar export stages
Saves organized PNG batches with the complete workflow embedded
What Is This?
Character Dataset Creation turns one character image into a broad, consistently framed reference set for LoRA training, character sheets, identity testing, and later image-edit workflows.
The graph first detects and crops the face from the selected source image. It then generates a frontal full-body anchor and a rear full-body anchor. Those references are reused to create a 10-view upper-body sequence, an 11-view full-body sequence, and two independent sets of 20 portrait variations. Seeded Wildcard Processor List nodes expand shared subject and clothing substitutions without duplicating them across every prompt. Eclipse Set/Get nodes carry the model, VAE, seed, dimensions, images, saved file paths, and output path between groups without covering the canvas in long links.
Original Workflow and Rebuild Credit
The original workflow concept comes from AI Influencer Dataset Maker for Consistent Character.
This Eclipse version is not a copy of that workflow. I rebuilt it node by node around Eclipse's nodes, list handling, Set/Get routing, model loaders, previews, and save system. The original graph uses Qwen Image Edit with SDXL plus several detailer stages intended to work around weaknesses in that model combination. This rebuild replaces that edit and correction stack with two independent optional branches: Flux 2 Edit and/or Krea 2 Edit. Either editor can run alone, both can run together, or both can be muted for base-dataset generation only.
The workflows share the goal of producing a consistent multi-view character dataset, while their node layout, routing, model stack, and editing approach are different.
At the saved defaults, the workflow writes:
10 images from Angled Views: Upper Body
11 images from Angled Views: Full Body
20 images from Variation (1)
20 images from Variation (2)
The frontal and rear anchors are retained as workflow variables, but they are not saved separately by the base generation groups and are no longer included in either optional edit batch. The result at the published defaults is 61 base PNG files. Enabling either editor adds 61 edited PNG files for a total of 122; enabling both adds 122 edited PNG files for a total of 183.
The new Image to Prompt and Save Prompts groups are also muted by default, so the saved base route creates no caption files. When both caption groups are enabled, they can tag every saved base and enabled-editor image while deliberately excluding the two unsaved base anchors.
The Complete Flow
Source character image
↓
Smart face detection and masked crop
↓
FLUX.2 Klein model, text encoder, VAE, dimensions, and shared seed
↓
Rear anchor + frontal anchor
↓
10 upper-body angle views + 11 full-body angle views
↓
20 Variation (1) images + 20 Variation (2) images
↓
Collect the four saved dataset batches (61 edit sources)
↓
Optional parallel editors: Krea 2 and/or Flux 2
↓
PNG dataset folders with embedded workflow metadata
↓
Optional WD14 tagging and prompt filtering
↓
Matching TXT captions in the character's prompts folder
The generation stages reuse one shared 64-bit seed. A connected seed input overrides the large saved seed values still visible on the individual KSampler widgets. That same seed now drives all four Wildcard Processor List nodes, so the selected clothing colors and any other wildcard alternatives are repeatable with a fixed seed.
Important Content Notice
Both edit groups are optional and independent. They consume the same 61-image saved-dataset batch in parallel rather than feeding one editor into the other. You can run either editor alone, run both together, or mute both and generate only the base dataset.
The published workflow has both Krea2 Edit and Flux2 Edit muted (Never). Their saved instructions remove the subject's clothing and request explicit nudity. Leave both groups muted for the clothed 61-image base dataset. If you enable either edit pipeline but want to change its purpose, replace its instruction with a non-explicit edit such as an outfit, background, hairstyle, or lighting change.
Flux2 Edit and Krea2 Edit are general image-editing stages. Both are muted by default, and either can instead be enabled as an optional quality pass over the 61 saved base images. Replace the saved explicit instruction before enabling the group. Ask the editor to preserve identity, pose, expression, clothing, framing, and the featureless white background while correcting only unwanted generation defects. Retain natural skin texture and the realistic casual-photo character so the result does not become an overly polished studio portrait.
For example:
Keep the same person, identity, pose, expression, clothing, framing, and
featureless white background. Improve image coherence and technical quality
only: correct malformed details, excessive compression, missed focus, and harsh
artifacts while retaining natural skin texture and a realistic casual-photo look.
Assuming every source and edit succeeds, the available modes save:
Both editors muted: 61 base images
Krea 2 only: 61 base images + 61 Krea 2 edits = 122 files
Flux 2 only: 61 base images + 61 Flux 2 edits = 122 files
Both editors active: 61 base images + 122 edits = 183 files
Use the explicit edit stages only with clearly adult subjects and material you are authorized to process. Never use them with minors or age-ambiguous subjects.
Before You Run It
Update ComfyUI
This workflow uses current ComfyUI model support, subgraphs, ReferenceLatent, list execution, and Krea 2 conditioning. Update ComfyUI before troubleshooting missing core nodes.
Restart ComfyUI after installing or updating custom nodes.
Required External Repositories
The complete graph uses these custom-node packages:
ComfyUI Eclipse — image loading and cropping, folders and filenames, wildcard prompt lists, Set/Get routing, previews, joining, seeds, sampling, image saving, tag filtering, and caption-sidecar saving.
ComfyUI Smart Model Loader — model, text encoder, VAE, LoRA, PIPE, conditioning, and sampler infrastructure.
ComfyUI SmartLLM — Smart Detection, its registered segmentation model, and the optional WD14 image tagger.
ComfyUI-KJNodes — the optional SageAttention model patch in the main model group.
comfyui-krea2edit — Krea 2 source-preservation patch and image-grounded edit conditioning.
The SageAttention patch is optional. Its node is bypassed in the saved workflow. Leave it bypassed when SageAttention is unavailable or when you do not want to use it. The Krea 2 edit package is required only while the Krea2 Edit group is enabled. Update Eclipse before loading this graph: the prompt banks use Wildcard Processor List, and the caption export depends on current aligned Save Prompt filename handling.
Required Base Models
The main character-generation path is configured for the following files.
Diffusion model — ComfyUI/models/diffusion_models/
The official FLUX.2 Klein repository is gated. Sign in, accept its terms, and review the FLUX non-commercial license before downloading or publishing outputs.
Text encoder — ComfyUI/models/text_encoders/
VAE — ComfyUI/models/vae/
The workflow intentionally selects the abliterated Qwen text encoder rather than the standard qwen_3_8b_fp8mixed.safetensors. Select the exact saved filename or deliberately change the loader to an encoder you have tested with your prompts.
Smart Detection Model
The Load Image group selects:
Model:
Anzhc Face seg 1024 v2 y8n [segm]
SmartLLM manages this registered detection model. If it is not installed, allow the package's verified model-acquisition flow to download it, then rerun the workflow. The detector returns both an image and a mask; the mask is what drives the face crop.
Model for Optional Captioning
The muted Image to Prompt group selects SmartLLM's registered WD14-eva02-large-v3 tagger. SmartLLM manages this ONNX model independently of the diffusion checkpoints. The saved caption settings use a 0.35 general threshold, a 0.85 character threshold, and replace underscores with spaces. You need this specific model only when retaining the saved WD14 choice.
WD14 produces comma-separated image tags rather than natural-language prose. The workflow sends those tags through Filter Prompt before previewing or saving them; review that filter carefully for your subject, as described in the Image to Prompt section.
WD14 is the saved default, not the only way to describe the images. Smart LM Loader can use other registered, vision-capable models and backends. Depending on the registry entry, those backends include local Transformers or GGUF execution and managed services such as Ollama, vLLM, SGLang, or llama.cpp. For example, you can use Qwen 3.5 through local Transformers or Docker-backed Ollama. Select a tag or image-description task appropriate for the model and the caption format you want. A vision-language model may produce natural-language descriptions instead of WD14-style tags, so review the output and adapt or bypass Filter Prompt before saving.
Models for the Optional Krea 2 Edit Group
These files are needed only while Krea2 Edit is active.
Diffusion model — ComfyUI/models/diffusion_models/
Text encoder — ComfyUI/models/text_encoders/
VAE — ComfyUI/models/vae/
Identity edit LoRA — ComfyUI/models/loras/krea2/
The workflow selects the REDGPT2 Krea2 Turbo checkpoint and the full-BF16 abliterated Qwen3-VL 4B encoder shown above. The encoder is larger than an FP8 build, so choose another compatible quant from the linked page only when necessary and reselect its actual filename in Smart Model Loader.
The workflow expects the identity LoRA inside the krea2 subfolder. Smart Model Loader now enables and applies it directly at strength 1.0; the separate LoRA Stack and subgraph apply nodes used by the earlier workflow are no longer present. If you store the LoRA elsewhere, select its actual path in the loader. Review the Krea 2 community license and every finetune, text encoder, or LoRA license before commercial use.
Optional Flux 2 Edit Model
The muted Flux2 Edit group is prepared for:
darkBeastMar0326Latest_dbkleinv2BFS.safetensors in
ComfyUI/models/diffusion_models/The same
qwen_3_8b_fp8mixed_abliterated.safetensorstext encoder used by the base graphThe same
flux2-vae.safetensorsVAE used by the base graph
You do not need this checkpoint when the complete Flux2 Edit group stays muted.
Select Your Own Source Image
The workflow uses input/example.png as a portable placeholder. Open Load Image (Metadata Pipe) and choose your own source before queuing.
For the most reliable identity crop, use an image with:
One clearly visible adult subject
A face that is not heavily occluded
Enough resolution for the detector to isolate facial detail
Neutral or simple lighting
No other prominent faces competing for selection
The source can be a portrait rather than a full-body image. The workflow uses the detected face to construct the later full-body views.
Group-by-Group Guide
Load Image
This group prepares the identity reference.
Load Image reads the chosen source.
Smart Detection finds the face and returns a segmentation mask.
Image Crop by Mask expands context by 1.2 (
<zoom in,>zoom out)Preview Image (DOM) [Stop] displays the result for review.
ImageScaleToTotalPixels scales the accepted crop to approximately 1 megapixel with Lanczos.
The final image is published as
img_face.
The preview's Stop control is on in the saved graph. Queue once to inspect the crop, then turn Stop off after you confirm that it contains the intended face. Leaving it on prevents the generation groups from continuing.
The face crop is the identity foundation for every later group. If it includes the wrong person, too much background, or a clipped face, stop here and fix detection before continuing.
Model
This is the central configuration group for base character generation.
The saved model settings are:
Model type: UNet Model
Diffusion model:
flux-2-klein-9b.safetensorsText encoder:
qwen_3_8b_fp8mixed_abliterated.safetensorsCLIP type: flux2
VAE:
flux2-vae.safetensorsCanvas: 848 × 1248
Batch size: 1
Loader LoRAs: none enabled
The loader publishes the model, CLIP, VAE, width, height, and a format-aware empty latent through named Set nodes. The empty latent is created from the loaded VAE's detected channel count and downscale, then published as lat_empty for the generation groups. A separate Eclipse Seed node publishes one 64-bit seed as Seed for the complete graph.
Character Name and Output Folder
The Character Name text node is saved as Jeanne. Change it before running.
The Folder Path node uses:
Root folder:
images/DatasetsDate folder: off
Batch folder: off
The character name is joined to each image-category prefix, producing an output layout under:
ComfyUI/output/images/Datasets/<character-name>/
Choose a short filesystem-safe name. A unique name prevents multiple subjects from being mixed in one training folder.
Optional SageAttention
The KJNodes Patch Sage Attention node is wired between the model loader and Set_MODEL. It is bypassed in the saved workflow. Leave it bypassed when SageAttention is unavailable or when you do not want to use it.
Do not mute this node (Never). Bypass reroutes the unchanged model to Set_MODEL, while Mute/Never drops the connection and would leave Set_MODEL without a model.
Only change the node from Bypass after SageAttention is installed and compatible with your GPU, CUDA, PyTorch, and ComfyUI versions. If the patched graph crashes at the first attention call, return the node to Bypass.
Rear View
The rear group creates the first full-body anchor from the detected face.
Its saved prompt is:
full body shot of a woman from behind, fully white background
The prompt is encoded, the positive conditioning receives the face latent as a reference, and the shared VAE-aware 848 × 1248 lat_empty is sampled with:
Steps: 8
CFG: 1.0
Sampler:
res_2sScheduler: Beta
Denoise: 1.0
The decoded result is shown in a reviewable DOM preview and published as img_rear. It is not written to disk by this group.
A rear view generated from a frontal face reference is inherently interpretive. Check hair length, clothing, body proportions, and background before letting it guide the later outputs.
Frontal View
The frontal group generates the matching front-facing anchor.
Its saved prompt is:
full body shot of a woman, fully white background
It uses the central 848 × 1248 lat_empty from the Model group and samples with 8 steps, CFG 1.0, res_2s, beta57, and denoise 1.0. The face crop is VAE-encoded and attached to the positive conditioning with ReferenceLatent.
The group publishes:
img_front— decoded frontal anchorlat_face— encoded face reference
These variables feed the later angle and variation stages. Frontal View consumes the reusable lat_empty published by the Model group. The frontal anchor is previewed but not saved separately by the base graph.
Angled Views: Upper Body
This group generates a 10-image turntable-style set:
Front
Rear
Front-left three-quarter
Left profile
Rear-left three-quarter
Front-right three-quarter
Right profile
Rear-right three-quarter
High-angle front
Low-angle front
Each prompt requests consistent waist-up framing, a fitted grey cardigan, and a plain white wall. In side and rear three-quarter views, the head and gaze follow the body's direction rather than turning back toward the viewer. The front three-quarter prompts use visible diagonal orientation instead of numeric degrees. The final two prompts mirror the full-body bank's explicit high-angle and worm's-eye-view language, but use upper-body perspective cues: the elevated view exposes the crown and shoulder tops, while the low view places the lower torso nearer than the receding head and shoulders.
The prompts now live in Wildcard Processor List. Its connected String Multiline node defines S1:"the female character" and S2:"wearing a fitted grey cardigan"; the prompt bank inserts those shared values with {{S1}} and {{S2}}. Edit the substitutions once to change the character wording or common upper-body outfit without rewriting all 10 lines. Each non-empty prompt line still produces one image.
The conditioning chains three reference latents in this order:
Detected face → generated frontal anchor → generated rear anchor
The list is sampled with:
Steps: 6
CFG: 1.0
Sampler: Euler
Scheduler: Beta
Denoise: 1.0
The resulting PNG files use the Angles_Upper prefix and are saved beneath the active character folder. The complete workflow is embedded in every PNG; A1111-style generation data is disabled.
The first two angle prompts overlap with the separately generated anchors, but they are new samples with a different sampler profile. Treat them as additional dataset examples rather than exact copies.
Angled Views: Full Body
This group begins with the same 10 viewpoints as the upper-body group while explicitly requesting head-to-toe framing, then adds an eleventh low-angle squatting view. The first eight prompts require the complete standing figure and both feet inside the frame. All 11 share the same outfit substitution:
Fitted grey cardigan
Straight-leg blue jeans
Simple white sneakers
The side and rear three-quarter prompts direct the subject's gaze along the body's orientation rather than toward the viewer. The final three prompts are one high-angle view, one standing worm's-eye view, and one squatting worm's-eye view. They use visible perspective cues instead of numeric degrees: the elevated view shows more floor around the figure, while both floor-level views bring the shoes into the near foreground and keep the complete figure inside the frame.
Like the upper-body group, this bank uses a connected String Multiline node for S1 and S2 substitutions plus Wildcard Processor List for its non-empty prompt lines. The shared seed drives the processor even though the saved angle substitutions themselves contain no brace-choice alternatives.
This group uses the same three-reference chain and 6-step Euler/Beta sampling profile as Angled Views: Upper Body. Its files use the Angles_FullBody prefix and are published as img_angles_full for the optional edit stages.
Together, the two angle groups contribute 10 closer identity views and 11 full-body views, reducing the risk that a character LoRA learns only upper-body framing.
Variation (1)
Variation (1) contains a Wildcard Processor List node with 20 line-separated prompts covering different:
Tops, sweaters, jackets, dresses, and colors
Front, side, three-quarter, over-shoulder, high-angle, and low-angle framing
Flash, daylight, ambient, warm, and synthetic lighting
Clean, candid, grainy, blurred, and phone-camera aesthetics
Wildcard Processor List is the main place to control the outcome of this group. Each non-empty line is one complete variation prompt and produces one image. Edit a line to change an image's clothing, pose, framing, expression, lighting, background, or camera style; add or remove lines to change the number of generated variations.
The included variation prompts keep an uninterrupted featureless white wall across the entire background. Their casual realism comes from capture characteristics such as uneven automatic exposure, sensor noise, JPEG compression, slight focus softness, sharpening halos, and mild lens distortion. When editing the banks, describe the visible lighting effect rather than naming a room feature or physical light source; words such as window, lamp, interior, furniture, or room corner can encourage the edit model to add those elements to the image.
The connected String Multiline node supplies two quoted substitutions. S1:"of the female character" anchors the subject wording, while S2 contains a brace-choice palette such as {teal|purple|light blue|...|pink}. Each {{S2}} in the prompt bank resolves to one seeded color choice. Change S1 when generating another gender and edit the S2 palette to control clothing colors without repeating those values across all 20 prompts.
The reference chain uses the stored face latent, another encoding of img_face, and the generated rear anchor. This effectively gives the face reference extra weight while retaining rear-side information.
The saved sampling profile is:
Steps: 4
CFG: 1.0
Sampler: Euler
Scheduler: Beta
Denoise: 1.0
The 20 PNG files use the Variation_1 prefix.
Variation (2)
Variation (2) has its own Wildcard Processor List and is a second, independent 20-prompt bank. It follows the same wiring, duplicated face-reference emphasis, rear reference, shared wildcard seed, and 4-step Euler/Beta sampling profile as Variation (1), but varies garments, camera angles, lighting, and capture style again.
This second multiline list controls the outcome of Variation (2) in exactly the same way: one non-empty line produces one image. Edit these lines when you want different outfits, views, compositions, expressions, lighting, or photographic styles. Adding or removing lines changes this group's output count without affecting Variation (1).
Its connected substitutions use S1:"of the female character" and a second color palette in S2. Edit S1 in both variation groups when changing gender so the banks remain consistent. Also update the upper-body and full-body S1 values and the frontal/rear anchor prompts; otherwise the workflow can send contradictory subject wording into different stages.
The 20 PNG files use the Variation_2 prefix.
Together, the two Angled Views groups and the two variation groups save the 61-image base dataset at the published prompt counts. If you add or remove non-empty prompt lines, the final dataset, optional editor-batch counts, and caption counts change accordingly.
Flux2 Edit
Every node in this group is muted (Never) in the published workflow. While muted, it does not load its model, edit images, stop for review, or save files.
When enabled, the group:
Collects
img_angles_upper,img_angles_full,img_variation_1, andimg_variation_2.Joins the active values into one 61-image batch; the unsaved frontal and rear anchors are deliberately excluded.
Converts the batch to a list for per-image processing.
Uses the F2Edit subgraph to create noise, guider, sampler, sigmas, target latent, and VAE outputs.
Runs
SamplerCustomAdvancedand decodes the edited images.Optionally stops after decoding for review.
Saves accepted files with the
nsfwprefix.
The saved Flux 2 edit loader supplies 5 steps, CFG 1.0, Euler, and the Simple scheduler. The visible 1024 × 1024 latent widget values are inactive defaults because GetImageSize reads each incoming source and connects its actual width and height to the active EmptySD3LatentImage. The edit latent therefore matches the input image dimensions at runtime. The F2Edit subgraph also contains a muted alternative Flux 2 scheduler and latent route; those nodes receive the same dynamic width and height connections, while the active route uses the loader-driven Basic Scheduler path.
Flux2 Edit can run alone or in parallel with Krea2 Edit. For a first test, enabling only one editor makes model, memory, and output problems easier to isolate; after both branches work independently, they can be active in the same queue.
Krea2 Edit
This optional group is muted (Never) in the saved workflow. It can be enabled alone, enabled alongside Flux2 Edit, or left muted for a base-only dataset.
It gathers the same four saved image batches as the Flux 2 editor:
10 upper-body angle images
+ 11 full-body angle images
+ 20 Variation (1) images
+ 20 Variation (2) images
= 61 source images
Smart Model Loader applies the Krea 2 Identity Edit LoRA before sending the PIPE into Preprocessing. The simplified subgraph unpacks that prepared model, CLIP, and VAE, VAE-encodes each source, patches the model with the source-preservation path, performs image-grounded prompt encoding, creates zeroed negative conditioning, and prepares a target latent matching the source dimensions.
Important saved edit settings are:
Diffusion model:
krea2GPTGrandPUSSYTruth.safetensorsText encoder:
qwen3VL4BAbliteratedComfyui_v10_full_bf16.safetensorsVAE:
qwen_image_vae.safetensorsIdentity edit LoRA:
krea2/krea2_identity_edit_v1_2.safetensorsat 1.0, applied in Smart Model LoaderGrounding resolution: 768 px
Reference boost: 4.0
Secondary reference boost: 1.0
Fit mode: fit
Steps: 8
CFG: 1.0
Sampler: Euler
Scheduler: Beta
Denoise: 1.0
Seed: connected to the workflow's shared Seed node
The workflow now uses the linked abliterated Qwen3-VL 4B ComfyUI/Krea 2 text encoder and REDGPT2 Krea2 Turbo model directly, rather than presenting them only as optional substitutions.
Smart Model Loader retains 10-step Euler/Simple values in its internal sampler fields, but its sampler feature is not enabled in this branch. The active sampling settings come from the connected Eclipse KSampler shown above: 8 steps, CFG 1.0, Euler, and Beta.
The saved Krea instruction also now requests removal of clothing and accessories, bare feet, and restoration of an uninterrupted featureless white background. Replace it before enabling the group when that is not the intended edit.
ref_boost = 4.0 is a strong identity-preservation setting. Reduce it if edits look too close to the source or resist the instruction. The node pack's own guidance treats grounding resolution as another tradeoff: lower values can strengthen edit adherence, while higher values can favor likeness.
When this group is enabled, the Image Comparer receives the source list and the edited output so you can compare them. The edited PNG files use the nsfw_kr2 prefix and are saved beneath the same character folder.
Turn This Into a General-Purpose Editor
The Krea 2 stage is not limited to its saved explicit prompt. Replace it with instructions such as:
Keep the same person, face, pose, framing, and white background. Change only
the outfit to a dark green training tracksuit with no logos.
or:
Keep the character identity and clothing unchanged. Replace the flat white
background with a softly lit neutral gray studio backdrop.
Use one clear edit per pass. Instructions that simultaneously change clothing, hair, pose, camera, lighting, and background make identity drift harder to diagnose.
Image to Prompt
Every node in this new group is muted (Never) in the saved workflow. Enable it when you want automatic tags or image descriptions for the image batches produced by the current graph.
When enabled, the group:
Collects the active
img_angles_upper,img_angles_full,img_f2edit,img_k2edit,img_variation_1, andimg_variation_2variables.Joins them in that order and converts the combined image batch to a list.
Runs each image through the selected SmartLLM model; the saved choice is the
WD14-eva02-large-v3tagger.Filters the model's output with Filter Prompt.
Displays the filtered captions in Show Any Stop and publishes them as
str_pos_i2pfor Save Prompts.
The two unsaved frontal and rear base anchors are not included because they have no matching base file paths. The edit groups now exclude those anchors as well, so each optional 61-image edit batch corresponds to the same four saved base batches.
The number of images sent to the selected caption model therefore depends on the active saved branches:
Base batches only: 61 captions
Base + either editor: 122 captions
Base + both editors: 183 captions
The saved Filter Prompt is tuned for WD14's comma-separated tags. It removes tags including site or artist references, watermarks, censoring terms, realism/style labels, and selected appearance terms. Its list also includes asian, dark skin, very dark skin, closed eyes, mole, and related patterns. Remove any inappropriate filters before captioning your character; otherwise the exported captions can omit visible identity traits that matter to training. Each * in a Filter Prompt entry matches one complete word, so broad wildcard patterns deserve the same review. When using a Qwen or another vision-language model, inspect how this filter changes its natural-language output and bypass or rewrite the filter if necessary.
Show Any Stop is the review gate. Turn Stop (Result Review) on to inspect the filtered captions without allowing the downstream Save Prompts group to write them. After correcting the filter, model task, or thresholds, turn Stop off and queue again.
Save Prompts
This new group is also fully muted (Never) in the saved workflow. Image to Prompt creates and previews tags; Save Prompts performs the file writes. Enable both groups, and keep every image or editor branch you want captioned active in the same workflow execution.
Each Save Images node now publishes its saved file paths through files_angles_upper, files_angles_full, files_var_1, files_var_2, files_f2edit, or files_k2edit. Save Prompts gathers the active path variables in the same order used by Image to Prompt. The Save Prompt node expands the joined filenames back into a list and requires exactly one caption per filepath before it writes anything, preventing a shorter tag list from being silently assigned to the wrong images.
The saved caption settings are:
Output path:
%source_base_folder/promptsUse source folder: off; the explicit source placeholder anchors the path to each saved image's character folder
Filename:
%source_filenameFormat: TXT
Write mode:
keepPrompt logging: off
For an image named Angles_Upper_0001.png, the resulting caption is approximately:
ComfyUI/output/images/Datasets/<character-name>/prompts/Angles_Upper_0001.txt
keep mode deliberately skips an existing caption instead of replacing it. Change the mode to overwrite only when you intend a rerun to replace previously reviewed text files.
Output Structure
With the saved folder controls and character name Jeanne, the base outputs, optional editor outputs, and optional captions are organized approximately like this:
ComfyUI/output/images/Datasets/Jeanne/
├── Angles_Upper_0001.png ... Angles_Upper_0010.png
├── Angles_FullBody_0001.png ... Angles_FullBody_0011.png
├── Variation_1_0001.png ... Variation_1_0020.png
├── Variation_2_0001.png ... Variation_2_0020.png
├── nsfw_0001.png ... nsfw_0061.png (only with Flux2 Edit)
├── nsfw_kr2_0001.png ... nsfw_kr2_0061.png (only with Krea2 Edit)
└── prompts/ (only with caption export)
├── Angles_Upper_0001.txt ...
├── Angles_FullBody_0001.txt ...
├── Variation_1_0001.txt ...
├── Variation_2_0001.txt ...
├── nsfw_0001.txt ... (only with Flux2 Edit)
└── nsfw_kr2_0001.txt ... (only with Krea2 Edit)
Counters continue from existing matching files rather than overwriting them. Change the character name or clear/move an earlier dataset when you need a fresh numbering sequence.
All Save Images nodes use:
PNG output
4-digit counters
Workflow embedding enabled
Generation-data embedding disabled
Disk saving enabled
Internal Save Images preview display disabled
The separate DOM Preview nodes still show the important intermediate batches on the canvas.
Quick Start
Safest Base-Dataset First Run
Update ComfyUI and install current Eclipse, Smart Model Loader, and SmartLLM.
Install the FLUX.2 Klein base model, abliterated Qwen text encoder, and Flux 2 VAE.
Select your own source image in Load Image.
Change Character Name from
Jeanneto a unique folder name.Confirm that the complete Krea2 Edit group remains muted.
Leave Flux2 Edit, Image to Prompt, and Save Prompts muted, and leave SageAttention bypassed.
Queue once with the already-enabled face-crop Stop, inspect the crop, then turn Stop off if it is correct.
Queue the complete base graph.
Inspect identity consistency across the 10 upper-body angles, 11 full-body angles, and 40 variations before using them for training.
Full Published Route With Krea 2 Editing
Complete a successful base-only run first.
Install
comfyui-krea2editand all four Krea edit model files.Confirm the identity LoRA resolves at
models/loras/krea2/krea2_identity_edit_v1_2.safetensors.Enable Krea2 Edit and keep Flux2 Edit muted.
Review or replace the saved edit instruction.
Queue the workflow.
Compare the 61 sources and edits in Image Comparer.
Review the saved
nsfw_kr2batch before mixing it into a training dataset.
Switching to Flux 2 Edit
Install the prepared DarkBeast Flux 2 checkpoint.
Mute Krea2 Edit.
Enable all intended nodes in Flux2 Edit.
Keep its review Stop active for the first pass.
Queue with the same source image and shared seed.
Inspect the decoded results before allowing the Save Images stage to continue.
Running Both Editors Together
Install the model requirements for both edit groups.
Enable Flux2 Edit and Krea2 Edit.
Review the separate instruction in each branch.
Queue the workflow; both branches independently receive the same 61 source images.
Compare the
nsfwandnsfw_kr2output batches separately.
Running both editors does not chain their results. At the saved structure, neither branch edits the other branch's output.
Creating Automatic Caption Files
Finish a successful image route and decide which base and editor branches should be represented in the training dataset.
Choose a registered image-capable SmartLLM model. Use the saved
WD14-eva02-large-v3tagger, or switch to a vision-language model such as Qwen 3.5 through local Transformers or Docker-backed Ollama.Review the Image to Prompt group's Filter Prompt list for traits that should not be removed from this character.
Enable Image to Prompt and keep Save Prompts muted.
Turn on Show Any Stop's review control, queue, and inspect the 61, 122, or 183 filtered captions.
Correct the WD14 thresholds, selected vision-model task, or filter list as appropriate.
Enable Save Prompts, turn the caption review Stop off, and queue with the same source branches active.
Inspect the TXT files under
<character-name>/prompts/;keepmode preserves any caption file that already exists.
Dataset Curation Tips
Generating files is only the first half of dataset preparation. Before training:
Remove images with identity drift, extra limbs, distorted hands, duplicated features, or inconsistent age.
Check that left/right and rear views still depict the same character.
Avoid overrepresenting one outfit, crop, or camera angle unless that bias is intentional.
Separate explicit and non-explicit subsets if you want independent control during training.
Caption visible traits accurately; do not caption details that the image does not contain.
Keep a copy of the original source and the two anchor previews for comparison.
Review embedded workflow metadata before distributing images if you do not want the graph and local generation settings included.
The workflow creates variety through prompts, but it cannot decide which samples are suitable training data. Manual curation has a larger effect on a small character LoRA than keeping every generated image.
Troubleshooting
The Workflow Loads With Missing Nodes
Install or update the custom-node repositories listed above, restart ComfyUI, and reload the workflow. If only Krea 2 or KJNodes nodes are missing, keep their groups disabled while testing the base graph.
The Source Image Is Still example.png
Open Load Image (Metadata Pipe) and select your own file. The workflow points to input/example.png as a portable placeholder.
Smart Detection Downloads or Fails on First Run
The selected Anzhc Face seg 1024 v2 y8n [segm] model may need to be acquired by SmartLLM. Allow the verified download to finish, confirm the chosen Q4_K_M variant is available, and rerun. If detection finds the wrong face, use a source with one clearer subject or adjust the detection controls.
The Face Crop Is Wrong
Turn on Stop in the crop preview. Adjust select_index, crop context, rotation, or the source image until the output contains the intended face with enough surrounding context. Do not continue with a bad crop.
A Model Is Marked Missing
Select the exact installed filename in Smart Model Loader. For Civitai-backed finetunes, Smart Model Loader can preserve the workflow's AIR identity and expose its download action when the referenced model is absent. Confirm the destination role before downloading.
Output Goes Into the Wrong Character Folder
Change the Character Name text node in the Model group. Folder Path supplies only the common images/Datasets root; each Add Filename Prefix node turns the character name into a subdirectory.
Frontal and Rear Images Are Not Saved
This is the published graph's design. They are previews and named variables used by downstream groups. The four base Save Images nodes write only Angled Views: Upper Body, Angled Views: Full Body, Variation (1), and Variation (2). Add a deliberate save branch if you also want permanent anchor PNGs.
The Base Run Produces 61 Files, Not 63
That is expected. The graph generates 63 working images, but the base groups save only 10 upper-body angles, 11 full-body angles, and 40 variations. The frontal and rear anchors remain available as generation references but are deliberately excluded from both optional 61-image edit batches because they have no corresponding base files.
Caption Files Are Missing
Confirm that both Image to Prompt and Save Prompts are enabled; both complete groups are muted in the saved workflow. Keep the image-generation and editor branches you want captioned active as well. If Show Any Stop has Stop (Result Review) enabled, the graph intentionally interrupts after previewing tags and before Save Prompts writes files.
The saved caption route needs SmartLLM's WD14-eva02-large-v3 model. If you selected an alternative such as Qwen 3.5, confirm that its registered backend is available, that the model supports image input, and that you selected an image-description or tag task. Transformers runs locally; Ollama and SmartLLM's other managed container services require their corresponding Docker runtime. The output captions appear in the character folder's prompts subfolder, not beside the PNG files. Existing captions are skipped because the saved write mode is keep.
Save Prompt Reports a Caption/File Count Mismatch
Update Eclipse first. The graph relies on current Save Prompt handling to expand the joined Save Images paths and validate one caption per file. A mismatch means that Image to Prompt and Save Prompts did not collect the same active branches; the node rejects the batch before writing anything. Enable matching image and file-path sources in both groups rather than padding, cycling, or manually reordering the lists.
Krea 2 Edit Fails Immediately
Check all of the following:
ComfyUI has current native Krea 2 support.
comfyui-krea2editis installed and updated.The selected diffusion model, Qwen3-VL text encoder, and Qwen Image VAE exist in their expected folders.
The identity edit LoRA exists under
models/loras/krea2/or is reselected.The Krea2 Edit group is active. Flux2 Edit may be active or muted independently.
Identity Is Weak in Krea Edits
Keep the identity LoRA at 1.0, retain fit mode, and confirm the grounded encoder receives the same source batch as the model patch. The saved ref_boost is already a strong 4.0; raising it further can reduce editability rather than solve a poor source or bad base generation.
The Edit Instruction Is Ignored
Try a shorter instruction with one explicit change. Lower ref_boost, reduce grounding resolution from 768 toward 512, or use a less restrictive source. Compare at a fixed seed so prompt changes are the only variable.
Out of Memory
Try these changes in order:
Run the base graph with both edit groups muted.
Reduce the main 848 × 1248 canvas while preserving dimensions suitable for the model.
Increase block swapping or reduce blocks kept on GPU in Smart Model Loader.
Run Angled Views: Upper Body, Angled Views: Full Body, Variation (1), and Variation (2) as separate queues by muting unused groups.
Process Krea edits in smaller source subsets instead of the full 61-image collection.
Enable SageAttention only after verifying a compatible installation; it is not part of the known-safe published route.
Outputs Differ Even With the Same Seed
Model, encoder, VAE, custom-node versions, attention backend, dtype, and prompt-list order can all affect results. Keep the same installed files and group modes when making a fixed-seed comparison.
Custom Node Packages Used
Workflow infrastructure
ComfyUI Eclipse — folders, filenames, images, wildcard prompt lists, Set/Get channels, previews, joins, seeds, Kargim sampling, PNG saving, prompt filtering, and caption-sidecar export.
ComfyUI Smart Model Loader — model pipelines, CLIP/VAE extraction, conditioning helpers, LoRA Stack, and model acquisition.
ComfyUI SmartLLM — face segmentation through Smart Detection and optional WD14 dataset tagging.
Optional optimization and editing
ComfyUI-KJNodes — bypassed SageAttention model patch.
comfyui-krea2edit — optional Krea 2 identity-edit preprocessing.
Core ComfyUI supplies empty latents, ReferenceLatent, standard KSamplers, advanced sampling, VAE encode/decode, image scaling, and the subgraph system.
Start with the base 61-image route, review the face crop and both anchors, and curate both generated angle sets before enabling either or both optional batch editors or caption export. A smaller clean dataset with reviewed captions is more useful than a larger set with repeated identity errors or inaccurate tags.
Description
Update: Eclipse + SmartLLM to the latest versions
added a new node: wildcard processor list
added image to prompt and save prompts
FAQ
Comments (15)
fyi Krea2DarkBeast3.0-INT8-Convrot-ComfyUI.safetensors links to Moody Krea 2 Mix (uncensored)
thank you, it's fixed
@Rvage Your https://github.com/r-vage/ComfyUI_Eclipse node is flagged (comfyui registry), for many versions now. Maybe you need to look into it. You are at 4.3.37 and only 4.3.5 is available.
You can find the reason here: https://api.comfy.org/versions?nodeId=ComfyUI_Eclipse&include_status_reason=true Probably also for other nodes from you. (more information I found: https://www.reddit.com/r/comfyui/comments/1wcdd0i/my_custom_node_pack_was_banned_from/)
@daze45230 thanks, i take a look at it
the update feature in the settings tab also seems to be an issue, thanks for telling me
not sure how to exactly find the Anzhc Face -seg [segm]
I cant find it in the smart lm manager. I tried to download manually and placed it in the ultralytics\segm but it doesn't see it.
strg+shift+r is doing a hard cache reset of the browser or f5 to reload the page. if that does not work restart comfyui. i've to check why the yolo models are not listed in the lm manager and why it is not downloaded automaticly.
the model link is this: https://huggingface.co/Anzhc/Anzhcs_YOLOs/resolve/main/Anzhc%20Face%20-seg.pt
@Rvage Yes I got it to be visible. but when I select it, I get the error: Restricted YOLO checkpoint loading is unavailable in this Ultralytics/PyTorch installation. Update to an SmartLLM-compatible Ultralytics build with torch_safe_load(..., safe_only=True) and PyTorch 2.5 or newer, or use a reviewed ONNX model instead.
I got higher pytorch version. Was wondering what I am missing
@Alright123 what pytorch version are you using? the loader uses torch_safe_load but it seems to be missing in your torch version
@Rvage pytorch version: 2.9.1+cu130, my console says when launching comyfui
@Alright123 ok that's what i use too, the issue is most likely the ultralytics version it doesnt support safe load. do you know how to update it?
@Rvage I always do Update all from comfyui but if its another way I don't think so :)
@Alright123 its a library in the comfyui environment, check the chat i wrote you there
Windows portable, run from ComfyUI_windows_portable (open terminal from there):
.\python_embeded\python.exe -m pip install --upgrade --no-deps "ultralytics>=8.4.67,<8.5"
.\python_embeded\python.exe -c "import torch, ultralytics; print('Ultralytics:', ultralytics.__version__); print('PyTorch:', torch.__version__)"
Windows venv, run from the ComfyUI directory:
.\venv\Scripts\python.exe -m pip install --upgrade --no-deps "ultralytics>=8.4.67,<8.5"
.\venv\Scripts\python.exe -c "import torch, ultralytics; print('Ultralytics:', ultralytics.__version__); print('PyTorch:', torch.__version__)"
If the environment is named .venv, replace venv with .venv.
Linux venv:
./venv/bin/python -m pip install --upgrade --no-deps "ultralytics>=8.4.67,<8.5"
./venv/bin/python -c "import torch, ultralytics; print('Ultralytics:', ultralytics.__version__); print('PyTorch:', torch.__version__)"
If the venv is already activated:
python -m pip install --upgrade --no-deps "ultralytics>=8.4.67,<8.5"
This is MAGIC ! Thank you so much !
