{"id": "c9f1a6b3-2e7d-4c5a-8b4f-gmanski-mosst2i", "revision": 0, "last_node_id": 14, "last_link_id": 14, "nodes": [{"id": 1, "type": "MarkdownNote", "pos": [-1600, -420], "size": [560, 820], "flags": {}, "order": 0, "mode": 0, "inputs": [], "outputs": [], "properties": {"Node name for S&R": "MarkdownNote"}, "widgets_values": ["## Gmanski MOSS\n\n**MOSS-Image, the open model that topped Civitai this month - Apache 2.0, text that reads right, 2K output.** 5B parameters with a Qwen3.5-9B text encoder: long, literal prompts work, and so do booru tags and JSON layouts (see **Gmanski MOSS (Layout)**).\n\n### Run it\n1. Edit the **positive** prompt. Keep the **negative** as a quality guard (CFG 2.5 means it matters here, unlike Krea 2 at CFG 1).\n2. Pick an aspect ratio on **Resolution** (1 MP default; MOSS renders 512 px-2K).\n3. Queue. Result: `output/Gmanski/moss_00001.png`.\n\n### Faster\n`gmanski-packs install moss-turbo`, then set the **8-step DMD2 LoRA** node to Mode -> Always and change the sampler to **8 steps, CFG 1.0**. The creator's recommended distill; also works at 4 steps.\n\n### Character LoRAs\nMOSS LoRAs train with ai-toolkit on the **Base** checkpoint (`gmanski-packs install moss --with-optional`); Krea 2 settings do not transfer (LoKr rank 4, sigmoid timesteps for likeness). Drop the file into the bypassed **Character LoRA** slot. Krea 2 / Flux / H3 LoRAs do not load here.\n\n### Notes\n- Settings are ComfyUI's official recipe: 25 steps, CFG 2.5, er_sde / simple, skip-layer guidance on block 22 for the first half.\n- Realism finetunes: `gmanski-packs install moss-realism` (Realism by Stable Yogi Moss, Moody Moss Mix) and swap the checkpoint; Moody wants CFG 3.\n- ComfyUI 0.42+.\n\n### Models\n`gmanski-packs install moss` (~15 GB).\n"], "title": "Read me: Gmanski MOSS", "color": "#432", "bgcolor": "#653"}, {"id": 2, "type": "UNETLoader", "pos": [500, 700], "size": [440, 90], "flags": {}, "order": 1, "mode": 0, "inputs": [{"name": "unet_name", "type": "COMBO", "link": null, "widget": {"name": "unet_name"}}, {"name": "weight_dtype", "type": "COMBO", "link": null, "widget": {"name": "weight_dtype"}}], "outputs": [{"name": "MODEL", "type": "MODEL", "links": [1]}], "properties": {"Node name for S&R": "UNETLoader", "models": [{"name": "moss_image_sft_int8_convrot.safetensors", "url": "https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/diffusion_models/moss_image_sft_int8_convrot.safetensors", "directory": "diffusion_models"}]}, "widgets_values": ["moss_image_sft_int8_convrot.safetensors", "default"], "title": "MOSS-Image SFT checkpoint"}, {"id": 3, "type": "LoraLoaderModelOnly", "pos": [500, 820], "size": [440, 90], "flags": {}, "order": 2, "mode": 4, "inputs": [{"name": "model", "type": "MODEL", "link": 1}, {"name": "lora_name", "type": "COMBO", "link": null, "widget": {"name": "lora_name"}}, {"name": "strength_model", "type": "FLOAT", "link": null, "widget": {"name": "strength_model"}}], "outputs": [{"name": "MODEL", "type": "MODEL", "links": [2]}], "properties": {"Node name for S&R": "LoraLoaderModelOnly"}, "widgets_values": ["lodestones-8-steps-dmd2-lora.safetensors", 1.0], "title": "8-step DMD2 turbo LoRA - bypassed (enable + 8 steps / CFG 1)"}, {"id": 4, "type": "LoraLoaderModelOnly", "pos": [500, 930], "size": [440, 90], "flags": {}, "order": 3, "mode": 4, "inputs": [{"name": "model", "type": "MODEL", "link": 2}, {"name": "lora_name", "type": "COMBO", "link": null, "widget": {"name": "lora_name"}}, {"name": "strength_model", "type": "FLOAT", "link": null, "widget": {"name": "strength_model"}}], "outputs": [{"name": "MODEL", "type": "MODEL", "links": [3]}], "properties": {"Node name for S&R": "LoraLoaderModelOnly"}, "widgets_values": ["None", 1.0], "title": "Character LoRA (MOSS-trained) - bypassed"}, {"id": 5, "type": "SkipLayerGuidanceDiTSimple", "pos": [500, 1040], "size": [350, 170], "flags": {}, "order": 4, "mode": 0, "inputs": [{"name": "model", "type": "MODEL", "link": 3}, {"name": "double_layers", "type": "STRING", "link": null, "widget": {"name": "double_layers"}}, {"name": "single_layers", "type": "STRING", "link": null, "widget": {"name": "single_layers"}}, {"name": "start_percent", "type": "FLOAT", "link": null, "widget": {"name": "start_percent"}}, {"name": "end_percent", "type": "FLOAT", "link": null, "widget": {"name": "end_percent"}}], "outputs": [{"name": "MODEL", "type": "MODEL", "links": [8]}], "properties": {"Node name for S&R": "SkipLayerGuidanceDiTSimple"}, "widgets_values": ["", "22", 0.0, 0.5], "title": "Skip-layer guidance (block 22, first half) - official recipe"}, {"id": 6, "type": "CLIPLoader", "pos": [500, 1240], "size": [440, 110], "flags": {}, "order": 5, "mode": 0, "inputs": [{"name": "clip_name", "type": "COMBO", "link": null, "widget": {"name": "clip_name"}}, {"name": "type", "type": "COMBO", "link": null, "widget": {"name": "type"}}, {"name": "device", "type": "COMBO", "link": null, "widget": {"name": "device"}}], "outputs": [{"name": "CLIP", "type": "CLIP", "links": [6, 7]}], "properties": {"Node name for S&R": "CLIPLoader", "models": [{"name": "qwen3.5_9b_int8_convrot.safetensors", "url": "https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/text_encoders/qwen3.5_9b_int8_convrot.safetensors", "directory": "text_encoders"}]}, "widgets_values": ["qwen3.5_9b_int8_convrot.safetensors", "moss_image", "default"], "title": "Qwen3.5-9B text encoder (moss_image)"}, {"id": 7, "type": "VAELoader", "pos": [500, 1380], "size": [440, 60], "flags": {}, "order": 6, "mode": 0, "inputs": [{"name": "vae_name", "type": "COMBO", "link": null, "widget": {"name": "vae_name"}}], "outputs": [{"name": "VAE", "type": "VAE", "links": [13]}], "properties": {"Node name for S&R": "VAELoader", "models": [{"name": "flux2-vae.safetensors", "url": "https://huggingface.co/Comfy-Org/flux2-dev/resolve/main/split_files/vae/flux2-vae.safetensors", "directory": "vae"}]}, "widgets_values": ["flux2-vae.safetensors"], "title": "FLUX.2 VAE"}, {"id": 8, "type": "CLIPTextEncode", "pos": [0, -420], "size": [480, 220], "flags": {}, "order": 7, "mode": 0, "inputs": [{"name": "clip", "type": "CLIP", "link": 6}, {"name": "text", "type": "STRING", "link": null, "widget": {"name": "text"}}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [9]}], "properties": {"Node name for S&R": "CLIPTextEncode"}, "widgets_values": ["Editorial studio photograph of a woman in a structured ivory wool coat against a seamless warm grey backdrop, single softbox from the left, natural skin texture with visible pores, soft shadow falling right, 85mm lens, no text, no logos."], "title": "Positive prompt"}, {"id": 9, "type": "ResolutionSelector", "pos": [-480, -100], "size": [300, 150], "flags": {}, "order": 8, "mode": 0, "inputs": [], "outputs": [{"name": "width", "type": "INT", "links": [4]}, {"name": "height", "type": "INT", "links": [5]}], "properties": {"Node name for S&R": "ResolutionSelector"}, "widgets_values": ["3:4 (Portrait Standard)", 1.0, 16], "title": "Resolution (1 MP default, up to 2K)"}, {"id": 10, "type": "EmptyFlux2LatentImage", "pos": [0, -100], "size": [300, 110], "flags": {}, "order": 9, "mode": 0, "inputs": [{"name": "width", "type": "INT", "link": 4, "widget": {"name": "width"}}, {"name": "height", "type": "INT", "link": 5, "widget": {"name": "height"}}, {"name": "batch_size", "type": "INT", "link": null, "widget": {"name": "batch_size"}}], "outputs": [{"name": "LATENT", "type": "LATENT", "links": [11]}], "properties": {"Node name for S&R": "EmptyFlux2LatentImage"}, "widgets_values": [1024, 1024, 1], "title": "Latent"}, {"id": 11, "type": "CLIPTextEncode", "pos": [0, -180], "size": [480, 120], "flags": {}, "order": 10, "mode": 0, "inputs": [{"name": "clip", "type": "CLIP", "link": 7}, {"name": "text", "type": "STRING", "link": null, "widget": {"name": "text"}}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [10]}], "properties": {"Node name for S&R": "CLIPTextEncode"}, "widgets_values": ["worst quality, bad anatomy, extra fingers, watermark, jpeg artifacts, misspelled text"], "title": "Negative prompt (quality guard)"}, {"id": 12, "type": "KSampler", "pos": [560, -420], "size": [360, 270], "flags": {}, "order": 11, "mode": 0, "inputs": [{"name": "model", "type": "MODEL", "link": 8}, {"name": "positive", "type": "CONDITIONING", "link": 9}, {"name": "negative", "type": "CONDITIONING", "link": 10}, {"name": "latent_image", "type": "LATENT", "link": 11}, {"name": "seed", "type": "INT", "link": null, "widget": {"name": "seed"}}, {"name": "steps", "type": "INT", "link": null, "widget": {"name": "steps"}}, {"name": "cfg", "type": "FLOAT", "link": null, "widget": {"name": "cfg"}}, {"name": "sampler_name", "type": "COMBO", "link": null, "widget": {"name": "sampler_name"}}, {"name": "scheduler", "type": "COMBO", "link": null, "widget": {"name": "scheduler"}}, {"name": "denoise", "type": "FLOAT", "link": null, "widget": {"name": "denoise"}}], "outputs": [{"name": "LATENT", "type": "LATENT", "links": [12]}], "properties": {"Node name for S&R": "KSampler"}, "widgets_values": [0, "randomize", 25, 2.5, "er_sde", "simple", 1.0], "title": "Sample (25 steps, CFG 2.5; turbo = 8 / 1.0)"}, {"id": 13, "type": "VAEDecode", "pos": [960, -420], "size": [300, 46], "flags": {}, "order": 12, "mode": 0, "inputs": [{"name": "samples", "type": "LATENT", "link": 12}, {"name": "vae", "type": "VAE", "link": 13}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [14]}], "properties": {"Node name for S&R": "VAEDecode"}, "widgets_values": [], "title": "Decode"}, {"id": 14, "type": "SaveImage", "pos": [1320, -420], "size": [400, 400], "flags": {}, "order": 13, "mode": 0, "inputs": [{"name": "images", "type": "IMAGE", "link": 14}, {"name": "filename_prefix", "type": "STRING", "link": null, "widget": {"name": "filename_prefix"}}], "outputs": [], "properties": {"Node name for S&R": "SaveImage"}, "widgets_values": ["Gmanski/moss"], "title": "Save"}], "links": [[1, 2, 0, 3, 0, "MODEL"], [2, 3, 0, 4, 0, "MODEL"], [3, 4, 0, 5, 0, "MODEL"], [4, 9, 0, 10, 0, "INT"], [5, 9, 1, 10, 1, "INT"], [6, 6, 0, 8, 0, "CLIP"], [7, 6, 0, 11, 0, "CLIP"], [8, 5, 0, 12, 0, "MODEL"], [9, 8, 0, 12, 1, "CONDITIONING"], [10, 11, 0, 12, 2, "CONDITIONING"], [11, 10, 0, 12, 3, "LATENT"], [12, 12, 0, 13, 0, "LATENT"], [13, 7, 0, 13, 1, "VAE"], [14, 13, 0, 14, 0, "IMAGE"]], "groups": [], "config": {}, "extra": {"ds": {"scale": 0.62, "offset": [1480, 420]}, "gmanski_template": "moss", "generator": "scripts/build_gmanski_moss_workflow.py", "source": "https://gmanski.com/workflows/moss"}, "version": 0.4}