#!/bin/bash # Quick 512x512 benchmark: 4 steps, CFG 1.0 COMFY="http://localhost:8188" WORKFLOW='{ "1": {"class_type": "CLIPLoaderGGUF", "inputs": {"clip_name": "Qwen_3_4b-Q8_0.gguf", "type": "lumina2"}}, "2": {"class_type": "CLIPTextEncode", "inputs": {"text": "A hyper-realistic spider eating a fly, macro shot, 8K", "clip": ["1", 0]}}, "3": {"class_type": "CLIPTextEncode", "inputs": {"text": "blurry, low quality", "clip": ["1", 0]}}, "4": {"class_type": "UnetLoaderGGUF", "inputs": {"unet_name": "z_image_turbo-Q5_K_S.gguf"}}, "5": {"class_type": "EmptyLatentImage", "inputs": {"width": 512, "height": 512, "batch_size": 1}}, "6": {"class_type": "KSampler", "inputs": { "seed": 42, "steps": 4, "cfg": 1.0, "sampler_name": "euler", "scheduler": "normal", "denoise": 1.0, "model": ["4", 0], "positive": ["2", 0], "negative": ["3", 0], "latent_image": ["5", 0] }}, "7": {"class_type": "VAELoader", "inputs": {"vae_name": "ae.safetensors"}}, "8": {"class_type": "VAEDecode", "inputs": {"samples": ["6", 0], "vae": ["7", 0]}}, "9": {"class_type": "SaveImage", "inputs": {"filename_prefix": "bench_512_4step", "images": ["8", 0]}} }' echo "Submitting 512x512 @ 4 steps, CFG 1.0..." RESP=$(curl -s -X POST "$COMFY/api/prompt" \ -H "Content-Type: application/json" \ -d "{\"prompt\": $WORKFLOW}") echo "$RESP" | python3 -c "import sys,json; print('Prompt ID:', json.load(sys.stdin).get('prompt_id','FAIL'))" 2>/dev/null