{
  "workflow_info": {
    "name": "Qwen-Image 2512 Text-to-Image",
    "description": "Qwen-Image 2512 (20B MMDiT, bf16) text-to-image, strong at typography and lettering, SFW only. Renders on the RunPod VIDEO endpoint and bills the video ledger while returning a still (heavy-image, A.02.05): the bf16 transformer alone is 40.86 GB and its Qwen2.5-VL 7B encoder 16.58 GB, which no 24-32 GB image card holds. Translated from Comfy-Org/workflow_templates@aaac56dd templates/image_qwen_Image_2512.json with its Enable 4 Steps LoRA switch off (the template's default): UNETLoader, CLIPLoader type qwen_image, VAELoader, ModelSamplingAuraFlow shift 3.1, KSampler euler/simple at 50 steps and CFG 4, the template's Chinese negative prompt, EmptySD3LatentImage at 1328x1328; the aspect options are the seven sizes the template's Aspect Ratios note lists. The template loads the fp8_e4m3fn transformer and fp8_scaled encoder; this catalog loads the bf16 files on the volume (D-V5). The Lightning 4-step LoRA the switch would add has no manifest row and is not offered.",
    "version": "1.0.0",
    "author": "Oshun Platform",
    "category": "heavy-image",
    "tags": [
      "heavy-image",
      "runpod-serverless",
      "volume-backed",
      "text-to-image",
      "typography",
      "qwen-image"
    ],
    "estimated_time_seconds": 373,
    "gpu_requirement": "H100"
  },
  "estimated_cost_usd": 0.6148,
  "cost_note": "MEASURED 2026-09-14 (A.05.02, RunPod job b94bedff-3461-4741-9aa5-aa9a9f1fdf27-e2): 373.3 s of execution at 0.001647 USD/s = 0.6148 USD; 1328x1328, 50 steps, CFG 4, including loading the 40.9 GB transformer and the 16.6 GB encoder on the worker; a warm render will be cheaper. Queue delay is not billed.",
  "content_policy": "sfw_only",
  "policy_note": "Qwen-Image 2512, the Qwen2.5-VL 7B encoder and the Qwen-Image VAE are Apache-2.0 (Comfy-Org/Qwen-Image_ComfyUI) with no acceptable-use clause, but the family is SFW only by the user's 2026-09-13 content-policy decision: Qwen-Image is weak at nudity by design, and no uncensored finetune is taken.",
  "proof_level": "rendered",
  "proof_note": "RENDERED on the live video endpoint 2026-09-14 (A.05.02, RunPod job b94bedff-3461-4741-9aa5-aa9a9f1fdf27-e2). Output sizes and sha256 are in docs/agents/isis-chroma-runpod-evidence.md section A.05.02; each output was checked beyond its status.",
  "inputs": {
    "prompt": {
      "type": "string",
      "required": true,
      "default": "Urban alleyway at dusk. Tall, statuesque high-fashion model striding elegantly, mid distant full body shot from an angular perspective, cinematic/editorial with bold contrasts and tactile materials. They wear a rose-gold metallic trench coat with deconstructed elements over a black long-sleeved turtleneck with subtle texture; paired with forest-green pleated pants with raw hems and a soft texture. Long braided dark hair, medium complexion. They carry a vibrant yellow designer handbag with geometric details and a structured silhouette. White architectural sneakers with bold geometric cutouts. Bold, high-contrast, tactile, urban-grit meets high-fashion impact, extreme clarity, extreme layering, post-processing with transparent light-transmitting ultra-smooth high-definition film effect, removing all noise and grain, removing all blur, removing all vintage feel, removing all roughness, drawn with 32K pixel precision, unparalleled fine line drawing of every single detail, the entire image like a brand new photograph, photorealistic",
      "description": "Positive prompt in natural prose; put any lettering the image should carry in quotes (the default is the upstream 2512 template's).",
      "max_length": 4000
    },
    "negative_prompt": {
      "type": "string",
      "default": "低分辨率，低画质，肢体畸形，手指畸形，画面过饱和，蜡像感，人脸无细节，过度光滑，画面具有AI感。构图混乱。文字模糊，扭曲",
      "description": "Negative prompt, honoured at CFG above 1. The default is the upstream template's (Chinese: low resolution, low quality, deformed limbs and fingers, oversaturated, waxy, featureless faces, over-smoothed, AI look, chaotic composition, blurred or distorted text).",
      "max_length": 4000
    },
    "steps": {
      "type": "integer",
      "default": 50,
      "min": 1,
      "max": 60,
      "description": "Sampling steps (50 is the upstream template's value with its 4-step LoRA off; the per-job cap is 60)."
    },
    "cfg": {
      "type": "float",
      "default": 4.0,
      "min": 1.0,
      "max": 10.0,
      "description": "Classifier-free guidance (4 is the upstream template's value with its 4-step LoRA off)."
    },
    "seed": {
      "type": "integer",
      "default": -1,
      "description": "Random seed (-1 = random)"
    },
    "aspect": {
      "type": "enum",
      "options": [
        "square_1328x1328",
        "landscape_16x9_1664x928",
        "portrait_9x16_928x1664",
        "landscape_4x3_1472x1104",
        "portrait_3x4_1104x1472",
        "landscape_3x2_1584x1056",
        "portrait_2x3_1056x1584"
      ],
      "default": "square_1328x1328",
      "description": "Output size, one of the seven the upstream template's Aspect Ratios note lists; 1328x1328 is its empty-latent value."
    },
    "batch_size": {
      "type": "integer",
      "default": 1,
      "min": 1,
      "max": 1,
      "description": "Images per run. Pinned to 1: the executor's resolution-scaled batch cap (C.12.19) allows a second latent only below ~0.5 MP, and every size here is ~1.5-1.8 MP."
    }
  },
  "aspect_map": {
    "square_1328x1328": {
      "width": 1328,
      "height": 1328
    },
    "landscape_16x9_1664x928": {
      "width": 1664,
      "height": 928
    },
    "portrait_9x16_928x1664": {
      "width": 928,
      "height": 1664
    },
    "landscape_4x3_1472x1104": {
      "width": 1472,
      "height": 1104
    },
    "portrait_3x4_1104x1472": {
      "width": 1104,
      "height": 1472
    },
    "landscape_3x2_1584x1056": {
      "width": 1584,
      "height": 1056
    },
    "portrait_2x3_1056x1584": {
      "width": 1056,
      "height": 1584
    }
  },
  "prompt_construction": {
    "template": "{base_prompt}",
    "variables": {
      "base_prompt": "{{prompt}}"
    }
  },
  "nodes": {
    "1": {
      "class_type": "UNETLoader",
      "inputs": {
        "unet_name": "qwen_image_2512_bf16.safetensors",
        "weight_dtype": "default"
      },
      "outputs": ["MODEL"],
      "_comment": "Manifest row qwen-image-2512-bf16. The template loads qwen_image_2512_fp8_e4m3fn from the same repository."
    },
    "2": {
      "class_type": "CLIPLoader",
      "inputs": {
        "clip_name": "qwen_2.5_vl_7b.safetensors",
        "type": "qwen_image",
        "device": "default"
      },
      "outputs": ["CLIP"],
      "_comment": "Manifest row qwen-image-qwen2.5-vl-7b (bf16); the template loads the fp8_scaled build."
    },
    "3": {
      "class_type": "VAELoader",
      "inputs": {
        "vae_name": "qwen_image_vae.safetensors"
      },
      "outputs": ["VAE"]
    },
    "4": {
      "class_type": "ModelSamplingAuraFlow",
      "inputs": {
        "model": ["1", 0],
        "shift": 3.1
      },
      "outputs": ["MODEL"],
      "_comment": "Template node 222 (3.1000000000000005 in the file, a float artefact of 3.1)."
    },
    "5": {
      "class_type": "CLIPTextEncode",
      "inputs": {
        "text": "{{constructed_prompt}}",
        "clip": ["2", 0]
      },
      "outputs": ["CONDITIONING"]
    },
    "6": {
      "class_type": "CLIPTextEncode",
      "inputs": {
        "text": "{{negative_prompt}}",
        "clip": ["2", 0]
      },
      "outputs": ["CONDITIONING"]
    },
    "7": {
      "class_type": "EmptySD3LatentImage",
      "inputs": {
        "width": "{{aspect_map[aspect].width}}",
        "height": "{{aspect_map[aspect].height}}",
        "batch_size": "{{batch_size}}"
      },
      "outputs": ["LATENT"]
    },
    "8": {
      "class_type": "KSampler",
      "inputs": {
        "model": ["4", 0],
        "seed": "{{seed}}",
        "steps": "{{steps}}",
        "cfg": "{{cfg}}",
        "sampler_name": "euler",
        "scheduler": "simple",
        "positive": ["5", 0],
        "negative": ["6", 0],
        "latent_image": ["7", 0],
        "denoise": 1.0
      },
      "outputs": ["LATENT"],
      "_comment": "Template node 230: euler, simple, denoise 1; steps and cfg from its switch-off primitives (50, 4)."
    },
    "9": {
      "class_type": "VAEDecode",
      "inputs": {
        "samples": ["8", 0],
        "vae": ["3", 0]
      },
      "outputs": ["IMAGE"]
    },
    "10": {
      "class_type": "SaveImage",
      "inputs": {
        "images": ["9", 0],
        "filename_prefix": "isis/qwen-txt2img"
      },
      "outputs": []
    }
  },
  "output_spec": {
    "type": "image",
    "format": "png"
  },
  "models_required": [
    "qwen_image_2512_bf16.safetensors",
    "qwen_2.5_vl_7b.safetensors",
    "qwen_image_vae.safetensors"
  ],
  "requires_families": ["qwen-image"],
  "custom_nodes_required": [],
  "cost_calibration": "measured",
  "cost_calibration_note": "MEASURED 2026-09-14 (A.05.02, RunPod job b94bedff-3461-4741-9aa5-aa9a9f1fdf27-e2): 373.3 s of execution at 0.001647 USD/s = 0.6148 USD; 1328x1328, 50 steps, CFG 4, including loading the 40.9 GB transformer and the 16.6 GB encoder on the worker; a warm render will be cheaper. Queue delay is not billed."
}
