diff --git a/assets-library/models-performance.json b/assets-library/models-performance.json index 458ccf1..4f071c0 100644 --- a/assets-library/models-performance.json +++ b/assets-library/models-performance.json @@ -68,7 +68,7 @@ "verdict": "파스텔 평균 26.1% (11회) / 검정 평균 0.24%" }, "flux-dev": { - "rounds_used": 22, + "rounds_used": 27, "dimensions": { "byeolyi": [], "hanja": [], @@ -92,7 +92,12 @@ 9.99, 27.51, 48.5, - 12.87 + 12.87, + 48.82, + 48.93, + 38.52, + 49.99, + 44.45 ], "auto_black": [ 3.11, @@ -111,7 +116,12 @@ 13.98, 0.79, 0.27, - 11.67 + 11.67, + 0.34, + 0.46, + 0.48, + 0.18, + 4.3 ] }, "avg_scores": {}, @@ -122,12 +132,33 @@ "variant": "PuLID 0.7 + Redux 0.5", "pastel_pct": 48.5, "black_pct": 0.27 + }, + { + "round": "R2-clean", + "id": "2-1", + "variant": "PuLID 0.7 + Redux 0.5 + Stage 3 Refiner (denoise 0.3)", + "pastel_pct": 48.82, + "black_pct": 0.34 + }, + { + "round": "R2-clean", + "id": "2-2", + "variant": "PuLID 0.7 + Redux 0.7", + "pastel_pct": 48.93, + "black_pct": 0.46 + }, + { + "round": "R2-clean", + "id": "2-4", + "variant": "PuLID 0.85 + Redux 0.5", + "pastel_pct": 49.99, + "black_pct": 0.18 } ], - "verdict": "파스텔 평균 24.1% (17회) / 검정 평균 5.14%" + "verdict": "파스텔 평균 29.1% (22회) / 검정 평균 4.23%" }, "pulid-flux": { - "rounds_used": 20, + "rounds_used": 24, "dimensions": { "byeolyi": [], "hanja": [], @@ -148,7 +179,11 @@ 25.65, 9.99, 27.51, - 48.5 + 48.5, + 48.82, + 48.93, + 38.52, + 49.99 ], "auto_black": [ 0.73, @@ -164,7 +199,11 @@ 1.95, 13.98, 0.79, - 0.27 + 0.27, + 0.34, + 0.46, + 0.48, + 0.18 ] }, "avg_scores": {}, @@ -184,9 +223,30 @@ "variant": "PuLID 0.7 + Redux 0.5", "pastel_pct": 48.5, "black_pct": 0.27 + }, + { + "round": "R2-clean", + "id": "2-1", + "variant": "PuLID 0.7 + Redux 0.5 + Stage 3 Refiner (denoise 0.3)", + "pastel_pct": 48.82, + "black_pct": 0.34 + }, + { + "round": "R2-clean", + "id": "2-2", + "variant": "PuLID 0.7 + Redux 0.7", + "pastel_pct": 48.93, + "black_pct": 0.46 + }, + { + "round": "R2-clean", + "id": "2-4", + "variant": "PuLID 0.85 + Redux 0.5", + "pastel_pct": 49.99, + "black_pct": 0.18 } ], - "verdict": "파스텔 평균 29.8% (14회) / 검정 평균 3.81%" + "verdict": "파스텔 평균 33.6% (18회) / 검정 평균 3.05%" }, "qwen-image-2512": { "rounds_used": 1, @@ -225,7 +285,7 @@ "verdict": "Stage 2 인페인트 6차 실패 — Qwen 계열 GGUF Q4 환경 호환성 결함 확정" }, "flux-redux": { - "rounds_used": 3, + "rounds_used": 7, "dimensions": { "byeolyi": [], "hanja": [], @@ -235,12 +295,20 @@ "auto_pastel": [ 48.5, 48.5, - 48.5 + 48.5, + 48.82, + 48.93, + 38.52, + 49.99 ], "auto_black": [ 0.27, 0.27, - 0.27 + 0.27, + 0.34, + 0.46, + 0.48, + 0.18 ] }, "avg_scores": {}, @@ -251,12 +319,61 @@ "variant": "PuLID 0.7 + Redux 0.5", "pastel_pct": 48.5, "black_pct": 0.27 + }, + { + "round": "R2-clean", + "id": "2-1", + "variant": "PuLID 0.7 + Redux 0.5 + Stage 3 Refiner (denoise 0.3)", + "pastel_pct": 48.82, + "black_pct": 0.34 + }, + { + "round": "R2-clean", + "id": "2-2", + "variant": "PuLID 0.7 + Redux 0.7", + "pastel_pct": 48.93, + "black_pct": 0.46 + }, + { + "round": "R2-clean", + "id": "2-4", + "variant": "PuLID 0.85 + Redux 0.5", + "pastel_pct": 49.99, + "black_pct": 0.18 } ], - "verdict": "파스텔 평균 48.5% (3회) / 검정 평균 0.27%" + "verdict": "파스텔 평균 47.4% (7회) / 검정 평균 0.32%" + }, + "flux-dev-refiner": { + "rounds_used": 1, + "dimensions": { + "byeolyi": [], + "hanja": [], + "hanok": [], + "illustration": [], + "korean_traditional": [], + "auto_pastel": [ + 48.82 + ], + "auto_black": [ + 0.34 + ] + }, + "avg_scores": {}, + "best_combinations": [ + { + "round": "R2-clean", + "id": "2-1", + "variant": "PuLID 0.7 + Redux 0.5 + Stage 3 Refiner (denoise 0.3)", + "pastel_pct": 48.82, + "black_pct": 0.34 + } + ], + "verdict": "파스텔 평균 48.8% (1회) / 검정 평균 0.34%" } }, "_processed_rounds": [ - "R1-clean" + "R1-clean", + "R2-clean" ] } \ No newline at end of file diff --git a/assets-library/prompts/proven-patterns.json b/assets-library/prompts/proven-patterns.json index cb88500..6502d5a 100644 --- a/assets-library/prompts/proven-patterns.json +++ b/assets-library/prompts/proven-patterns.json @@ -61,6 +61,57 @@ ], "round": "R1-clean" } + ], + "R2-clean-2-1": [ + { + "pastel_pct": 48.82, + "black_pct": 0.34, + "variant": "PuLID 0.7 + Redux 0.5 + Stage 3 Refiner (denoise 0.3)", + "models": [ + "flux-dev", + "pulid-flux", + "flux-redux", + "flux-dev-refiner" + ], + "round": "R2-clean" + } + ], + "R2-clean-2-2": [ + { + "pastel_pct": 48.93, + "black_pct": 0.46, + "variant": "PuLID 0.7 + Redux 0.7", + "models": [ + "flux-dev", + "pulid-flux", + "flux-redux" + ], + "round": "R2-clean" + } + ], + "R2-clean-2-4": [ + { + "pastel_pct": 49.99, + "black_pct": 0.18, + "variant": "PuLID 0.85 + Redux 0.5", + "models": [ + "flux-dev", + "pulid-flux", + "flux-redux" + ], + "round": "R2-clean" + } + ], + "R2-clean-2-5": [ + { + "pastel_pct": 44.45, + "black_pct": 4.3, + "variant": "Hanok spring variant (cherry blossom)", + "models": [ + "flux-dev" + ], + "round": "R2-clean" + } ] } } \ No newline at end of file diff --git a/assets-library/workflows/_index.json b/assets-library/workflows/_index.json index 10aa349..d48dde3 100644 --- a/assets-library/workflows/_index.json +++ b/assets-library/workflows/_index.json @@ -1,5 +1,5 @@ { - "count": 3, + "count": 8, "winner": [ { "name": "winner_auto-illustration_auto-R1-clean-1-4-flux-dev.json", @@ -20,6 +20,67 @@ "타로 78장", "별이 일러스트 시리즈" ] + }, + { + "name": "winner_auto-illustration_auto-R2-clean-2-1-flux-dev.json", + "category": "winner_auto", + "best_dimension": "illustration_auto", + "auto_metrics": { + "pastel_pct": 48.82, + "black_pct": 0.34 + }, + "models": [ + "flux-dev", + "pulid-flux", + "flux-redux", + "flux-dev-refiner" + ], + "round": "R2-clean", + "variant": "PuLID 0.7 + Redux 0.5 + Stage 3 Refiner (denoise 0.3)", + "reusable_for": [ + "타로 78장", + "별이 일러스트 시리즈" + ] + }, + { + "name": "winner_auto-illustration_auto-R2-clean-2-2-flux-dev.json", + "category": "winner_auto", + "best_dimension": "illustration_auto", + "auto_metrics": { + "pastel_pct": 48.93, + "black_pct": 0.46 + }, + "models": [ + "flux-dev", + "pulid-flux", + "flux-redux" + ], + "round": "R2-clean", + "variant": "PuLID 0.7 + Redux 0.7", + "reusable_for": [ + "타로 78장", + "별이 일러스트 시리즈" + ] + }, + { + "name": "winner_auto-illustration_auto-R2-clean-2-4-flux-dev.json", + "category": "winner_auto", + "best_dimension": "illustration_auto", + "auto_metrics": { + "pastel_pct": 49.99, + "black_pct": 0.18 + }, + "models": [ + "flux-dev", + "pulid-flux", + "flux-redux" + ], + "round": "R2-clean", + "variant": "PuLID 0.85 + Redux 0.5", + "reusable_for": [ + "타로 78장", + "별이 일러스트 시리즈" + ] } ], "partial": [ @@ -60,6 +121,44 @@ "관찰", "한복 ref 후보" ] + }, + { + "name": "partial-illustration_auto-R2-clean-2-3-flux-dev.json", + "category": "partial", + "best_dimension": "illustration_auto", + "auto_metrics": { + "pastel_pct": 38.52, + "black_pct": 0.48 + }, + "models": [ + "flux-dev", + "pulid-flux", + "flux-redux" + ], + "round": "R2-clean", + "variant": "PuLID 0.7 + Redux 0.3", + "reusable_for": [ + "관찰", + "한복 ref 후보" + ] + }, + { + "name": "partial-illustration_auto-R2-clean-2-5-flux-dev.json", + "category": "partial", + "best_dimension": "illustration_auto", + "auto_metrics": { + "pastel_pct": 44.45, + "black_pct": 4.3 + }, + "models": [ + "flux-dev" + ], + "round": "R2-clean", + "variant": "Hanok spring variant (cherry blossom)", + "reusable_for": [ + "관찰", + "한복 ref 후보" + ] } ] } \ No newline at end of file diff --git a/assets-library/workflows/partial-illustration_auto-R2-clean-2-3-flux-dev.json b/assets-library/workflows/partial-illustration_auto-R2-clean-2-3-flux-dev.json new file mode 100644 index 0000000..78b1219 --- /dev/null +++ b/assets-library/workflows/partial-illustration_auto-R2-clean-2-3-flux-dev.json @@ -0,0 +1,210 @@ +{ + "1": { + "class_type": "UnetLoaderGGUF", + "inputs": { + "unet_name": "flux1-dev-Q5_K_S.gguf" + } + }, + "2": { + "class_type": "DualCLIPLoader", + "inputs": { + "clip_name1": "clip_l.safetensors", + "clip_name2": "t5xxl_fp8_e4m3fn.safetensors", + "type": "flux" + } + }, + "3": { + "class_type": "VAELoader", + "inputs": { + "vae_name": "ae.safetensors" + } + }, + "4": { + "class_type": "CLIPTextEncode", + "inputs": { + "text": "A 25-28 year old Korean woman in a modern hanbok with subtle Cute Horror mood, sitting gracefully in a traditional Korean tea house with hanok wooden architecture, warm afternoon light filtering through latticed windows, cool pale skin, gentle expression, photorealistic, high detail", + "clip": [ + "2", + 0 + ] + } + }, + "5": { + "class_type": "CLIPTextEncode", + "inputs": { + "text": "cartoon, anime, child, teenage, purple hoodie, japanese building, plastic skin", + "clip": [ + "2", + 0 + ] + } + }, + "6": { + "class_type": "EmptyLatentImage", + "inputs": { + "width": 768, + "height": 1344, + "batch_size": 1 + } + }, + "7": { + "class_type": "PulidFluxModelLoader", + "inputs": { + "pulid_file": "pulid_flux_v0.9.1.safetensors" + } + }, + "8": { + "class_type": "PulidFluxEvaClipLoader", + "inputs": {} + }, + "9": { + "class_type": "PulidFluxInsightFaceLoader", + "inputs": { + "provider": "CUDA" + } + }, + "10": { + "class_type": "LoadImage", + "inputs": { + "image": "byeolyi-ref-768x1344.png" + } + }, + "11": { + "class_type": "ApplyPulidFlux", + "inputs": { + "model": [ + "1", + 0 + ], + "pulid_flux": [ + "7", + 0 + ], + "eva_clip": [ + "8", + 0 + ], + "face_analysis": [ + "9", + 0 + ], + "image": [ + "10", + 0 + ], + "weight": 0.7, + "start_at": 0.0, + "end_at": 0.8, + "fusion": "mean", + "fusion_weight_max": 1.0, + "fusion_weight_min": 0.0, + "train_step": 1000, + "use_gray": true + } + }, + "12": { + "class_type": "FluxGuidance", + "inputs": { + "conditioning": [ + "19", + 0 + ], + "guidance": 3.5 + } + }, + "13": { + "class_type": "KSampler", + "inputs": { + "model": [ + "11", + 0 + ], + "positive": [ + "12", + 0 + ], + "negative": [ + "5", + 0 + ], + "latent_image": [ + "6", + 0 + ], + "seed": 102003, + "steps": 25, + "cfg": 1.0, + "sampler_name": "euler", + "scheduler": "simple", + "denoise": 1.0 + } + }, + "14": { + "class_type": "VAEDecode", + "inputs": { + "samples": [ + "13", + 0 + ], + "vae": [ + "3", + 0 + ] + } + }, + "15": { + "class_type": "SaveImage", + "inputs": { + "images": [ + "14", + 0 + ], + "filename_prefix": "m103_clean_r2_3_pulid07_redux03" + } + }, + "16": { + "class_type": "StyleModelLoader", + "inputs": { + "style_model_name": "flux1-redux-dev.safetensors" + } + }, + "17": { + "class_type": "CLIPVisionLoader", + "inputs": { + "clip_name": "sigclip_vision_patch14_384.safetensors" + } + }, + "18": { + "class_type": "CLIPVisionEncode", + "inputs": { + "clip_vision": [ + "17", + 0 + ], + "image": [ + "10", + 0 + ], + "crop": "center" + } + }, + "19": { + "class_type": "StyleModelApply", + "inputs": { + "conditioning": [ + "4", + 0 + ], + "style_model": [ + "16", + 0 + ], + "clip_vision_output": [ + "18", + 0 + ], + "strength": 0.3, + "strength_type": "multiply" + } + } +} \ No newline at end of file diff --git a/assets-library/workflows/partial-illustration_auto-R2-clean-2-5-flux-dev.json b/assets-library/workflows/partial-illustration_auto-R2-clean-2-5-flux-dev.json new file mode 100644 index 0000000..05346c8 --- /dev/null +++ b/assets-library/workflows/partial-illustration_auto-R2-clean-2-5-flux-dev.json @@ -0,0 +1,110 @@ +{ + "1": { + "class_type": "UnetLoaderGGUF", + "inputs": { + "unet_name": "flux1-dev-Q5_K_S.gguf" + } + }, + "2": { + "class_type": "DualCLIPLoader", + "inputs": { + "clip_name1": "clip_l.safetensors", + "clip_name2": "t5xxl_fp8_e4m3fn.safetensors", + "type": "flux" + } + }, + "3": { + "class_type": "VAELoader", + "inputs": { + "vae_name": "ae.safetensors" + } + }, + "4": { + "class_type": "CLIPTextEncode", + "inputs": { + "text": "Traditional Korean hanok village in spring, curved tile roofs with subtle blossom petals, wooden gates, stone walls, cherry blossom trees in bloom, soft pastel sky, Korean architecture, NOT Japanese, NOT pagoda, photorealistic, high detail", + "clip": [ + "2", + 0 + ] + } + }, + "5": { + "class_type": "CLIPTextEncode", + "inputs": { + "text": "japanese, pagoda, chinese architecture, modern building, wabi-sabi", + "clip": [ + "2", + 0 + ] + } + }, + "6": { + "class_type": "EmptyLatentImage", + "inputs": { + "width": 768, + "height": 1344, + "batch_size": 1 + } + }, + "12": { + "class_type": "FluxGuidance", + "inputs": { + "conditioning": [ + "4", + 0 + ], + "guidance": 3.5 + } + }, + "13": { + "class_type": "KSampler", + "inputs": { + "model": [ + "1", + 0 + ], + "positive": [ + "12", + 0 + ], + "negative": [ + "5", + 0 + ], + "latent_image": [ + "6", + 0 + ], + "seed": 102005, + "steps": 25, + "cfg": 1.0, + "sampler_name": "euler", + "scheduler": "simple", + "denoise": 1.0 + } + }, + "14": { + "class_type": "VAEDecode", + "inputs": { + "samples": [ + "13", + 0 + ], + "vae": [ + "3", + 0 + ] + } + }, + "15": { + "class_type": "SaveImage", + "inputs": { + "images": [ + "14", + 0 + ], + "filename_prefix": "m103_clean_r2_5_hanok_spring" + } + } +} \ No newline at end of file diff --git a/assets-library/workflows/winner_auto-illustration_auto-R2-clean-2-1-flux-dev.json b/assets-library/workflows/winner_auto-illustration_auto-R2-clean-2-1-flux-dev.json new file mode 100644 index 0000000..6e5a624 --- /dev/null +++ b/assets-library/workflows/winner_auto-illustration_auto-R2-clean-2-1-flux-dev.json @@ -0,0 +1,263 @@ +{ + "1": { + "class_type": "UnetLoaderGGUF", + "inputs": { + "unet_name": "flux1-dev-Q5_K_S.gguf" + } + }, + "2": { + "class_type": "DualCLIPLoader", + "inputs": { + "clip_name1": "clip_l.safetensors", + "clip_name2": "t5xxl_fp8_e4m3fn.safetensors", + "type": "flux" + } + }, + "3": { + "class_type": "VAELoader", + "inputs": { + "vae_name": "ae.safetensors" + } + }, + "4": { + "class_type": "CLIPTextEncode", + "inputs": { + "text": "A 25-28 year old Korean woman in a modern hanbok with subtle Cute Horror mood, sitting gracefully in a traditional Korean tea house with hanok wooden architecture, warm afternoon light filtering through latticed windows, cool pale skin, gentle expression, photorealistic, high detail", + "clip": [ + "2", + 0 + ] + } + }, + "5": { + "class_type": "CLIPTextEncode", + "inputs": { + "text": "cartoon, anime, child, teenage, purple hoodie, japanese building, plastic skin", + "clip": [ + "2", + 0 + ] + } + }, + "6": { + "class_type": "EmptyLatentImage", + "inputs": { + "width": 768, + "height": 1344, + "batch_size": 1 + } + }, + "7": { + "class_type": "PulidFluxModelLoader", + "inputs": { + "pulid_file": "pulid_flux_v0.9.1.safetensors" + } + }, + "8": { + "class_type": "PulidFluxEvaClipLoader", + "inputs": {} + }, + "9": { + "class_type": "PulidFluxInsightFaceLoader", + "inputs": { + "provider": "CUDA" + } + }, + "10": { + "class_type": "LoadImage", + "inputs": { + "image": "byeolyi-ref-768x1344.png" + } + }, + "11": { + "class_type": "ApplyPulidFlux", + "inputs": { + "model": [ + "1", + 0 + ], + "pulid_flux": [ + "7", + 0 + ], + "eva_clip": [ + "8", + 0 + ], + "face_analysis": [ + "9", + 0 + ], + "image": [ + "10", + 0 + ], + "weight": 0.7, + "start_at": 0.0, + "end_at": 0.8, + "fusion": "mean", + "fusion_weight_max": 1.0, + "fusion_weight_min": 0.0, + "train_step": 1000, + "use_gray": true + } + }, + "12": { + "class_type": "FluxGuidance", + "inputs": { + "conditioning": [ + "19", + 0 + ], + "guidance": 3.5 + } + }, + "13": { + "class_type": "KSampler", + "inputs": { + "model": [ + "11", + 0 + ], + "positive": [ + "12", + 0 + ], + "negative": [ + "5", + 0 + ], + "latent_image": [ + "6", + 0 + ], + "seed": 102001, + "steps": 25, + "cfg": 1.0, + "sampler_name": "euler", + "scheduler": "simple", + "denoise": 1.0 + } + }, + "14": { + "class_type": "VAEDecode", + "inputs": { + "samples": [ + "13", + 0 + ], + "vae": [ + "3", + 0 + ] + } + }, + "15": { + "class_type": "SaveImage", + "inputs": { + "images": [ + "22", + 0 + ], + "filename_prefix": "m103_clean_r2_1_pulid_redux_stage3" + } + }, + "16": { + "class_type": "StyleModelLoader", + "inputs": { + "style_model_name": "flux1-redux-dev.safetensors" + } + }, + "17": { + "class_type": "CLIPVisionLoader", + "inputs": { + "clip_name": "sigclip_vision_patch14_384.safetensors" + } + }, + "18": { + "class_type": "CLIPVisionEncode", + "inputs": { + "clip_vision": [ + "17", + 0 + ], + "image": [ + "10", + 0 + ], + "crop": "center" + } + }, + "19": { + "class_type": "StyleModelApply", + "inputs": { + "conditioning": [ + "4", + 0 + ], + "style_model": [ + "16", + 0 + ], + "clip_vision_output": [ + "18", + 0 + ], + "strength": 0.5, + "strength_type": "multiply" + } + }, + "20": { + "class_type": "VAEEncode", + "inputs": { + "pixels": [ + "14", + 0 + ], + "vae": [ + "3", + 0 + ] + } + }, + "21": { + "class_type": "KSampler", + "inputs": { + "model": [ + "11", + 0 + ], + "positive": [ + "12", + 0 + ], + "negative": [ + "5", + 0 + ], + "latent_image": [ + "20", + 0 + ], + "seed": 109778, + "steps": 12, + "cfg": 1.0, + "sampler_name": "euler", + "scheduler": "simple", + "denoise": 0.3 + } + }, + "22": { + "class_type": "VAEDecode", + "inputs": { + "samples": [ + "21", + 0 + ], + "vae": [ + "3", + 0 + ] + } + } +} \ No newline at end of file diff --git a/assets-library/workflows/winner_auto-illustration_auto-R2-clean-2-2-flux-dev.json b/assets-library/workflows/winner_auto-illustration_auto-R2-clean-2-2-flux-dev.json new file mode 100644 index 0000000..57fdabd --- /dev/null +++ b/assets-library/workflows/winner_auto-illustration_auto-R2-clean-2-2-flux-dev.json @@ -0,0 +1,210 @@ +{ + "1": { + "class_type": "UnetLoaderGGUF", + "inputs": { + "unet_name": "flux1-dev-Q5_K_S.gguf" + } + }, + "2": { + "class_type": "DualCLIPLoader", + "inputs": { + "clip_name1": "clip_l.safetensors", + "clip_name2": "t5xxl_fp8_e4m3fn.safetensors", + "type": "flux" + } + }, + "3": { + "class_type": "VAELoader", + "inputs": { + "vae_name": "ae.safetensors" + } + }, + "4": { + "class_type": "CLIPTextEncode", + "inputs": { + "text": "A 25-28 year old Korean woman in a modern hanbok with subtle Cute Horror mood, sitting gracefully in a traditional Korean tea house with hanok wooden architecture, warm afternoon light filtering through latticed windows, cool pale skin, gentle expression, photorealistic, high detail", + "clip": [ + "2", + 0 + ] + } + }, + "5": { + "class_type": "CLIPTextEncode", + "inputs": { + "text": "cartoon, anime, child, teenage, purple hoodie, japanese building, plastic skin", + "clip": [ + "2", + 0 + ] + } + }, + "6": { + "class_type": "EmptyLatentImage", + "inputs": { + "width": 768, + "height": 1344, + "batch_size": 1 + } + }, + "7": { + "class_type": "PulidFluxModelLoader", + "inputs": { + "pulid_file": "pulid_flux_v0.9.1.safetensors" + } + }, + "8": { + "class_type": "PulidFluxEvaClipLoader", + "inputs": {} + }, + "9": { + "class_type": "PulidFluxInsightFaceLoader", + "inputs": { + "provider": "CUDA" + } + }, + "10": { + "class_type": "LoadImage", + "inputs": { + "image": "byeolyi-ref-768x1344.png" + } + }, + "11": { + "class_type": "ApplyPulidFlux", + "inputs": { + "model": [ + "1", + 0 + ], + "pulid_flux": [ + "7", + 0 + ], + "eva_clip": [ + "8", + 0 + ], + "face_analysis": [ + "9", + 0 + ], + "image": [ + "10", + 0 + ], + "weight": 0.7, + "start_at": 0.0, + "end_at": 0.8, + "fusion": "mean", + "fusion_weight_max": 1.0, + "fusion_weight_min": 0.0, + "train_step": 1000, + "use_gray": true + } + }, + "12": { + "class_type": "FluxGuidance", + "inputs": { + "conditioning": [ + "19", + 0 + ], + "guidance": 3.5 + } + }, + "13": { + "class_type": "KSampler", + "inputs": { + "model": [ + "11", + 0 + ], + "positive": [ + "12", + 0 + ], + "negative": [ + "5", + 0 + ], + "latent_image": [ + "6", + 0 + ], + "seed": 102002, + "steps": 25, + "cfg": 1.0, + "sampler_name": "euler", + "scheduler": "simple", + "denoise": 1.0 + } + }, + "14": { + "class_type": "VAEDecode", + "inputs": { + "samples": [ + "13", + 0 + ], + "vae": [ + "3", + 0 + ] + } + }, + "15": { + "class_type": "SaveImage", + "inputs": { + "images": [ + "14", + 0 + ], + "filename_prefix": "m103_clean_r2_2_pulid07_redux07" + } + }, + "16": { + "class_type": "StyleModelLoader", + "inputs": { + "style_model_name": "flux1-redux-dev.safetensors" + } + }, + "17": { + "class_type": "CLIPVisionLoader", + "inputs": { + "clip_name": "sigclip_vision_patch14_384.safetensors" + } + }, + "18": { + "class_type": "CLIPVisionEncode", + "inputs": { + "clip_vision": [ + "17", + 0 + ], + "image": [ + "10", + 0 + ], + "crop": "center" + } + }, + "19": { + "class_type": "StyleModelApply", + "inputs": { + "conditioning": [ + "4", + 0 + ], + "style_model": [ + "16", + 0 + ], + "clip_vision_output": [ + "18", + 0 + ], + "strength": 0.7, + "strength_type": "multiply" + } + } +} \ No newline at end of file diff --git a/assets-library/workflows/winner_auto-illustration_auto-R2-clean-2-4-flux-dev.json b/assets-library/workflows/winner_auto-illustration_auto-R2-clean-2-4-flux-dev.json new file mode 100644 index 0000000..607fd32 --- /dev/null +++ b/assets-library/workflows/winner_auto-illustration_auto-R2-clean-2-4-flux-dev.json @@ -0,0 +1,210 @@ +{ + "1": { + "class_type": "UnetLoaderGGUF", + "inputs": { + "unet_name": "flux1-dev-Q5_K_S.gguf" + } + }, + "2": { + "class_type": "DualCLIPLoader", + "inputs": { + "clip_name1": "clip_l.safetensors", + "clip_name2": "t5xxl_fp8_e4m3fn.safetensors", + "type": "flux" + } + }, + "3": { + "class_type": "VAELoader", + "inputs": { + "vae_name": "ae.safetensors" + } + }, + "4": { + "class_type": "CLIPTextEncode", + "inputs": { + "text": "A 25-28 year old Korean woman in a modern hanbok with subtle Cute Horror mood, sitting gracefully in a traditional Korean tea house with hanok wooden architecture, warm afternoon light filtering through latticed windows, cool pale skin, gentle expression, photorealistic, high detail", + "clip": [ + "2", + 0 + ] + } + }, + "5": { + "class_type": "CLIPTextEncode", + "inputs": { + "text": "cartoon, anime, child, teenage, purple hoodie, japanese building, plastic skin", + "clip": [ + "2", + 0 + ] + } + }, + "6": { + "class_type": "EmptyLatentImage", + "inputs": { + "width": 768, + "height": 1344, + "batch_size": 1 + } + }, + "7": { + "class_type": "PulidFluxModelLoader", + "inputs": { + "pulid_file": "pulid_flux_v0.9.1.safetensors" + } + }, + "8": { + "class_type": "PulidFluxEvaClipLoader", + "inputs": {} + }, + "9": { + "class_type": "PulidFluxInsightFaceLoader", + "inputs": { + "provider": "CUDA" + } + }, + "10": { + "class_type": "LoadImage", + "inputs": { + "image": "byeolyi-ref-768x1344.png" + } + }, + "11": { + "class_type": "ApplyPulidFlux", + "inputs": { + "model": [ + "1", + 0 + ], + "pulid_flux": [ + "7", + 0 + ], + "eva_clip": [ + "8", + 0 + ], + "face_analysis": [ + "9", + 0 + ], + "image": [ + "10", + 0 + ], + "weight": 0.85, + "start_at": 0.0, + "end_at": 0.8, + "fusion": "mean", + "fusion_weight_max": 1.0, + "fusion_weight_min": 0.0, + "train_step": 1000, + "use_gray": true + } + }, + "12": { + "class_type": "FluxGuidance", + "inputs": { + "conditioning": [ + "19", + 0 + ], + "guidance": 3.5 + } + }, + "13": { + "class_type": "KSampler", + "inputs": { + "model": [ + "11", + 0 + ], + "positive": [ + "12", + 0 + ], + "negative": [ + "5", + 0 + ], + "latent_image": [ + "6", + 0 + ], + "seed": 102004, + "steps": 25, + "cfg": 1.0, + "sampler_name": "euler", + "scheduler": "simple", + "denoise": 1.0 + } + }, + "14": { + "class_type": "VAEDecode", + "inputs": { + "samples": [ + "13", + 0 + ], + "vae": [ + "3", + 0 + ] + } + }, + "15": { + "class_type": "SaveImage", + "inputs": { + "images": [ + "14", + 0 + ], + "filename_prefix": "m103_clean_r2_4_pulid085_redux05" + } + }, + "16": { + "class_type": "StyleModelLoader", + "inputs": { + "style_model_name": "flux1-redux-dev.safetensors" + } + }, + "17": { + "class_type": "CLIPVisionLoader", + "inputs": { + "clip_name": "sigclip_vision_patch14_384.safetensors" + } + }, + "18": { + "class_type": "CLIPVisionEncode", + "inputs": { + "clip_vision": [ + "17", + 0 + ], + "image": [ + "10", + 0 + ], + "crop": "center" + } + }, + "19": { + "class_type": "StyleModelApply", + "inputs": { + "conditioning": [ + "4", + 0 + ], + "style_model": [ + "16", + 0 + ], + "clip_vision_output": [ + "18", + 0 + ], + "strength": 0.5, + "strength_type": "multiply" + } + } +} \ No newline at end of file diff --git a/eval/meeting-103-v2.1-clean-grid.html b/eval/meeting-103-v2.1-clean-grid.html index 3380894..0354880 100644 --- a/eval/meeting-103-v2.1-clean-grid.html +++ b/eval/meeting-103-v2.1-clean-grid.html @@ -1,6 +1,6 @@ -meeting-103 v2.1 clean — R1 grid +meeting-103 v2.1 clean — R1+R2 grid -

