{
  "_comment": "v2 site FINAL-quality graph — the game's painted-real-hq (AlbedoBase XL, dpmpp_2m/karras, cfg 6, 64 steps) plus a hires second pass: 2x latent upscale -> 64-step refine at denoise 0.5 -> tiled VAE decode (VRAM headroom while gemma4 squats 8.6GB). {width}/{height} are the BASE resolution; output lands at 2x (1216x832 -> 2432x1664, 'like 2048' as ruled). SDXL is 1024-native — direct 2048 generation doubles subjects; this is the correct path. Pixel mediums must NOT use this graph (nearest-neighbor upscale instead, in the mass-render script). ckpt swapped per world/medium via the harness ckpt= override. Site-local graph, never in the game repo.",
  "loader": {
    "class_type": "CheckpointLoaderSimple",
    "inputs": { "ckpt_name": "albedobaseXL_v21.safetensors" }
  },
  "positive": {
    "class_type": "CLIPTextEncode",
    "inputs": { "text": "{prompt}", "clip": ["loader", 1] }
  },
  "negative": {
    "class_type": "CLIPTextEncode",
    "inputs": { "text": "deformed, extra limbs, bad hands, mutated hands, bad anatomy, watermark, text, signature", "clip": ["loader", 1] }
  },
  "latent": {
    "class_type": "EmptyLatentImage",
    "inputs": { "width": "{width}", "height": "{height}", "batch_size": 1 }
  },
  "sample": {
    "class_type": "KSampler",
    "inputs": { "seed": "{seed}", "steps": 64, "cfg": 6.0, "sampler_name": "dpmpp_2m", "scheduler": "karras", "denoise": 1.0, "model": ["loader", 0], "positive": ["positive", 0], "negative": ["negative", 0], "latent_image": ["latent", 0] }
  },
  "upscale": {
    "class_type": "LatentUpscaleBy",
    "inputs": { "upscale_method": "nearest-exact", "scale_by": 2.0, "samples": ["sample", 0] }
  },
  "refine": {
    "class_type": "KSampler",
    "inputs": { "seed": "{seed}", "steps": 64, "cfg": 6.0, "sampler_name": "dpmpp_2m", "scheduler": "karras", "denoise": 0.5, "model": ["loader", 0], "positive": ["positive", 0], "negative": ["negative", 0], "latent_image": ["upscale", 0] }
  },
  "decode": {
    "class_type": "VAEDecodeTiled",
    "inputs": { "samples": ["refine", 0], "vae": ["loader", 2], "tile_size": 512, "overlap": 64, "temporal_size": 64, "temporal_overlap": 8 }
  },
  "save": {
    "class_type": "SaveImage",
    "inputs": { "images": ["decode", 0], "filename_prefix": "realkeep-v2-final" }
  }
}
