{ "38": { "inputs": { "clip_name": "qwen_2.5_vl_7b_fp8_scaled.safetensors", "type": "qwen_image", "device": "default" }, "class_type": "CLIPLoader", "_meta": { "title": "CLIP 로드" } }, "39": { "inputs": { "vae_name": "qwen_image_vae.safetensors" }, "class_type": "VAELoader", "_meta": { "title": "VAE 로드" } }, "66": { "inputs": { "shift": 3, "model": [ "218", 0 ] }, "class_type": "ModelSamplingAuraFlow", "_meta": { "title": "모델 샘플링 (AuraFlow)" } }, "75": { "inputs": { "strength": 1, "pre_cfg": false, "model": [ "66", 0 ] }, "class_type": "CFGNorm", "_meta": { "title": "CFGNorm" } }, "88": { "inputs": { "pixels": [ "340", 1 ], "vae": [ "39", 0 ] }, "class_type": "VAEEncode", "_meta": { "title": "VAE 인코드" } }, "110": { "inputs": { "prompt": [ "966", 0 ], "clip": [ "38", 0 ], "vae": [ "39", 0 ], "image1": [ "277", 0 ], "image2": [ "340", 1 ], "image3": [ "129", 0 ] }, "class_type": "TextEncodeQwenImageEditPlus", "_meta": { "title": "TextEncodeQwenImageEditPlus(negative)" } }, "111": { "inputs": { "prompt": [ "968", 0 ], "clip": [ "38", 0 ], "vae": [ "39", 0 ], "image1": [ "277", 0 ], "image2": [ "340", 1 ], "image3": [ "129", 0 ] }, "class_type": "TextEncodeQwenImageEditPlus", "_meta": { "title": "TextEncodeQwenImageEditPlus" } }, "129": { "inputs": { "detect_hand": "enable", "detect_body": "enable", "detect_face": "enable", "resolution": 1024, "bbox_detector": "yolox_l.onnx", "pose_estimator": "dw-ll_ucoco_384_bs5.torchscript.pt", "scale_stick_for_xinsr_cn": "disable", "image": [ "183", 0 ] }, "class_type": "DWPreprocessor", "_meta": { "title": "DWPose Estimator" } }, "172": { "inputs": { "width": [ "183", 1 ], "height": [ "183", 2 ], "keep_proportions": true, "upscale_method": "nearest-exact", "crop": "disabled", "mask": [ "177", 2 ] }, "class_type": "ResizeMask", "_meta": { "title": "Resize Mask" } }, "177": { "inputs": { "downscale_algorithm": "lanczos", "upscale_algorithm": "lanczos", "preresize": false, "preresize_mode": "ensure minimum resolution", "preresize_min_width": 1024, "preresize_min_height": 1024, "preresize_max_width": 16384, "preresize_max_height": 16384, "mask_fill_holes": true, "mask_expand_pixels": 20, "mask_invert": false, "mask_blend_pixels": 5, "mask_hipass_filter": 0.1, "extend_for_outpainting": true, "extend_up_factor": 1, "extend_down_factor": 1, "extend_left_factor": 1, "extend_right_factor": 1, "context_from_mask_extend_factor": 2.5, "output_resize_to_target_size": true, "output_target_width": 1024, "output_target_height": 1024, "output_padding": "128", "image": [ "786", 0 ], "mask": [ "803", 0 ] }, "class_type": "InpaintCropImproved", "_meta": { "title": "✂️ Inpaint Crop (Improved)" } }, "183": { "inputs": { "width": 1024, "height": 1024, "interpolation": "lanczos", "method": "keep proportion", "condition": "downscale if bigger", "multiple_of": 0, "image": [ "177", 1 ] }, "class_type": "ImageResize+", "_meta": { "title": "🔧 Image Resize" } }, "218": { "inputs": { "lora_name": "Qwen-Image-Lightning-8steps-V1.0.safetensors", "strength_model": 1, "model": [ "652", 0 ] }, "class_type": "LoraLoaderModelOnly", "_meta": { "title": "LoRA 로드 (모델 전용)" } }, "247": { "inputs": { "fill": "telea", "falloff": 0, "image": [ "183", 0 ], "mask": [ "172", 0 ] }, "class_type": "INPAINT_MaskedFill", "_meta": { "title": "Fill Masked Area" } }, "277": { "inputs": { "blur": 200, "falloff": 0, "image": [ "247", 0 ], "mask": [ "172", 0 ] }, "class_type": "INPAINT_MaskedBlur", "_meta": { "title": "Blur Masked Area" } }, "316": { "inputs": { "amount": 10, "device": "auto", "mask": [ "172", 0 ] }, "class_type": "MaskBlur+", "_meta": { "title": "🔧 Mask Blur" } }, "329": { "inputs": { "prompt": "place this character into the image", "clip": [ "38", 0 ], "vae": [ "39", 0 ], "image1": [ "183", 0 ], "image2": [ "340", 1 ], "image3": [ "129", 0 ] }, "class_type": "TextEncodeQwenImageEditPlus", "_meta": { "title": "TextEncodeQwenImageEditPlus" } }, "340": { "inputs": { "downscale_algorithm": "lanczos", "upscale_algorithm": "lanczos", "preresize": false, "preresize_mode": "ensure minimum resolution", "preresize_min_width": 1024, "preresize_min_height": 1024, "preresize_max_width": 16384, "preresize_max_height": 16384, "mask_fill_holes": false, "mask_expand_pixels": 0, "mask_invert": false, "mask_blend_pixels": 0, "mask_hipass_filter": 0.1, "extend_for_outpainting": false, "extend_up_factor": 1, "extend_down_factor": 1, "extend_left_factor": 1, "extend_right_factor": 1, "context_from_mask_extend_factor": 1, "output_resize_to_target_size": true, "output_target_width": 1024, "output_target_height": 1024, "output_padding": "32", "image": [ "787", 0 ], "mask": [ "806", 0 ] }, "class_type": "InpaintCropImproved", "_meta": { "title": "✂️ Inpaint Crop (Improved)" } }, "385": { "inputs": { "noise_mask": true, "positive": [ "111", 0 ], "negative": [ "110", 0 ], "vae": [ "39", 0 ], "pixels": [ "183", 0 ], "mask": [ "316", 0 ] }, "class_type": "InpaintModelConditioning", "_meta": { "title": "인페인팅 모델 조건 설정" } }, "387": { "inputs": { "strength": 1, "model": [ "75", 0 ] }, "class_type": "DifferentialDiffusion", "_meta": { "title": "차등 확산" } }, "396": { "inputs": { "conditioning": [ "329", 0 ], "latent": [ "88", 0 ] }, "class_type": "ReferenceLatent", "_meta": { "title": "참조 잠재" } }, "494": { "inputs": { "samples": [ "781", 0 ], "vae": [ "39", 0 ] }, "class_type": "VAEDecode", "_meta": { "title": "VAE 디코드" } }, "518": { "inputs": { "stitcher": [ "177", 0 ], "inpainted_image": [ "494", 0 ] }, "class_type": "InpaintStitchImproved", "_meta": { "title": "✂️ Inpaint Stitch (Improved)" } }, "646": { "inputs": { "image": "3379b9a0bf1e3d4df8661327b49e994480546187d2339d631739c293e4e07b66.png" }, "class_type": "LoadImage", "_meta": { "title": "얼굴" } }, "652": { "inputs": { "unet_name": "qwen_image_edit_2509_fp8_e4m3fn.safetensors", "weight_dtype": "fp8_e4m3fn" }, "class_type": "UNETLoader", "_meta": { "title": "확산 모델 로드" } }, "716": { "inputs": { "width": [ "772", 0 ], "height": [ "772", 1 ], "interpolation": "lanczos", "method": "keep proportion", "condition": "always", "multiple_of": 0, "image": [ "518", 0 ] }, "class_type": "ImageResize+", "_meta": { "title": "🔧 Image Resize" } }, "760": { "inputs": { "filename_prefix": "faceswap", "images": [ "991", 0 ] }, "class_type": "SaveImage", "_meta": { "title": "Image Save(Output)" } }, "772": { "inputs": { "image": [ "906", 0 ] }, "class_type": "Get Image Size", "_meta": { "title": "Get Image Size" } }, "781": { "inputs": { "seed": 165629919204817, "steps": 8, "cfg": 1, "sampler_name": "euler", "scheduler": "simple", "denoise": 0.4, "model": [ "387", 0 ], "positive": [ "385", 0 ], "negative": [ "385", 1 ], "latent_image": [ "385", 2 ] }, "class_type": "KSampler", "_meta": { "title": "시드" } }, "786": { "inputs": { "upscale_method": "lanczos", "scale_by": 1, "image": [ "906", 0 ] }, "class_type": "ImageScaleBy", "_meta": { "title": "이미지 확대 비율" } }, "787": { "inputs": { "upscale_method": "lanczos", "scale_by": 1, "image": [ "646", 0 ] }, "class_type": "ImageScaleBy", "_meta": { "title": "이미지 확대 비율" } }, "800": { "inputs": { "model_name": "mediapipe_face_fp32.safetensors" }, "class_type": "LoadMediaPipeFaceLandmarker", "_meta": { "title": "MediaPipe 얼굴 랜드마커 불러오기" } }, "801": { "inputs": { "detector_variant": "full", "num_faces": 1, "min_confidence": 0.5, "missing_frame_fallback": "empty", "face_detection_model": [ "800", 0 ], "image": [ "786", 0 ] }, "class_type": "MediaPipeFaceLandmarker", "_meta": { "title": "MediaPipe 얼굴 랜드마커" } }, "802": { "inputs": { "regions": "all", "face_landmarks": [ "801", 0 ] }, "class_type": "MediaPipeFaceMask", "_meta": { "title": "MediaPipe 얼굴 마스크" } }, "803": { "inputs": { "expand": 28, "incremental_expandrate": 0, "tapered_corners": true, "flip_input": false, "blur_radius": 18, "lerp_alpha": 1, "decay_factor": 1, "fill_holes": false, "mask": [ "978", 0 ] }, "class_type": "GrowMaskWithBlur", "_meta": { "title": "Grow Mask With Blur" } }, "804": { "inputs": { "detector_variant": "short", "num_faces": 1, "min_confidence": 0.5, "missing_frame_fallback": "empty", "face_detection_model": [ "800", 0 ], "image": [ "787", 0 ] }, "class_type": "MediaPipeFaceLandmarker", "_meta": { "title": "MediaPipe 얼굴 랜드마커" } }, "805": { "inputs": { "regions": "all", "face_landmarks": [ "804", 0 ] }, "class_type": "MediaPipeFaceMask", "_meta": { "title": "MediaPipe 얼굴 마스크" } }, "806": { "inputs": { "expand": 30, "incremental_expandrate": 0, "tapered_corners": true, "flip_input": false, "blur_radius": 16, "lerp_alpha": 1, "decay_factor": 1, "fill_holes": false, "mask": [ "980", 0 ] }, "class_type": "GrowMaskWithBlur", "_meta": { "title": "Grow Mask With Blur" } }, "901": { "inputs": { "image": "20eb87113f03487d598cd47c9c0b08eebd988bcc02f5b9c8e41d7b40c10fea89.png" }, "class_type": "LoadImage", "_meta": { "title": "아우터" } }, "902": { "inputs": { "image": "9098d7938ebb1a176aa321213c14e2a37b247377191b9bebff3a072759151428.jpg" }, "class_type": "LoadImage", "_meta": { "title": "상의" } }, "903": { "inputs": { "images.image0": [ "901", 0 ], "images.image1": [ "902", 0 ], "images.image2": [ "646", 0 ], "images.image3": [ "907", 0 ], "images.image4": [ "908", 0 ], "images.image5": [ "909", 0 ] }, "class_type": "BatchImagesNode", "_meta": { "title": "이미지 배치" } }, "906": { "inputs": { "image": [ "915", 0 ] }, "class_type": "ImageRemoveAlpha+", "_meta": { "title": "🔧 Image Remove Alpha" } }, "907": { "inputs": { "image": "20eb87113f03487d598cd47c9c0b08eebd988bcc02f5b9c8e41d7b40c10fea89.png" }, "class_type": "LoadImage", "_meta": { "title": "배경" } }, "908": { "inputs": { "image": "8555df2b7b4ddec1d899d7669dd8b9d8f916b2700cc5431d69d33ab1c1a8c782.jpg" }, "class_type": "LoadImage", "_meta": { "title": "하의" } }, "909": { "inputs": { "image": "6828e4994ab12feaaa0dc17d8c46085626a00226145abf0f90eebde101098a04.png" }, "class_type": "LoadImage", "_meta": { "title": "신발" } }, "910": { "inputs": { "string_a": "Reference images: 1 = outerwear, 2 = top, 3 = the face identity to use, 4 = the studio background, 5 = bottoms, 6 = shoes, 7 = pose reference (LEFT half: photo; RIGHT half: its exact OpenPose skeleton), 8 = two items side by side (LEFT half: innerwear; RIGHT half: a belt). Generate a photorealistic studio fashion e-commerce photograph of a person matching the apparent gender, age and identity of the face in image 3, wearing ONLY the garments actually provided. GARMENT RULES: a slot is empty ONLY if it is a blank placeholder containing no garment; a garment photographed on a plain white background IS a real garment. NEVER invent an item for an empty slot, and NEVER omit a provided one — with ONE exception: if the chosen framing/crop places a garment (or part of it) outside the frame, that garment is worn but simply not visible; NEVER widen or extend the framing just to reveal a provided garment or shoes. Outerwear (image 1), when provided, is always worn as the outermost layer over the top, clearly visible. If image 5 (bottoms) is a dress/one-piece, it is worn as a single garment covering the torso and legs; do NOT add a separate top or skirt unless image 2 actually provides one. Innerwear (image 8 LEFT) is worn under the top and shows only where the styling naturally allows (neckline, hem, cuffs); the belt (image 8 RIGHT) is worn at the waist and shows only when the top's length or silhouette naturally reveals it — never force a tuck or styling change to expose either. LOGO RULE: render ONLY the logos, prints, text and graphics that are actually visible in the provided product photos, at the same position and size. If a garment photo shows no logo or print, the generated garment carries no logo or print either — NEVER invent a brand mark, monogram, lettering or graphic of any kind. This rule removes NOTHING except invented graphics: the fabric's real texture, weave, knit, pile and every surface detail from the photo must still be reproduced fully and visibly. Reproduce every provided garment's exact color, pattern, fabric, silhouette and construction details wherever visible. POSE: copy from the person in image 7 the body pose, stance, limb and hand positions, body orientation, facial expression, gaze direction and head angle — and nothing else. Never copy that person's hairstyle, clothing, facial identity, or any object they hold, carry or wear (bag, phone, cup, hat, sunglasses, jewelry, headphones, etc.); if they hold something, render the same arm gesture EMPTY-HANDED with relaxed fingers. The generated body must align joint by joint with the skeleton (image 7 RIGHT), but the skeleton defines the POSE ONLY — shoulder width, height, limb length and build follow the Model body proportions instruction in this prompt, never the reference person's physique. If a Camera angle instruction elsewhere in this prompt specifies a head direction or gaze, it governs the HEAD; the skeleton governs the BODY. Never render the skeleton lines or any side-by-side layout — output a single normal photograph. If image 7 is a blank placeholder, use a natural relaxed lookbook pose. BACKGROUND & FINISH: use image 4 as the actual studio backdrop, faithfully reproducing its color, tone, texture and lighting; add nothing that is not in it. Realistic skin, soft even lighting, clean premium lookbook style. (Floor and ground handling depends on the shot instruction that follows.) Composition and pose:", "string_b": [ "996", 0 ], "delimiter": " " }, "class_type": "StringConcatenate", "_meta": { "title": "연결" } }, "912": { "inputs": { "prompts": "Full-body shot from head to toe, model standing straight, with REALISTIC natural human proportions (roughly 7 to 7.5 head-lengths tall) — NOT exaggerated 8-9 head fashion-illustration proportions; do NOT elongate the legs or shrink the head to look more 'model-like'. If the pose reference (image 7, LEFT half) contains a person, copy THAT person's body proportions instead: the same head-to-height ratio, the same leg-to-torso ratio, the same shoulder width and overall build. Keep about 5-6% headroom above the hair and 6-8% space below the feet; the ENTIRE model from head to toe must be fully visible and the feet must NOT be cropped. BACKGROUND & FLOOR: reproduce the given studio backdrop faithfully INCLUDING its floor. If the background reference shows a wall-to-floor line or a lighter floor area near the bottom, KEEP that floor line at the SAME height and reproduce its exact tone and soft shadow — do NOT erase, smooth away, or flatten it. The model stands on that floor. Only avoid inventing a floor line that is not present in the reference. GRID ANCHORS (identical in every generation so cuts align side by side): the top of the head starts at 4-6% of the frame height from the top edge, the eye line sits at 10-13%, the natural waistline / belt line at 42-46%, and the soles of the shoes at 95-97% of the frame height. Anchors are targets, not absolutes: never distort natural body proportions to hit them; if the pose (seated, crouching, leaning) makes one impossible, ignore it.\nUpper-body medium-wide shot with generous studio margins. Pull the camera back slightly, NOT a tight bust crop. Frame from the top of the head down to slightly below the waist, with visible background above the head and on both sides of the shoulders. ABSOLUTELY DO NOT show thighs, knees, shins, or feet; if legs are visible the crop is wrong. BACKGROUND & FLOOR: this is an UPPER-BODY crop — show ONLY the seamless studio backdrop behind the head and shoulders. There must be NO floor, no ground plane, no wall-to-floor line, no horizon line and no horizontal boundary or shadow line anywhere in the frame. GRID ANCHORS (identical in every generation so cuts align side by side): the top of the head starts at 5-7% of the frame height from the top edge, the eye line sits at 12-15%, the natural waistline / belt line at 58-63%, and the bottom frame edge crops at mid-thigh. Anchors are targets, not absolutes: never distort natural body proportions to hit them; if the pose (seated, crouching, leaning) makes one impossible, ignore it.\nLower-body shot: frame from the waist/hip down to just below the shoes, emphasizing the bottoms (image 5) and the shoes (image 6) with clear fabric texture, drape and fit. The head and upper torso are cropped out of frame — this is intentional; crop cleanly around the mid-torso. Keep a small margin of studio floor visible below the shoes, and keep the standard studio background. GRID ANCHOR: the waistline / belt line sits at 8-12% of the frame height from the top edge, and the soles of the shoes at 92-95% — keep these positions IDENTICAL in every generation. Anchors are targets, not absolutes: never distort natural body proportions to hit them; if the pose (seated, crouching, leaning) makes one impossible, ignore it.\nREFERENCE FRAMING (this may be a full-body shot, a partial crop, or anything in between — whatever the reference is): reproduce the framing and composition of the pose reference (image 7, LEFT half) as faithfully as possible — the SAME crop (including partial-body crops such as thigh-up or waist-up), the SAME subject size within the frame (the body occupies the same fraction of the frame height as in the reference — if the reference shows the whole body with visible space above the head and below the feet, reproduce that same space; do NOT enlarge the subject), the SAME camera distance, height and body orientation as the reference photo. This instruction OVERRIDES the standard full-body framing, headroom and margin rules elsewhere in this prompt. Everything else still applies as usual: the model wears the provided garments in front of the provided studio background, and the clothing, lighting, props, BACKGROUND, environment and identity of the reference person are NEVER copied — only pose, expression, gaze, framing and BODY PROPORTIONS. BACKGROUND SOURCE (STRICT): the background always comes ONLY from the provided studio background reference (image 4). Completely ignore the pose reference's background — its wall color, floor, furniture, outdoor scenery, location and ambient lighting must NOT appear in the output in any form. Keep the whole head, hands and feet inside the frame unless the reference itself clearly cuts them off; never introduce a crop that the reference does not have. BODY PROPORTIONS (copy from the reference): match the reference model's natural proportions exactly — the same head-to-height ratio (count how many head-lengths tall the reference person is and reproduce it), the same leg-to-torso ratio, the same shoulder width and overall build. Whatever the reference person's proportions are — longer or shorter legs, larger or smaller head, slimmer or broader build — reproduce those exact proportions in the generated model, as-is, without adjusting them toward any beauty standard in either direction. CROP PRIORITY: the reference crop decides what is shown. If a provided garment or any styling instruction refers to a body area outside the reference crop (e.g., shoes, pant hems, how trousers stack on the feet), do NOT extend the frame to show it — apply such instructions only to what is visible inside the crop and ignore the rest.", "index": [ "917", 1 ] }, "class_type": "FL_PromptSelectorBasic", "_meta": { "title": "FL Prompt Selector Basic" } }, "914": { "inputs": { "string_a": [ "910", 0 ], "string_b": "", "delimiter": " " }, "class_type": "StringConcatenate", "_meta": { "title": "프롬프트 작성" } }, "915": { "inputs": { "prompt": [ "1045", 0 ], "model": "gpt-image-2", "model.size": "Custom", "model.custom_width": 1536, "model.custom_height": 2048, "model.background": "auto", "model.quality": "medium", "n": 1, "seed": 1919368201, "model.images.image_1": [ "901", 0 ], "model.images.image_2": [ "902", 0 ], "model.images.image_3": [ "646", 0 ], "model.images.image_4": [ "907", 0 ], "model.images.image_5": [ "908", 0 ], "model.images.image_6": [ "909", 0 ], "model.images.image_7": [ "961", 0 ], "model.images.image_8": [ "1043", 0 ], "model.images.image_9": [ "1060", 0 ], "model.images.image_10": [ "1061", 0 ], "model.images.image_11": [ "1062", 0 ], "model.images.image_12": [ "1063", 0 ] }, "class_type": "OpenAIGPTImageNodeV2", "_meta": { "title": "품질" } }, "916": { "inputs": { "image": "20eb87113f03487d598cd47c9c0b08eebd988bcc02f5b9c8e41d7b40c10fea89.png" }, "class_type": "LoadImage", "_meta": { "title": "레퍼런스 포즈" } }, "917": { "inputs": { "choice": "레퍼런스 구도 그대로", "index": 3, "option1": "전신컷", "option2": "상반신컷", "option3": "하반신컷", "option4": "레퍼런스 구도 그대로", "option5": "" }, "class_type": "CustomCombo", "_meta": { "title": "샷 선택" } }, "918": { "inputs": { "choice": "성인", "index": 0, "option1": "성인", "option2": "키즈", "option3": "" }, "class_type": "CustomCombo", "_meta": { "title": "연령" } }, "930": { "inputs": { "choice": "골반", "index": 1, "option1": "허리", "option2": "골반", "option3": "허벅지", "option4": "" }, "class_type": "CustomCombo", "_meta": { "title": "아우터 길이" } }, "931": { "inputs": { "choice": "표준", "index": 1, "option1": "슬림", "option2": "표준", "option3": "오버", "option4": "" }, "class_type": "CustomCombo", "_meta": { "title": "아우터 핏" } }, "932": { "inputs": { "choice": "골반", "index": 1, "option1": "허리", "option2": "골반", "option3": "허벅지", "option4": "" }, "class_type": "CustomCombo", "_meta": { "title": "상의 길이" } }, "933": { "inputs": { "choice": "오버", "index": 2, "option1": "슬림", "option2": "표준", "option3": "오버", "option4": "" }, "class_type": "CustomCombo", "_meta": { "title": "상의 핏" } }, "934": { "inputs": { "choice": "신발", "index": 4, "option1": "허벅지", "option2": "무릎", "option3": "종아리", "option4": "발목", "option5": "신발", "option6": "" }, "class_type": "CustomCombo", "_meta": { "title": "하의 길이" } }, "935": { "inputs": { "choice": "오버", "index": 2, "option1": "슬림", "option2": "표준", "option3": "오버", "option4": "" }, "class_type": "CustomCombo", "_meta": { "title": "하의 핏" } }, "940": { "inputs": { "prompts": "the outer layer hem ends around the waist\nthe outer layer hem ends around the hip\nthe outer layer hem ends around mid-thigh", "index": [ "930", 1 ] }, "class_type": "FL_PromptSelectorBasic", "_meta": { "title": "FL Prompt Selector Basic" } }, "941": { "inputs": { "prompts": "the outer layer has a slim fit\nthe outer layer has a standard regular fit\nthe outer layer has an oversized loose fit", "index": [ "931", 1 ] }, "class_type": "FL_PromptSelectorBasic", "_meta": { "title": "FL Prompt Selector Basic" } }, "942": { "inputs": { "prompts": "the top hem ends around the waist\nthe top hem ends around the hip\nthe top hem ends around mid-thigh", "index": [ "932", 1 ] }, "class_type": "FL_PromptSelectorBasic", "_meta": { "title": "FL Prompt Selector Basic" } }, "943": { "inputs": { "prompts": "the top has a slim fit\nthe top has a standard regular fit\nthe top has an oversized loose fit", "index": [ "933", 1 ] }, "class_type": "FL_PromptSelectorBasic", "_meta": { "title": "FL Prompt Selector Basic" } }, "944": { "inputs": { "prompts": "the bottoms end around mid-thigh (shorts length)\nthe bottoms end at the knee\nthe bottoms end at mid-calf\nthe bottoms end at the ankle (full length)\nthe bottoms fall over the shoes (extra long)", "index": [ "934", 1 ] }, "class_type": "FL_PromptSelectorBasic", "_meta": { "title": "FL Prompt Selector Basic" } }, "945": { "inputs": { "prompts": "the bottoms have a slim fit\nthe bottoms have a standard regular fit\nthe bottoms have an oversized loose fit", "index": [ "935", 1 ] }, "class_type": "FL_PromptSelectorBasic", "_meta": { "title": "FL Prompt Selector Basic" } }, "946": { "inputs": { "prompts": "Model body proportions: an ADULT fashion model (this subject is an adult, NOT a child). For a MALE subject: a tall, lean high-fashion male runway model about 185cm and 8.5 heads tall, with a DISTINCTLY SMALL HEAD (about one-eighth of body height) on a long neck, BROAD straight square shoulders about 2.3 to 2.5 times the head width, long straight legs and a lean athletic V-shaped torso; strictly avoid a large head, narrow or sloping shoulders, or a short stocky body. For a FEMALE subject: a slender runway build about 8.5 to 9 heads tall, small head, long legs and elegant upright posture. Render clearly ADULT proportions; do NOT render a child or childlike, short, big-headed proportions.\nModel body proportions: a CHILD kids-catalog model, matching the apparent age and gender of the face (a young girl or boy). Render a natural, healthy, well-proportioned child with an age-typical BALANCED build (roughly 6 to 7 heads tall for a school-age child), upright posture and clean, MODEST, age-appropriate kids styling. The head should look natural and balanced, not exaggerated or oversized. Do NOT apply adult runway proportions.", "index": [ "918", 1 ] }, "class_type": "FL_PromptSelectorBasic", "_meta": { "title": "FL Prompt Selector Basic" } }, "950": { "inputs": { "string_a": [ "940", 0 ], "string_b": [ "941", 0 ], "delimiter": ", " }, "class_type": "StringConcatenate", "_meta": { "title": "연결" } }, "951": { "inputs": { "string_a": [ "950", 0 ], "string_b": [ "942", 0 ], "delimiter": ", " }, "class_type": "StringConcatenate", "_meta": { "title": "연결" } }, "952": { "inputs": { "string_a": [ "951", 0 ], "string_b": [ "943", 0 ], "delimiter": ", " }, "class_type": "StringConcatenate", "_meta": { "title": "연결" } }, "953": { "inputs": { "string_a": [ "952", 0 ], "string_b": [ "944", 0 ], "delimiter": ", " }, "class_type": "StringConcatenate", "_meta": { "title": "연결" } }, "954": { "inputs": { "string_a": [ "953", 0 ], "string_b": [ "945", 0 ], "delimiter": ", " }, "class_type": "StringConcatenate", "_meta": { "title": "연결" } }, "955": { "inputs": { "string_a": [ "914", 0 ], "string_b": [ "954", 0 ], "delimiter": " Garment length and fit: " }, "class_type": "StringConcatenate", "_meta": { "title": "연결" } }, "956": { "inputs": { "string_a": [ "955", 0 ], "string_b": [ "946", 0 ], "delimiter": " Body proportions: " }, "class_type": "StringConcatenate", "_meta": { "title": "연결" } }, "957": { "inputs": { "image": "39fe1862e41ed99a7aa467d2aff264aa21bd5970d4e20b22d6c8c92668de0e66.png" }, "class_type": "LoadImage", "_meta": { "title": "이너웨어" } }, "958": { "inputs": { "image": "8aee20214d94656c93395ca378405b6f20935e905cfd244cfe1c87c4e43973b5.jpg" }, "class_type": "LoadImage", "_meta": { "title": "벨트" } }, "959": { "inputs": { "detect_hand": "enable", "detect_body": "enable", "detect_face": "disable", "resolution": 1024, "bbox_detector": "yolox_l.onnx", "pose_estimator": "dw-ll_ucoco_384_bs5.torchscript.pt", "scale_stick_for_xinsr_cn": "disable", "image": [ "916", 0 ] }, "class_type": "DWPreprocessor", "_meta": { "title": "포즈 스켈레톤 (몸·손만)" } }, "961": { "inputs": { "direction": "right", "match_image_size": true, "spacing_width": 16, "spacing_color": "white", "image1": [ "916", 0 ], "image2": [ "959", 0 ] }, "class_type": "ImageStitch", "_meta": { "title": "포즈사진+스켈레톤 결합" } }, "962": { "inputs": { "choice": "반측면", "index": 1, "option1": "정면", "option2": "반측면", "option3": "측면", "option4": "로우앵글", "option5": "하이앵글", "option6": "후면", "option7": "" }, "class_type": "CustomCombo", "_meta": { "title": "카메라 앵글" } }, "963": { "inputs": { "prompts": "Camera angle: the camera is placed directly in front of the model at eye level. If a pose reference is given, render that exact pose seen from the front; otherwise the model faces the camera directly, eyes into the lens.\nCamera angle: the camera is positioned about 45 degrees to the side of the model (three-quarter viewpoint). Render the model's pose SEEN FROM this 45-degree viewpoint — do NOT change the pose itself; the same stance, limbs and gesture, just viewed from 45 degrees off-axis. Head anchors from this viewpoint: the nose points off-camera, one ear is mostly hidden, the face looks clearly asymmetric; NEVER a straight-on frontal face. This viewpoint instruction OVERRIDES any other head or gaze instruction.\nCamera angle: the camera is positioned 90 degrees to the side of the model (full profile viewpoint). Render the model's pose SEEN FROM the side — do NOT change the pose itself. The head is in full profile like the body, only ONE eye visible, gaze directed slightly downward and forward, NEVER turned toward the camera. This viewpoint instruction OVERRIDES any other head or gaze instruction.\nCamera angle: low-angle viewpoint — the camera is placed clearly BELOW the subject's eye level, pointing upward (for a full-body shot: around the model's knee height; for an upper-body shot: around chest height). Render the model's pose SEEN FROM below with natural upward perspective — do NOT change the pose itself; chin level or slightly down, eyes looking down toward the camera. This viewpoint instruction OVERRIDES any other head or gaze instruction.\nCamera angle: high-angle viewpoint — the camera is placed clearly ABOVE the subject's eye level, pointing downward (for a full-body shot: well above the head; for an upper-body shot: slightly above the head). Render the model's pose SEEN FROM above — do NOT change the pose itself; the face tilts slightly up, eyes looking up toward the camera. This viewpoint instruction OVERRIDES any other head or gaze instruction.\nBACK VIEW: render the scene from DIRECTLY BEHIND the model — the camera sees the model's back: the back of the head and hair, and the BACK of every garment (back panels, back prints, the hood hanging down over the back if present). The face is NOT visible — no eyes, nose or mouth; at most a hint of cheek contour. Render the reference pose as seen from behind. This instruction OVERRIDES every gaze and head-direction instruction in this prompt — the model faces away from the camera. STANCE (back view default): a clean, square standing back view — shoulders LEVEL and parallel to the camera, hips square, spine upright, NO body twist and NO three-quarter turn; the back of the head faces the camera centered, with NO cheek or face contour visible. Arms hang relaxed at the sides with hands visible and empty (NOT in pockets), feet about hip-width apart with weight even on both legs. Deviate from this stance ONLY if a pose reference image explicitly shows a different pose.", "index": [ "962", 1 ] }, "class_type": "FL_PromptSelectorBasic", "_meta": { "title": "앵글 프롬프트 (GPT)" } }, "964": { "inputs": { "string_a": [ "912", 0 ], "string_b": [ "963", 0 ], "delimiter": " " }, "class_type": "StringConcatenate", "_meta": { "title": "샷+앵글 결합" } }, "965": { "inputs": { "prompts": "(side-view:1.5), (head turned:1.2)\n(direct front-facing head:1.5), (looking straight at camera:1.4), (symmetrical frontal face:1.4), (full side profile:1.3)\n(front-facing head:1.5), (looking at viewer:1.5), (eye contact:1.4), (head turned toward camera:1.4), (both eyes visible:1.4)\n(side-view:1.3), (looking away:1.3)\n(side-view:1.3), (looking away:1.3)\n(frontal face:1.5), (face visible:1.4), (looking at camera:1.5), (turned head:1.3)", "index": [ "962", 1 ] }, "class_type": "FL_PromptSelectorBasic", "_meta": { "title": "앵글 네거티브 (Qwen)" } }, "966": { "inputs": { "string_a": [ "997", 0 ], "string_b": "", "delimiter": ", " }, "class_type": "StringConcatenate", "_meta": { "title": "네거티브 조립" } }, "967": { "inputs": { "prompts": "The head faces the camera directly as in the second image.\nIMPORTANT: keep the head rotated about 45 degrees exactly as in the first image — nose pointing to the side, one ear mostly hidden, clearly asymmetric face; use the second image ONLY for facial identity and features, NOT for head orientation; do NOT rotate the head toward the camera; the eyes may glance toward the camera while the head stays turned.\nIMPORTANT: the head MUST stay in full side profile exactly as in the first image, facing the same direction as the body, with only ONE eye visible and the gaze directed slightly downward and forward; use the second image ONLY for facial identity and features, NEVER for head orientation; do NOT rotate the head or the eyes toward the camera.\nKeep the upward camera perspective on the head exactly as in the first image, eyes looking down toward the camera; use the second image only for facial identity, not head orientation.\nKeep the downward camera perspective on the head exactly as in the first image, eyes looking up toward the camera; use the second image only for facial identity, not head orientation.\nThe subject is seen from directly behind: only the back of the head with natural hair is visible, no facial features are rendered.", "index": [ "962", 1 ] }, "class_type": "FL_PromptSelectorBasic", "_meta": { "title": "앵글 포지티브 (Qwen)" } }, "968": { "inputs": { "string_a": "combine the body from first image with the head from the second image to make one coherent person with correct anatomical proportions. Preserve the lighting, environment and background from the first image. \n\n", "string_b": [ "998", 0 ], "delimiter": " " }, "class_type": "StringConcatenate", "_meta": { "title": "포지티브 조립" } }, "976": { "inputs": { "model_name": "bbox/face_yolov8m.pt" }, "class_type": "UltralyticsDetectorProvider", "_meta": { "title": "YOLO 얼굴 감지기" } }, "977": { "inputs": { "threshold": 0.4, "dilation": 15, "crop_factor": 3, "drop_size": 48, "labels": "all", "bbox_detector": [ "976", 0 ], "image": [ "786", 0 ] }, "class_type": "BboxDetectorSEGS", "_meta": { "title": "얼굴 감지 (생성 이미지)" } }, "978": { "inputs": { "segs": [ "977", 0 ] }, "class_type": "SegsToCombinedMask", "_meta": { "title": "SEGS to MASK (combined)" } }, "979": { "inputs": { "threshold": 0.4, "dilation": 15, "crop_factor": 3, "drop_size": 40, "labels": "all", "bbox_detector": [ "976", 0 ], "image": [ "787", 0 ] }, "class_type": "BboxDetectorSEGS", "_meta": { "title": "얼굴 감지 (레퍼런스)" } }, "980": { "inputs": { "segs": [ "979", 0 ] }, "class_type": "SegsToCombinedMask", "_meta": { "title": "SEGS to MASK (combined)" } }, "981": { "inputs": { "model_name": "bbox/hand_yolov8s.pt" }, "class_type": "UltralyticsDetectorProvider", "_meta": { "title": "YOLO 손 감지기" } }, "982": { "inputs": { "threshold": 0.35, "dilation": 12, "crop_factor": 3, "drop_size": 40, "labels": "all", "bbox_detector": [ "981", 0 ], "image": [ "716", 0 ] }, "class_type": "BboxDetectorSEGS", "_meta": { "title": "손 감지" } }, "983": { "inputs": { "segs": [ "982", 0 ] }, "class_type": "SegsToCombinedMask", "_meta": { "title": "SEGS to MASK (combined)" } }, "984": { "inputs": { "expand": 16, "incremental_expandrate": 0, "tapered_corners": true, "flip_input": false, "blur_radius": 12, "lerp_alpha": 1, "decay_factor": 1, "fill_holes": false, "mask": [ "983", 0 ] }, "class_type": "GrowMaskWithBlur", "_meta": { "title": "손 마스크 확장" } }, "985": { "inputs": { "downscale_algorithm": "lanczos", "upscale_algorithm": "lanczos", "preresize": false, "preresize_mode": "ensure minimum resolution", "preresize_min_width": 1024, "preresize_min_height": 1024, "preresize_max_width": 16384, "preresize_max_height": 16384, "mask_fill_holes": true, "mask_expand_pixels": 20, "mask_invert": false, "mask_blend_pixels": 5, "mask_hipass_filter": 0.1, "extend_for_outpainting": true, "extend_up_factor": 1, "extend_down_factor": 1, "extend_left_factor": 1, "extend_right_factor": 1, "context_from_mask_extend_factor": 2.5, "output_resize_to_target_size": true, "output_target_width": 1024, "output_target_height": 1024, "output_padding": "128", "image": [ "716", 0 ], "mask": [ "984", 0 ] }, "class_type": "InpaintCropImproved", "_meta": { "title": "손 크롭" } }, "986": { "inputs": { "prompt": "Repair the hands in this image: each visible hand must have exactly five fingers with natural proportions, correct joint anatomy and realistic skin texture. Keep the same skin tone, lighting, pose, gesture, and any contact with garments or objects unchanged. Do not change anything outside the hands.", "clip": [ "38", 0 ], "vae": [ "39", 0 ], "image1": [ "985", 1 ] }, "class_type": "TextEncodeQwenImageEditPlus", "_meta": { "title": "손 보정 (positive)" } }, "987": { "inputs": { "prompt": "(extra fingers:1.5), (six fingers:1.5), (missing fingers:1.4), (fused fingers:1.4), (deformed hands:1.4), (extra thumb:1.3), (mangled hands:1.4), (broken wrist:1.2)", "clip": [ "38", 0 ], "vae": [ "39", 0 ], "image1": [ "985", 1 ] }, "class_type": "TextEncodeQwenImageEditPlus", "_meta": { "title": "손 보정 (negative)" } }, "988": { "inputs": { "noise_mask": true, "positive": [ "986", 0 ], "negative": [ "987", 0 ], "vae": [ "39", 0 ], "pixels": [ "985", 1 ], "mask": [ "985", 2 ] }, "class_type": "InpaintModelConditioning", "_meta": { "title": "인페인팅 모델 조건 설정" } }, "989": { "inputs": { "seed": 777703815891662, "steps": 8, "cfg": 1, "sampler_name": "euler", "scheduler": "simple", "denoise": 0.4, "model": [ "387", 0 ], "positive": [ "988", 0 ], "negative": [ "988", 1 ], "latent_image": [ "988", 2 ] }, "class_type": "KSampler", "_meta": { "title": "손 보정 샘플러" } }, "990": { "inputs": { "samples": [ "989", 0 ], "vae": [ "39", 0 ] }, "class_type": "VAEDecode", "_meta": { "title": "VAE 디코드" } }, "991": { "inputs": { "stitcher": [ "985", 0 ], "inpainted_image": [ "990", 0 ] }, "class_type": "InpaintStitchImproved", "_meta": { "title": "손 보정 합성" } }, "992": { "inputs": { "choice": "자연스러운 시선", "index": 1, "option1": "카메라 응시", "option2": "자연스러운 시선", "option3": "" }, "class_type": "CustomCombo", "_meta": { "title": "시선" } }, "993": { "inputs": { "prompts": " \nGAZE OVERRIDE: the model does NOT look into the camera. If a pose reference is given, the gaze follows the pose reference person's gaze direction; otherwise the gaze is directed naturally downward or into the distance, calm and candid. This gaze instruction OVERRIDES every earlier gaze instruction in this prompt. EXCEPTION: if this prompt specifies a BACK VIEW camera angle, ignore this gaze instruction completely — the model faces directly away from the camera and no eyes, gaze or face are shown.", "index": [ "992", 1 ] }, "class_type": "FL_PromptSelectorBasic", "_meta": { "title": "시선 프롬프트 (GPT)" } }, "994": { "inputs": { "prompts": "(looking away:1.4)\n(looking at viewer:1.4), (eye contact:1.3), (staring into camera:1.3)", "index": [ "992", 1 ] }, "class_type": "FL_PromptSelectorBasic", "_meta": { "title": "시선 네거티브 (Qwen)" } }, "995": { "inputs": { "prompts": " \nThe gaze does NOT meet the camera; preserve the eye and gaze direction from the first image.", "index": [ "992", 1 ] }, "class_type": "FL_PromptSelectorBasic", "_meta": { "title": "시선 포지티브 (Qwen)" } }, "996": { "inputs": { "string_a": [ "964", 0 ], "string_b": [ "993", 0 ], "delimiter": " " }, "class_type": "StringConcatenate", "_meta": { "title": "샷+앵글+시선 결합" } }, "997": { "inputs": { "string_a": [ "965", 0 ], "string_b": [ "994", 0 ], "delimiter": ", " }, "class_type": "StringConcatenate", "_meta": { "title": "네거티브+시선 결합" } }, "998": { "inputs": { "string_a": [ "967", 0 ], "string_b": [ "995", 0 ], "delimiter": " " }, "class_type": "StringConcatenate", "_meta": { "title": "포지티브+시선 결합" } }, "999": { "inputs": { "image1": [ "901", 0 ], "image2": [ "902", 0 ] }, "class_type": "ImageBatch", "_meta": { "title": "이미지 배치" } }, "1000": { "inputs": { "image1": [ "999", 0 ], "image2": [ "908", 0 ] }, "class_type": "ImageBatch", "_meta": { "title": "이미지 배치" } }, "1001": { "inputs": { "prompt": "You are a fashion product analyst. Five garment product photos are provided in this exact order: (1) outerwear, (2) top, (3) bottoms — or a dress/one-piece: if the garment in photo 3 is a dress, explicitly call it a dress, describe its full length (mini/knee/midi/maxi) and note that it is a single garment worn in place of both top and bottoms, (4) innerwear (a base layer worn under the top), (5) a belt. For each, write ONE compact line describing its exact construction so an image generation model can reproduce it faithfully: garment category (e.g., hooded pullover, collared shirt, puffer jacket, skirt, wide pants), neckline or collar type, HOOD present or not, closure type (zipper / buttons / drawstring / none), sleeve or leg length and shape, surface texture or knit pattern (e.g., waffle knit, rib, smooth woven), cuff and hem style, the exact color in plain words, and — REQUIRED for every garment — its logos, prints and graphics: state the exact text/mark, its size and placement if any exist, or state exactly 'no logo, no print' if the garment has none (this refers only to graphics — always describe the fabric texture separately). If a photo is a blank placeholder with no garment, write exactly 'none'. Output format, with no other text: OUTERWEAR: ... | TOP: ... | BOTTOMS: ... | INNERWEAR: ... | BELT: ...", "persist_context": false, "model": "gpt-5-mini", "images": [ "1042", 0 ] }, "class_type": "OpenAIChatNode", "_meta": { "title": "의상 자동 분석 (GPT 비전)" } }, "1002": { "inputs": { "string_a": [ "956", 0 ], "string_b": [ "1001", 0 ], "delimiter": " GARMENT SPECS (automated analysis of the provided garment photos — reproduce these construction details EXACTLY): " }, "class_type": "StringConcatenate", "_meta": { "title": "의상 스펙 주입" } }, "1041": { "inputs": { "image1": [ "1000", 0 ], "image2": [ "957", 0 ] }, "class_type": "ImageBatch", "_meta": { "title": "이미지 배치" } }, "1042": { "inputs": { "image1": [ "1041", 0 ], "image2": [ "958", 0 ] }, "class_type": "ImageBatch", "_meta": { "title": "이미지 배치" } }, "1043": { "inputs": { "direction": "right", "match_image_size": true, "spacing_width": 16, "spacing_color": "white", "image1": [ "957", 0 ], "image2": [ "958", 0 ] }, "class_type": "ImageStitch", "_meta": { "title": "이너웨어+벨트 결합" } }, "1044": { "inputs": { "prompts": "FINAL BODY PROPORTION OVERRIDE — this outranks every styling instinct: if the pose reference (image 7, LEFT half) contains a person, COPY that person's body proportions as-is: measure the reference — how many head-lengths tall the person is, where the waistline and crotch line sit as a fraction of total height, how long the legs are relative to the torso — and reproduce those same measurements in the generated model, whatever they are. Never lengthen or shorten the legs, move the waistline, or resize the head relative to the reference. If image 7 is blank, use realistic natural human proportions of about 7 to 7.5 head-lengths, never exaggerated long-legged fashion proportions. Ignore any 'REFERENCE CROP INFO' line elsewhere in this prompt — it applies only in reference-framing mode, and this shot instruction decides the crop.\nFINAL FRAMING OVERRIDE — this outranks every other framing rule in this prompt, INCLUDING the pose reference: this is an UPPER-BODY crop only. The bottom frame edge cuts at mid-thigh; thighs below that point, knees, shins and feet must NOT appear even if the pose reference shows the full body — copy only the upper-body pose from the reference and ignore its framing. Show only the seamless studio backdrop; no floor line. Ignore any 'REFERENCE CROP INFO' line elsewhere in this prompt — it applies only in reference-framing mode, and this shot instruction decides the crop.\nFINAL FRAMING OVERRIDE — this outranks every other framing rule in this prompt, INCLUDING the pose reference: this is a LOWER-BODY crop only. The top frame edge cuts at the mid-torso; the head, face and shoulders must NOT appear even if the pose reference shows the full body — copy only the leg stance from the reference and ignore its framing. Ignore any 'REFERENCE CROP INFO' line elsewhere in this prompt — it applies only in reference-framing mode, and this shot instruction decides the crop.\nFINAL FRAMING OVERRIDE — this outranks every other framing, headroom and margin rule in this prompt: the output frame MUST match the pose reference (image 7, LEFT half) exactly — the same crop boundaries (if the reference is cropped at the thighs or waist, the output is cropped at the SAME point), the same subject scale within the frame, and the same camera distance, height and body orientation. If the reference is a head-to-toe shot with margins above the head and below the feet, the output is ALSO a head-to-toe shot with the same margins; if the reference is a partial crop, the output is the same partial crop. Never zoom in beyond the reference. HEAD RULE: keep the whole head and face inside the frame unless the reference itself clearly cuts them off; never introduce a crop that the reference does not have, and never cut off the head, hands or feet to fit the canvas — if the reference aspect ratio differs from the output canvas, keep the subject fully inside the frame and adjust the surrounding margin instead. FINAL BODY PROPORTION OVERRIDE — this outranks every styling instinct: if the pose reference (image 7, LEFT half) contains a person, COPY that person's body proportions as-is: measure the reference from what is VISIBLE inside its crop — head size, shoulder width, where the waistline and crotch line sit, leg thickness relative to the torso — and reproduce those same measurements in the generated model, whatever they are. This proportion rule NEVER extends the frame: it applies only to body parts the framing override above already shows. Never lengthen or shorten the legs, move the waistline, or resize the head relative to the reference. If image 7 is blank, use realistic natural human proportions of about 7 to 7.5 head-lengths, never exaggerated long-legged fashion proportions. BACKGROUND EXCEPTION — matching the reference applies to framing, pose, gaze and body proportions ONLY: the background must still come exclusively from the provided studio background (image 4). Never reproduce the pose reference's background, wall tone, floor, environment or lighting. CROP WINS OVER CONTENT — highest priority of all: if the reference crop excludes body parts (feet, lower legs) then the output excludes them too, even if garment images or the styling text describe shoes, pant hems or how trousers fall on the feet; a garment outside the crop is worn but not shown, exactly like the reference. PADDING BAND: the reference may carry a thin band of plain background added around it for technical reasons — ignore this band when judging the crop; the TRUE crop boundary is where the person's body is cut off, and if the body is cut mid-limb, crop the output at the SAME point instead of completing the legs or feet into the empty band. OBEY 'REFERENCE CROP INFO' — ABSOLUTE, FINAL RULE: if a REFERENCE CROP INFO line is present in this prompt and is not 'none', it is the authoritative crop measurement of the reference. The output frame ends EXACTLY at the stated body point. NOTHING below that point may appear — no feet, no shoes, no pant hems, no floor contact — regardless of any garment image, garment-length option, or styling text that mentions them. If the info says the person is cut at mid-shin, the output is cut at mid-shin. Rendering any body part below the stated point is a FAILURE. FRAME FILL: the person must occupy the same fraction of the frame as the REFERENCE CROP INFO states — a 'tight' reference means an equally tight output where the person fills the frame; NEVER zoom out to a looser shot. Showing MORE body than the stated cut point (e.g. hips or thighs when the info says waist) is a FAILURE, even if provided garments remain unseen — a garment hidden by the crop stays hidden.", "index": [ "917", 1 ] }, "class_type": "FL_PromptSelectorBasic", "_meta": { "title": "구도 오버라이드 (종단)" } }, "1045": { "inputs": { "string_a": [ "1051", 0 ], "string_b": [ "1044", 0 ], "delimiter": " " }, "class_type": "StringConcatenate", "_meta": { "title": "프롬프트+구도 오버라이드" } }, "1050": { "inputs": { "prompt": "You will see ONE image: either a fashion pose reference photo, or a blank placeholder with no person. The photo may carry a thin plain-background band added around its edges for technical reasons — ignore that band completely and judge only where the PHOTO ITSELF cuts the person's body. If there is NO person, reply exactly: REFERENCE CROP INFO: none. If there IS a person, reply in ONE line with no other text: REFERENCE CROP INFO: the reference frame cuts the person at [pick exactly one: full body including feet / ankles / mid-shin / knees / mid-thigh / hips / waist / chest / shoulders]; frame fill: [pick one: tight — person fills the frame edge to edge / medium — small margins around the person / loose — large margins]; everything below the cut point is OUTSIDE the reference frame. RULES: judge ONLY by where the body is visibly cut — a tight close crop (chest or waist) is common and valid, NEVER round it toward a wider shot; if the cut falls between two options, pick the TIGHTER (higher) one; never widen your judgement because clothing would be hidden by the crop.", "persist_context": false, "model": "gpt-5-mini", "images": [ "916", 0 ] }, "class_type": "OpenAIChatNode", "_meta": { "title": "레퍼런스 크롭 분석 (GPT 비전)" } }, "1051": { "inputs": { "string_a": [ "1002", 0 ], "string_b": [ "1050", 0 ], "delimiter": " " }, "class_type": "StringConcatenate", "_meta": { "title": "레퍼런스 크롭 정보 주입" } }, "1060": { "inputs": { "image": "detail_placeholder.png" }, "class_type": "LoadImage", "_meta": { "title": "디테일 참조 1" } }, "1061": { "inputs": { "image": "detail_placeholder.png" }, "class_type": "LoadImage", "_meta": { "title": "디테일 참조 2" } }, "1062": { "inputs": { "image": "detail_placeholder.png" }, "class_type": "LoadImage", "_meta": { "title": "디테일 참조 3" } }, "1063": { "inputs": { "image": "detail_placeholder.png" }, "class_type": "LoadImage", "_meta": { "title": "디테일 참조 4" } }, "1055": { "inputs": { "source": [ "1050", 0 ] }, "class_type": "PreviewAny", "_meta": { "title": "[로그] 크롭 분석 결과" } }, "1056": { "inputs": { "source": [ "1045", 0 ] }, "class_type": "PreviewAny", "_meta": { "title": "[로그] 최종 프롬프트" } }, "1057": { "inputs": { "images": [ "915", 0 ] }, "class_type": "PreviewImage", "_meta": { "title": "[로그] GPT 원본 (보정 전)" } } }