meeting-103 v2.1 clean — R1 그리드

-

captured_at=2026-05-19T23:14:08 · track=meeting-103-v2.1-clean

+

meeting-103 v2.1 clean — R1+R2 그리드

+

전체 10 조합 (10 성공)

- R1 결과: 성공 5 / 에러 0 / 기타 0
- R1 best pastel: 1-4 (PuLID 0.7 + Redux 0.5) = 48.5%
- 비고: R1 clean — 1-1 first-pass success, 1-2~1-5 retry after ComfyUI restart + 전체 best pastel: R2-2-4 PuLID 0.85 + Redux 0.5 = 49.99%
+ R9 legacy best: 44.5% / R1 best: 48.5% (1-4 PuLID+Redux 0.5) / R2 best: 49.99% (2-4 PuLID 0.85+Redux 0.5)
+ ⚠ vision 검수 대기 (별이≥8 / 한자≥4.5 / 한옥≥4.5) — auto 지표는 proxy
1-1
-
조합 1-1: prompt=A / PuLID weight 0.85 mean (first try)
+
R1-1-1: A — PuLID weight 0.85 mean (first try)
models=flux-dev, pulid-flux, size=768×1344
자동 평가:
pastel=25.65% / black=1.95%
clean
@@ -43,16 +43,16 @@ h1 { margin: 0 0 8px; font-size: 22px; }
1-2
-
조합 1-2: prompt=A / PuLID weight 0.85 mean delayed_start 0.05 (concat-replacement)
+
R1-1-2: A — PuLID weight 0.85 mean delayed_start 0.05 (concat-replacement)
models=flux-dev, pulid-flux, size=768×1344
자동 평가:
pastel=9.99% / black=13.98%
-
black-suspiciouspastel-low
+
black-suspiciouspastel-low
1-3
-
조합 1-3: prompt=A / PuLID weight 1.0 mean
+
R1-1-3: A — PuLID weight 1.0 mean
models=flux-dev, pulid-flux, size=768×1344
자동 평가:
pastel=27.51% / black=0.79%
clean
@@ -61,7 +61,7 @@ h1 { margin: 0 0 8px; font-size: 22px; }
1-4
-
조합 1-4: prompt=A / PuLID 0.7 + Redux 0.5
+
R1-1-4: A — PuLID 0.7 + Redux 0.5
models=flux-dev, pulid-flux, flux-redux, size=768×1344
자동 평가:
pastel=48.5% / black=0.27%
clean
@@ -70,10 +70,55 @@ h1 { margin: 0 0 8px; font-size: 22px; }
1-5
-
조합 1-5: prompt=B / Hanok baseline Flux Dev 768²
+
R1-1-5: B — Hanok baseline Flux Dev 768²
models=flux-dev, size=768×1344
자동 평가:
pastel=12.87% / black=11.67%
-
black-suspicious
+
black-suspicious
+
+
+
+ 2-1 +
+
R2-2-1: A — PuLID 0.7 + Redux 0.5 + Stage 3 Refiner (denoise 0.3)
+
models=flux-dev, pulid-flux, flux-redux, flux-dev-refiner, size=768×1344
+
자동 평가:
pastel=48.82% / black=0.34%
+
clean
+
+
+
+ 2-2 +
+
R2-2-2: A — PuLID 0.7 + Redux 0.7
+
models=flux-dev, pulid-flux, flux-redux, size=768×1344
+
자동 평가:
pastel=48.93% / black=0.46%
+
clean
+
+
+
+ 2-3 +
+
R2-2-3: A — PuLID 0.7 + Redux 0.3
+
models=flux-dev, pulid-flux, flux-redux, size=768×1344
+
자동 평가:
pastel=38.52% / black=0.48%
+
clean
+
+
+
+ 2-4 +
+
R2-2-4: A — PuLID 0.85 + Redux 0.5
+
models=flux-dev, pulid-flux, flux-redux, size=768×1344
+
자동 평가:
pastel=49.99% / black=0.18%
+
clean
+
+
+
+ 2-5 +
+
R2-2-5: B — Hanok spring variant (cherry blossom)
+
models=flux-dev, size=768×1344
+
자동 평가:
pastel=44.45% / black=4.3%
+
clean
diff --git a/results/meeting-103-v2.1-clean/round2/2-1.png b/results/meeting-103-v2.1-clean/round2/2-1.png new file mode 100644 index 0000000..0de09bc Binary files /dev/null and b/results/meeting-103-v2.1-clean/round2/2-1.png differ diff --git a/results/meeting-103-v2.1-clean/round2/2-1_thumb.png b/results/meeting-103-v2.1-clean/round2/2-1_thumb.png new file mode 100644 index 0000000..d0e393b Binary files /dev/null and b/results/meeting-103-v2.1-clean/round2/2-1_thumb.png differ diff --git a/results/meeting-103-v2.1-clean/round2/2-2.png b/results/meeting-103-v2.1-clean/round2/2-2.png new file mode 100644 index 0000000..49cfc61 Binary files /dev/null and b/results/meeting-103-v2.1-clean/round2/2-2.png differ diff --git a/results/meeting-103-v2.1-clean/round2/2-2_thumb.png b/results/meeting-103-v2.1-clean/round2/2-2_thumb.png new file mode 100644 index 0000000..dbf8cf9 Binary files /dev/null and b/results/meeting-103-v2.1-clean/round2/2-2_thumb.png differ diff --git a/results/meeting-103-v2.1-clean/round2/2-3.png b/results/meeting-103-v2.1-clean/round2/2-3.png new file mode 100644 index 0000000..cbc90d2 Binary files /dev/null and b/results/meeting-103-v2.1-clean/round2/2-3.png differ diff --git a/results/meeting-103-v2.1-clean/round2/2-3_thumb.png b/results/meeting-103-v2.1-clean/round2/2-3_thumb.png new file mode 100644 index 0000000..cb74ca9 Binary files /dev/null and b/results/meeting-103-v2.1-clean/round2/2-3_thumb.png differ diff --git a/results/meeting-103-v2.1-clean/round2/2-4.png b/results/meeting-103-v2.1-clean/round2/2-4.png new file mode 100644 index 0000000..c4ff24f Binary files /dev/null and b/results/meeting-103-v2.1-clean/round2/2-4.png differ diff --git a/results/meeting-103-v2.1-clean/round2/2-4_thumb.png b/results/meeting-103-v2.1-clean/round2/2-4_thumb.png new file mode 100644 index 0000000..f007710 Binary files /dev/null and b/results/meeting-103-v2.1-clean/round2/2-4_thumb.png differ diff --git a/results/meeting-103-v2.1-clean/round2/2-5.png b/results/meeting-103-v2.1-clean/round2/2-5.png new file mode 100644 index 0000000..9a019b8 Binary files /dev/null and b/results/meeting-103-v2.1-clean/round2/2-5.png differ diff --git a/results/meeting-103-v2.1-clean/round2/2-5_thumb.png b/results/meeting-103-v2.1-clean/round2/2-5_thumb.png new file mode 100644 index 0000000..7663f11 Binary files /dev/null and b/results/meeting-103-v2.1-clean/round2/2-5_thumb.png differ diff --git a/results/meeting-103-v2.1-clean/round2/meta.json b/results/meeting-103-v2.1-clean/round2/meta.json new file mode 100644 index 0000000..37534a9 --- /dev/null +++ b/results/meeting-103-v2.1-clean/round2/meta.json @@ -0,0 +1,126 @@ +{ + "round": 2, + "captured_at": "2026-05-19T23:35:02", + "track": "meeting-103-v2.1-clean", + "note": "R2 — Redux sweep + Stage 3 Refiner + hanok spring (full retry consolidated)", + "combos": [ + { + "id": "2-1", + "prompt_id": "a0fb9222-6ab0-42f2-ab0e-2a62bb57ebda", + "status": "success", + "prompt_set": "A", + "variant": "PuLID 0.7 + Redux 0.5 + Stage 3 Refiner (denoise 0.3)", + "models_used": [ + "flux-dev", + "pulid-flux", + "flux-redux", + "flux-dev-refiner" + ], + "flags": [], + "size_bytes": 1048990, + "thumb_size_kb": 366, + "width": 768, + "height": 1344, + "aspect": 0.5714, + "black_pct": 0.34, + "pastel_pct": 48.82, + "filename_local": "2-1.png", + "thumb_local": "2-1_thumb.png" + }, + { + "id": "2-2", + "prompt_id": "ae49bbf9-b83c-4f76-9b49-236fbf3e3f34", + "status": "success", + "prompt_set": "A", + "variant": "PuLID 0.7 + Redux 0.7", + "models_used": [ + "flux-dev", + "pulid-flux", + "flux-redux" + ], + "flags": [], + "size_bytes": 1031872, + "thumb_size_kb": 362, + "width": 768, + "height": 1344, + "aspect": 0.5714, + "black_pct": 0.46, + "pastel_pct": 48.93, + "filename_local": "2-2.png", + "thumb_local": "2-2_thumb.png" + }, + { + "id": "2-3", + "prompt_id": "1ba8e879-c3d5-4d79-9e20-145923706746", + "status": "success", + "prompt_set": "A", + "variant": "PuLID 0.7 + Redux 0.3", + "models_used": [ + "flux-dev", + "pulid-flux", + "flux-redux" + ], + "size_bytes": 1013544, + "thumb_size_kb": 347, + "width": 768, + "height": 1344, + "aspect": 0.5714, + "black_pct": 0.48, + "pastel_pct": 38.52, + "filename_local": "2-3.png", + "thumb_local": "2-3_thumb.png", + "flags": [] + }, + { + "id": "2-4", + "prompt_id": "307a9f5a-0dcd-4efc-9036-0f07755b7f5d", + "status": "success", + "prompt_set": "A", + "variant": "PuLID 0.85 + Redux 0.5", + "models_used": [ + "flux-dev", + "pulid-flux", + "flux-redux" + ], + "size_bytes": 1019981, + "thumb_size_kb": 351, + "width": 768, + "height": 1344, + "aspect": 0.5714, + "black_pct": 0.18, + "pastel_pct": 49.99, + "filename_local": "2-4.png", + "thumb_local": "2-4_thumb.png", + "flags": [] + }, + { + "id": "2-5", + "prompt_id": "cd181f5f-098e-461f-a16b-a9dae2b33e28", + "status": "success", + "prompt_set": "B", + "variant": "Hanok spring variant (cherry blossom)", + "models_used": [ + "flux-dev" + ], + "size_bytes": 1635127, + "thumb_size_kb": 489, + "width": 768, + "height": 1344, + "aspect": 0.5714, + "black_pct": 4.3, + "pastel_pct": 44.45, + "filename_local": "2-5.png", + "thumb_local": "2-5_thumb.png", + "flags": [] + } + ], + "learning": { + "passed_count": 5, + "failed_count": 0, + "best_pastel_id": "2-4", + "best_pastel_pct": 49.99, + "best_variant": "PuLID 0.85 + Redux 0.5", + "r1_clean_best": 48.5, + "next_round_hint": "R3: Qwen-Image fp8 60갑자 + PuLID 0.6/Redux 0.85 + Pony img2img alternative ID" + } +} \ No newline at end of file