diff --git a/benchmarks/flux2klein/README.md b/benchmarks/flux2klein/README.md index 315c9a3..f5a75e4 100644 --- a/benchmarks/flux2klein/README.md +++ b/benchmarks/flux2klein/README.md @@ -40,3 +40,4 @@ Do not call a workflow fully optimal from one benchmark image. Use these batches ## Latest review - 2026-08-21 overnight single-image smoke: clean full-body studio restage on a pure white background, with good identity retention and a tidy silhouette. Treat it as the current benchmark winner for now, but keep one more smoke test queued before any stronger promotion. +- 2026-08-22 overnight single-image smoke: another clean white-background restage with the same lane still looking solid; keep the new output in `runs/2026-08-22T02-04-08-861Z-single-smoke/` for the 6am review. diff --git a/benchmarks/flux2klein/overnight-state.json b/benchmarks/flux2klein/overnight-state.json index 13cfd05..bc9471f 100644 --- a/benchmarks/flux2klein/overnight-state.json +++ b/benchmarks/flux2klein/overnight-state.json @@ -1,17 +1,19 @@ { - "date": "2026-08-21T02:03:28.943Z", "testsSet": true, "serverBusy": false, "reason": "Overnight flux2klein smoke test submitted successfully.", "cases": [ { "workflow": "models/flux2klein/image-edit-9b-distilled/workflow.json", - "input": "benchmarks/flux2klein/runs/2026-08-21T02-03-28-751Z-single-smoke/cases/case01/input-1.jpg", - "output": "benchmarks/flux2klein/runs/2026-08-21T02-03-28-751Z-single-smoke/cases/case01/01-flux2klein-overnight-smoke_00001_.png", - "runRecord": "benchmarks/flux2klein/runs/2026-08-21T02-03-28-751Z-single-smoke/cases/case01/run-record.json", - "resolvedPrompt": "benchmarks/flux2klein/runs/2026-08-21T02-03-28-751Z-single-smoke/cases/case01/resolved-prompt.json", - "promptId": "cb7c62c8-c02c-4cfc-9999-18c7ee4b63ca", + "input": "benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/input-1.jpg", + "output": "benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/01-flux2klein-overnight-smoke_00002_.png", + "runRecord": "benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/run-record.json", + "resolvedPrompt": "benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/resolved-prompt.json", + "promptId": "8a4650e9-e0e1-4984-a548-b01ce959f25e", "status": "success", + "optimizedPaths": [ + "optimized/notes/minimax.md" + ], "overrides": { "steps": 4, "cfg": 1, @@ -21,10 +23,11 @@ } } ], + "reviewPending": true, + "verdict": null, + "date": "2026-08-22T02:05:12.171Z", "optimizedPaths": [ - "optimized/image-edit/flux2klein-9b-fp8-edit-master" + "optimized/notes/minimax.md" ], - "reviewedAt": "2026-08-21T05:00:00Z", - "reviewPending": false, - "verdict": "promising; clean identity retention and white background; keep as benchmark winner and queue one more smoke test" + "reviewedAt": "2026-08-21T05:00:00Z" } diff --git a/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/01-flux2klein-overnight-smoke_00002_.png b/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/01-flux2klein-overnight-smoke_00002_.png new file mode 100644 index 0000000..ac495bc Binary files /dev/null and b/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/01-flux2klein-overnight-smoke_00002_.png differ diff --git a/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/history.json b/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/history.json new file mode 100644 index 0000000..41a6f55 --- /dev/null +++ b/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/history.json @@ -0,0 +1,319 @@ +{ + "prompt": [ + 7, + "8a4650e9-e0e1-4984-a548-b01ce959f25e", + { + "61": { + "class_type": "KSamplerSelect", + "inputs": { + "sampler_name": "euler" + }, + "_meta": { + "title": "KSamplerSelect" + } + }, + "62": { + "class_type": "Flux2Scheduler", + "inputs": { + "steps": 4, + "width": 1536, + "height": 864 + }, + "_meta": { + "title": "Flux2Scheduler" + } + }, + "63": { + "class_type": "CFGGuider", + "inputs": { + "model": [ + "70", + 0 + ], + "positive": [ + "125", + 0 + ], + "negative": [ + "123", + 0 + ], + "cfg": 1 + }, + "_meta": { + "title": "CFGGuider" + } + }, + "64": { + "class_type": "SamplerCustomAdvanced", + "inputs": { + "noise": [ + "73", + 0 + ], + "guider": [ + "63", + 0 + ], + "sampler": [ + "61", + 0 + ], + "sigmas": [ + "62", + 0 + ], + "latent_image": [ + "66", + 0 + ] + }, + "_meta": { + "title": "SamplerCustomAdvanced" + } + }, + "65": { + "class_type": "VAEDecode", + "inputs": { + "samples": [ + "64", + 0 + ], + "vae": [ + "72", + 0 + ] + }, + "_meta": { + "title": "VAEDecode" + } + }, + "66": { + "class_type": "EmptyFlux2LatentImage", + "inputs": { + "width": 1536, + "height": 864, + "batch_size": 1 + }, + "_meta": { + "title": "EmptyFlux2LatentImage" + } + }, + "70": { + "class_type": "UNETLoader", + "inputs": { + "unet_name": "flux-2-klein-9b-fp8mixed.safetensors", + "weight_dtype": "default" + }, + "_meta": { + "title": "UNETLoader" + } + }, + "71": { + "class_type": "CLIPLoader", + "inputs": { + "clip_name": "qwen_3_8b_fp8mixed.safetensors", + "type": "flux2", + "device": "default" + }, + "_meta": { + "title": "CLIPLoader" + } + }, + "72": { + "class_type": "VAELoader", + "inputs": { + "vae_name": "full_encoder_small_decoder.safetensors" + }, + "_meta": { + "title": "VAELoader" + } + }, + "73": { + "class_type": "RandomNoise", + "inputs": { + "noise_seed": 26416064315367 + }, + "_meta": { + "title": "RandomNoise" + } + }, + "74": { + "class_type": "CLIPTextEncode", + "inputs": { + "text": "Restage the exact same woman as a clean full-body studio reference photo on a pure white seamless background. Face the camera directly in a neutral standing pose. Preserve identical facial features, platinum blonde hair, skin tone, gold corset dress, black thigh-high boots, proportions, and age. Even soft studio lighting, no props, no street, no buildings, no text.", + "clip": [ + "71", + 0 + ] + }, + "_meta": { + "title": "CLIP Text Encode (Positive Prompt)" + } + }, + "80": { + "class_type": "ImageScaleToTotalPixels", + "inputs": { + "image": [ + "900000", + 0 + ], + "upscale_method": "nearest-exact", + "megapixels": 1, + "resolution_steps": 1 + }, + "_meta": { + "title": "ImageScaleToTotalPixels" + } + }, + "82": { + "class_type": "ConditioningZeroOut", + "inputs": { + "conditioning": [ + "74", + 0 + ] + }, + "_meta": { + "title": "ConditioningZeroOut" + } + }, + "99": { + "class_type": "GetImageSize", + "inputs": { + "image": [ + "80", + 0 + ] + }, + "_meta": { + "title": "GetImageSize" + } + }, + "123": { + "class_type": "ReferenceLatent", + "inputs": { + "conditioning": [ + "82", + 0 + ], + "latent": [ + "124", + 0 + ] + }, + "_meta": { + "title": "ReferenceLatent" + } + }, + "124": { + "class_type": "VAEEncode", + "inputs": { + "pixels": [ + "80", + 0 + ], + "vae": [ + "72", + 0 + ] + }, + "_meta": { + "title": "VAEEncode" + } + }, + "125": { + "class_type": "ReferenceLatent", + "inputs": { + "conditioning": [ + "74", + 0 + ], + "latent": [ + "124", + 0 + ] + }, + "_meta": { + "title": "ReferenceLatent" + } + }, + "900000": { + "class_type": "LoadImage", + "inputs": { + "image": "2026-08-13-pinup-ref.jpg" + }, + "_meta": { + "title": "Load Image (image)" + } + }, + "901000": { + "class_type": "SaveImage", + "inputs": { + "images": [ + "65", + 0 + ], + "filename_prefix": "flux2klein-overnight-smoke" + }, + "_meta": { + "title": "Save Image" + } + } + }, + { + "client_id": "063dfda6-d3b1-41ba-85b4-71a4939a7e85", + "create_time": 1787364247475 + }, + [ + "901000" + ] + ], + "outputs": { + "901000": { + "images": [ + { + "filename": "flux2klein-overnight-smoke_00002_.png", + "subfolder": "", + "type": "output" + } + ] + } + }, + "status": { + "status_str": "success", + "completed": true, + "messages": [ + [ + "execution_start", + { + "prompt_id": "8a4650e9-e0e1-4984-a548-b01ce959f25e", + "timestamp": 1787364247476 + } + ], + [ + "execution_cached", + { + "nodes": [], + "prompt_id": "8a4650e9-e0e1-4984-a548-b01ce959f25e", + "timestamp": 1787364247526 + } + ], + [ + "execution_success", + { + "prompt_id": "8a4650e9-e0e1-4984-a548-b01ce959f25e", + "timestamp": 1787364308777 + } + ] + ] + }, + "meta": { + "901000": { + "node_id": "901000", + "display_node": "901000", + "parent_node": null, + "real_node_id": "901000" + } + } +} \ No newline at end of file diff --git a/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/input-1.jpg b/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/input-1.jpg new file mode 100644 index 0000000..b5a5fca Binary files /dev/null and b/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/input-1.jpg differ diff --git a/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/resolved-prompt.json b/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/resolved-prompt.json new file mode 100644 index 0000000..69cfc8e --- /dev/null +++ b/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/resolved-prompt.json @@ -0,0 +1,259 @@ +{ + "61": { + "class_type": "KSamplerSelect", + "inputs": { + "sampler_name": "euler" + }, + "_meta": { + "title": "KSamplerSelect" + } + }, + "62": { + "class_type": "Flux2Scheduler", + "inputs": { + "steps": 4, + "width": 1536, + "height": 864 + }, + "_meta": { + "title": "Flux2Scheduler" + } + }, + "63": { + "class_type": "CFGGuider", + "inputs": { + "model": [ + "70", + 0 + ], + "positive": [ + "125", + 0 + ], + "negative": [ + "123", + 0 + ], + "cfg": 1 + }, + "_meta": { + "title": "CFGGuider" + } + }, + "64": { + "class_type": "SamplerCustomAdvanced", + "inputs": { + "noise": [ + "73", + 0 + ], + "guider": [ + "63", + 0 + ], + "sampler": [ + "61", + 0 + ], + "sigmas": [ + "62", + 0 + ], + "latent_image": [ + "66", + 0 + ] + }, + "_meta": { + "title": "SamplerCustomAdvanced" + } + }, + "65": { + "class_type": "VAEDecode", + "inputs": { + "samples": [ + "64", + 0 + ], + "vae": [ + "72", + 0 + ] + }, + "_meta": { + "title": "VAEDecode" + } + }, + "66": { + "class_type": "EmptyFlux2LatentImage", + "inputs": { + "width": 1536, + "height": 864, + "batch_size": 1 + }, + "_meta": { + "title": "EmptyFlux2LatentImage" + } + }, + "70": { + "class_type": "UNETLoader", + "inputs": { + "unet_name": "flux-2-klein-9b-fp8mixed.safetensors", + "weight_dtype": "default" + }, + "_meta": { + "title": "UNETLoader" + } + }, + "71": { + "class_type": "CLIPLoader", + "inputs": { + "clip_name": "qwen_3_8b_fp8mixed.safetensors", + "type": "flux2", + "device": "default" + }, + "_meta": { + "title": "CLIPLoader" + } + }, + "72": { + "class_type": "VAELoader", + "inputs": { + "vae_name": "full_encoder_small_decoder.safetensors" + }, + "_meta": { + "title": "VAELoader" + } + }, + "73": { + "class_type": "RandomNoise", + "inputs": { + "noise_seed": 26416064315367 + }, + "_meta": { + "title": "RandomNoise" + } + }, + "74": { + "class_type": "CLIPTextEncode", + "inputs": { + "text": "Restage the exact same woman as a clean full-body studio reference photo on a pure white seamless background. Face the camera directly in a neutral standing pose. Preserve identical facial features, platinum blonde hair, skin tone, gold corset dress, black thigh-high boots, proportions, and age. Even soft studio lighting, no props, no street, no buildings, no text.", + "clip": [ + "71", + 0 + ] + }, + "_meta": { + "title": "CLIP Text Encode (Positive Prompt)" + } + }, + "80": { + "class_type": "ImageScaleToTotalPixels", + "inputs": { + "image": [ + "900000", + 0 + ], + "upscale_method": "nearest-exact", + "megapixels": 1, + "resolution_steps": 1 + }, + "_meta": { + "title": "ImageScaleToTotalPixels" + } + }, + "82": { + "class_type": "ConditioningZeroOut", + "inputs": { + "conditioning": [ + "74", + 0 + ] + }, + "_meta": { + "title": "ConditioningZeroOut" + } + }, + "99": { + "class_type": "GetImageSize", + "inputs": { + "image": [ + "80", + 0 + ] + }, + "_meta": { + "title": "GetImageSize" + } + }, + "123": { + "class_type": "ReferenceLatent", + "inputs": { + "conditioning": [ + "82", + 0 + ], + "latent": [ + "124", + 0 + ] + }, + "_meta": { + "title": "ReferenceLatent" + } + }, + "124": { + "class_type": "VAEEncode", + "inputs": { + "pixels": [ + "80", + 0 + ], + "vae": [ + "72", + 0 + ] + }, + "_meta": { + "title": "VAEEncode" + } + }, + "125": { + "class_type": "ReferenceLatent", + "inputs": { + "conditioning": [ + "74", + 0 + ], + "latent": [ + "124", + 0 + ] + }, + "_meta": { + "title": "ReferenceLatent" + } + }, + "900000": { + "class_type": "LoadImage", + "inputs": { + "image": "2026-08-13-pinup-ref.jpg" + }, + "_meta": { + "title": "Load Image (image)" + } + }, + "901000": { + "class_type": "SaveImage", + "inputs": { + "images": [ + "65", + 0 + ], + "filename_prefix": "flux2klein-overnight-smoke" + }, + "_meta": { + "title": "Save Image" + } + } +} \ No newline at end of file diff --git a/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/run-record.json b/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/run-record.json new file mode 100644 index 0000000..5600709 --- /dev/null +++ b/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/run-record.json @@ -0,0 +1,63 @@ +{ + "workflowPath": "/home/node/.openclaw/workspace/work/comfyui-workflows/models/flux2klein/image-edit-9b-distilled/workflow.json", + "server": "http://192.168.1.202:8188", + "promptId": "8a4650e9-e0e1-4984-a548-b01ce959f25e", + "submittedAt": "2026-08-22T02:04:09.061Z", + "topNodeId": 75, + "subgraphId": "7b34ab90-36f9-45ba-a665-71d418f0df18", + "target": "single", + "uploadedImages": { + "image": "2026-08-13-pinup-ref.jpg", + "image2": null + }, + "overrides": { + "prompt": "Restage the exact same woman as a clean full-body studio reference photo on a pure white seamless background. Face the camera directly in a neutral standing pose. Preserve identical facial features, platinum blonde hair, skin tone, gold corset dress, black thigh-high boots, proportions, and age. Even soft studio lighting, no props, no street, no buildings, no text.", + "negative": null, + "seed": null, + "steps": 4, + "cfg": 1, + "sampler": null, + "width": 1536, + "height": 864, + "prefix": "flux2klein-overnight-smoke" + }, + "outputDir": "/home/node/.openclaw/workspace/work/comfyui-workflows/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01", + "imageCount": 1, + "images": [ + { + "nodeId": "901000", + "filename": "flux2klein-overnight-smoke_00002_.png", + "subfolder": "", + "type": "output", + "localPath": "/home/node/.openclaw/workspace/work/comfyui-workflows/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/01-flux2klein-overnight-smoke_00002_.png" + } + ], + "status": { + "status_str": "success", + "completed": true, + "messages": [ + [ + "execution_start", + { + "prompt_id": "8a4650e9-e0e1-4984-a548-b01ce959f25e", + "timestamp": 1787364247476 + } + ], + [ + "execution_cached", + { + "nodes": [], + "prompt_id": "8a4650e9-e0e1-4984-a548-b01ce959f25e", + "timestamp": 1787364247526 + } + ], + [ + "execution_success", + { + "prompt_id": "8a4650e9-e0e1-4984-a548-b01ce959f25e", + "timestamp": 1787364308777 + } + ] + ] + } +} \ No newline at end of file diff --git a/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/manifest.json b/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/manifest.json new file mode 100644 index 0000000..1d72df8 --- /dev/null +++ b/benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/manifest.json @@ -0,0 +1,19 @@ +{ + "workflow": "models/flux2klein/image-edit-9b-distilled/workflow.json", + "input": "benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/input-1.jpg", + "output": "benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/01-flux2klein-overnight-smoke_00002_.png", + "runRecord": "benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/run-record.json", + "resolvedPrompt": "benchmarks/flux2klein/runs/2026-08-22T02-04-08-861Z-single-smoke/cases/case01/resolved-prompt.json", + "promptId": "8a4650e9-e0e1-4984-a548-b01ce959f25e", + "status": "success", + "optimizedPaths": [ + "optimized/notes/minimax.md" + ], + "overrides": { + "steps": 4, + "cfg": 1, + "width": 1536, + "height": 864, + "prefix": "flux2klein-overnight-smoke" + } +} diff --git a/optimized/notes/minimax.md b/optimized/notes/minimax.md index 7265afd..c1162a2 100644 --- a/optimized/notes/minimax.md +++ b/optimized/notes/minimax.md @@ -41,6 +41,7 @@ ## Ref2VA prompt guidance - For `MiniMax H3 Ref2VA`, treat `480p` and `10s` as the safe planning baseline on `8GB VRAM` unless direct tests prove otherwise. +- In the maintained `best-current-r2v-master`, keep `Picture 1` as the master scene / environment reference and `Picture 2` as the primary full-body identity reference. - Use one master-scene reference to control environment/composition, one primary full-body reference per subject to control overall appearance, and headshots only to reinforce facial identity. - Explicitly state when multiple images represent the same subject, and explicitly tell the model to ignore character-reference backgrounds so they do not fight the master environment. - Use the prompt mainly for action, performance, camera movement, dialogue, and audio rather than re-describing scene details already visible in the references.