+
    iC              	      `  a  0 t $ R t^ RIHt ^ RIHt ]P                  ! 4       R,          t]P                  ! 4       R,          tRt	Rt
RRR	R
RRRR/tRRR	RRRRR/t]
 R2tRtRtRRR	RRRRR/tRtRtRtRtRt. RR]]RR3NRR]]R R!3NR"R]]R#R$3NR%R]]R&R'3NR(R]]R)R*3NR+R]]R,R-3NR.R]]R/R03NR1R]]R2R33NR4R	]]R5R63NR7R	]]R8R93NR:R	]]R;R<3NR=R	]]R>R?3NR@R	]]RARB3NRCR	]]RDRE3NRFR	]]RGRH3NRIR]]RJRK3NRLR]]RMRN3NROR]]RPRQ3NRRR]]RSRT3NRUR]]RVRW3NRXR]]RYRZ3NR[R]]R\R]3NR^R]]R_R`3NRaR]]RbRc3NRdR]]ReRf3NRgR]]RhRi3NRjR]]RkRl3NRmR]]RnRo3NRpR]]RqRr3NRsR]]RtRu3NRvR]]RwRx3NtRy]Rz&   R{ R| ltR} R~ lt]R8X  d   ^ RIt]P8                  ! 4       t]P=                  RRR7       ]P?                  4       t ] PB                  '       dY   ] F>  w  t"t#t$t%t&t'](! R]" R]# R24       ](! R]! ]#]%]&4       24       ](! R]! ]#]'4       24       K@  	  ](! R])! ]4       R24       R# R# R# )ux  MINSEO Qwen-Image-2512 LoRA v1 학습용 데이터셋 정의.

dockaiq i2i-qwen-image-edit-lightning-4step 로 face_sheet 기반 변주 31장 생성.
musubi-tuner 요구 포맷(image.png + image.txt 쌍).

구성비 (lora-character-qwen spec):
  close-up 8 / bust 7 / thigh-up 6 / full-body 10 = 31

의상 다양성 (2026-04-27 monoculture 회피 규약 적용):
  full-body 10장 = form-fitting 5 + casual mid 3 + outerwear 2
  bust/thigh-up 도 same 핏 4장 이상 연속 금지
  caption 에 'wearing {옷}' 토큰 강제

캐릭터: rock/punk solo artist. 블랙·레드·체크·레더재킷·스터드·밴드티 모티프.
)annotations)PathuJ   Documents/vault/chosn/people/MINSEO/비주얼/캐릭터시트 - 얼굴.pngz1ai/experiments/minseo-dataset-gen/dataset/croppedz#i2i-qwen-image-edit-lightning-4stepminseo_chosnzclose-up bustz^Body: slim toned dancer build, broad but softly sculpted shoulders, long horizontal clavicles.zthigh-upzBody: lean dancer build, broad shoulders softly wider than hips, long horizontal clavicles, narrow waist, gently curved glutes from years of dance training.z	full-bodyzBody: approximately 168cm tall, slim lean dancer build, broad but softly sculpted shoulders subtly wider than hips, long horizontal clavicles, narrow natural waist, gently curved glutes, slender long toned legs, 8-to-8.5 head proportion.z=slim dancer upper build, broad soft shoulders, long clavicleszKlean dancer build, broad soft shoulders, narrow waist, gently curved glutesz168cm tall, slim lean dancer build, broad soft shoulders subtly wider than hips, long clavicles, narrow waist, gently curved glutes, slender long legs, 8-head proportionz, korean womanzExtreme close-up of face and jawline only, cropped tightly above the collarbone, NO shoulders, NO clothing visible in frame. Face fills three-quarters of the frame, rule of thirds composition with eyes on the upper horizontal line.zwBust shot from the mid-chest up, head in the upper third of the frame with gentle headroom, rule of thirds composition.zxThree-quarter frame from mid-thigh up, head in the upper third, rule of thirds composition with generous vertical space.ztFull body in frame head to toe with feet visible, wide framing, head in the upper third, rule of thirds composition.uu   Relaxed natural posture, weight shifted onto one leg, shoulders dropped, caught mid-moment — not posed for a photo.zAGentle closed-mouth smile with a faint eye crinkle, relaxed gaze.z9Composed calm expression, relaxed mouth, soft alert gaze.zLCandid unposed laugh caught mid-moment, eyes crinkled, teeth barely visible.uq   Intense focused expression, lips slightly parted, sharp gaze toward the lens — rocker presence, not aggressive.closeup_01_studio_neutralzStudio face portrait against a deep charcoal seamless backdrop. Cool soft key light from camera left. Long jet-black hair with subtle red-tinted highlights, slightly tousled. Smoky eye makeup, matte deep red lip. Direct eye contact.zstudio portrait, charcoal backdrop, cool key light, jet black hair red highlights, smoky eyes, matte red lip, direct eye contact closeup_02_threequarter_tungstenzThree-quarter face angle turned slightly toward the lens. Warm tungsten key from camera-right with amber atmospheric haze. A few hair strands fall across the forehead. Black-lined eyes.z]three-quarter face angle, warm tungsten key, amber haze, hair across forehead, black eyelinercloseup_03_profile_rimzClean side profile silhouette. Hard rim light from behind defines the nose bridge and jawline. Hair gathered into a messy low pony with a few escaping strands. Deep maroon studio wall.zDclean side profile, hard rim light, messy low pony, deep maroon wallcloseup_04_neon_alley_lookupzOutdoor night alleyway. Magenta and cyan neon spill across the face from above. Slight head tilt, sharp gaze upward. Hair damp from light rain.zMneon alley night, magenta cyan spill, head tilt, sharp upward gaze, damp haircloseup_05_candid_laughzCaught mid-laugh, eyes crinkled. Natural sun catchlights. Shallow depth of field. Out-of-focus brick wall with graffiti behind.zMcandid mid-laugh, sun catchlight, shallow depth of field, graffiti brick wallcloseup_06_overcast_windowzCool overcast window light from a tall steel-frame window. Long black hair frames the face. Faint closed-mouth smile. Slate gray industrial wall behind.zXovercast window light, steel frame window, hair framing face, slate gray industrial wallcloseup_07_stage_rim_redzLive stage moment. Hard red wash light raking from camera right, bluish ambient fill. Sweat-glossed skin under the lights. Microphone barely visible at the bottom edge.zJlive stage red wash light, blue ambient fill, sweat-glossed skin, mic edgecloseup_08_rooftop_skylookzFace tilted slightly upward toward an open sky. Soft late-afternoon top light. Faint smile. Concrete rooftop edge softly out of focus behind.zVface tilted up sky, late afternoon top light, faint smile, concrete rooftop backgroundbust_01_studio_blacktankzClean white cyclorama studio. Fitted ribbed black tank top with thin straps, exposed collarbones. Long black hair loose. Soft frontal softbox lighting.zuwhite cyclorama studio, wearing fitted ribbed black tank top thin straps, loose long black hair, soft frontal softboxbust_02_garage_bandteezPractice garage with stacked guitar amps behind. Vintage faded black band tee with washed graphic, cropped slightly at the hem. Warm tungsten work-light from side.zupractice garage, stacked guitar amps, wearing vintage faded black band tee cropped slightly, warm tungsten side lightbust_03_alley_leatherbralettezzNarrow Seoul back alley at night. Black leather bralette top with silver hardware, no jacket. Magenta-cyan neon rim light.z]seoul back alley night, wearing black leather bralette silver hardware, magenta cyan neon rimbust_04_studio_redcheckzSoft daylight studio. Oversized red plaid flannel shirt unbuttoned over a fitted white tee. Hands halfway tucked into front pockets.zmdaylight studio, wearing oversized red plaid flannel shirt unbuttoned over fitted white tee, hands in pocketsbust_05_dressing_studded_jacketzBackstage dressing room. Hollywood mirror bulbs rim-light the silhouette. Black leather biker jacket with metal studs across the shoulders, bare collarbones underneath. Adjusting a chain choker.zbackstage dressing room, hollywood mirror bulbs, wearing black studded leather biker jacket bare collarbones, adjusting chain chokerbust_06_cafe_tankknitzCafe interior with warm tungsten pendants. Charcoal ribbed knit tank with deep neckline. Resting forearms on a pale oak table. Steaming cup blurred in foreground.zlcafe interior, warm tungsten pendants, wearing charcoal ribbed knit tank deep neckline, oak table foregroundbust_07_rooftop_meshlongzRooftop garden in afternoon. Long-sleeve sheer black mesh top layered over a black bralette. Concrete planter foreground out of focus. Soft city skyline behind.zrooftop afternoon, wearing long-sleeve sheer black mesh top over black bralette, concrete planter foreground, soft skyline backgroundthigh_01_street_skinnyjeanszWalking along a Seoul side street at dusk. Black skinny jeans and a fitted black band tee tucked in halfway. Black studded belt visible at waist. Hands relaxed at sides.zcseoul side street dusk, wearing black skinny jeans fitted black band tee tucked, black studded beltthigh_02_stage_leatherpantszLive stage under purple and red wash lights. Black faux-leather pants and a fitted cropped black tank. Hand on a microphone stand blurred in foreground. Sweat sheen.zostage purple red wash, wearing black leather pants fitted cropped black tank, mic stand foreground, sweat sheenthigh_03_redslip_windowzSeated on a tall stool at a bar window. Deep blood-red satin slip dress with thin straps, knee-length. One leg crossed. Empty glass on the bar.zibar window stool, wearing deep red satin slip dress thin straps knee-length, one leg crossed, empty glassthigh_04_park_oversizedhoodiezPark path in late afternoon. Oversized vintage gray hoodie with washed band logo and ripped light-wash blue jeans. Hands tucked into hoodie pocket.zrpark path late afternoon, wearing oversized gray vintage band hoodie ripped light-wash blue jeans, hands in pocketthigh_05_recordstore_plaidskirtzWood-paneled record store. Pleated red-and-black tartan plaid mini skirt with a fitted black turtleneck tucked in. One hand pulling a record sleeve from a bin. Black tights.zzvinyl record store, wearing red black tartan plaid mini skirt fitted black turtleneck tucked, black tights, hand on recordthigh_06_alley_studded_jacketzBrick alley near a music venue. Black studded leather biker jacket open over a worn red tank, distressed black jeans. Streetlight side lighting.z~brick alley music venue, wearing black studded leather jacket open over worn red tank distressed black jeans, streetlight sidefullbody_01_studio_bodysuitzPlain white seamless studio backdrop. Long-sleeve fitted black bodysuit with a high neckline, full-length form-fitting body. Barefoot. Arms relaxed at sides. Even softbox lighting head to toe.zowhite seamless studio, wearing long-sleeve fitted black bodysuit high neckline, barefoot, even softbox lightingfullbody_02_dance_studio_legszMirrored dance studio with wooden floor. Black sports bra crop top and high-waisted black leggings with mesh side panels. White sneakers. Mid-warmup with one arm extended overhead. Floor-to-ceiling windows behind.zmirrored dance studio, wearing black sports bra crop top high-waisted black leggings mesh side panels, white sneakers, warmup pose fullbody_03_alley_skinny_bandteezNarrow back alley at night. Black skinny jeans and a tight-fitting vintage black band tee tucked in. Black combat boots. Studded leather belt. Hands hooked into belt loops. Magenta neon spill from a sign behind.znarrow alley night, wearing black skinny jeans tight black band tee tucked, black combat boots, studded leather belt, magenta neonfullbody_04_stage_leather_fullzConcert stage view from front-of-house. Black leather pants, a fitted cropped black tank, fishnet underlayer on arms. Black ankle boots with low heels. Microphone in hand. Stage lights flaring behind.zconcert stage front view, wearing black leather pants fitted cropped black tank fishnet arms, black ankle boots, microphone, stage light flaresfullbody_05_studio_redslipzEditorial studio with deep maroon backdrop. Floor-length blood-red satin slip dress with side slit revealing one leg, thin straps. Black strappy sandals. Long hair over one shoulder.zeditorial studio maroon backdrop, wearing floor-length blood-red satin slip dress side slit thin straps, black strappy sandals, hair over shoulder#fullbody_06_street_oversized_hoodiezCrossing a wide pedestrian crossing in evening. Oversized washed-black band hoodie hanging mid-thigh, baggy ripped light-wash blue jeans, chunky white sneakers. Caught mid-stride. Blurred traffic.zpedestrian crosswalk evening, wearing oversized washed-black band hoodie ripped light-wash blue jeans, chunky white sneakers, mid-stridefullbody_07_park_plaid_dresszTree-lined park path mid-day. Red-and-black tartan plaid mini dress with short sleeves, knee-length. Black knee-high socks. Black low-heel mary janes. Canvas tote bag in one hand. Dappled sunlight.zpark path mid-day, wearing red black tartan plaid mini dress short sleeves, black knee-high socks, black mary janes, canvas tote, dappled sun fullbody_08_subway_oversized_teezEmpty subway platform in evening. Oversized vintage white band tee with faded graphic, hem reaching mid-thigh, layered over wide-leg distressed gray cargo pants. Black combat boots. Platform fluorescents casting shadows.zsubway platform evening, wearing oversized vintage white band tee wide-leg distressed gray cargo pants, black combat boots, fluorescent shadows"fullbody_09_rooftop_studded_jacketzRooftop balcony at night with Seoul skyline behind. Black studded leather biker jacket open over a fitted black tank and high-waisted black skinny jeans. Black combat boots. City bokeh in background.zrooftop night seoul skyline, wearing black studded leather biker jacket fitted black tank high-waisted black skinny jeans, combat boots, city bokehfullbody_10_garage_long_coatzPractice garage with brick wall and amplifier stack. Long oversized black wool coat reaching mid-calf, open over a fitted black turtleneck and black skinny jeans. Black ankle boots. Coat falling open showing full body silhouette.zpractice garage brick wall amps, wearing long oversized black wool coat over fitted black turtleneck black skinny jeans, black ankle boots, coat openz5list[tuple[str, str, tuple[int, int], str, str, str]]ITEMSc               (    V ^8  d   QhRRRRRRRR/# )   compositionstrexprscenereturn )formats   ";/Volumes/fast/ai/experiments/minseo-dataset-gen/generate.py__annotate__r1      s(      c  S S     c                    \         V ,          p\        V ,          pR V.pV'       d   VP                  V4       V\        VRV 2R.,          pRP	                  V4      # )zAKeep the exact face, hair, and identity from the reference image.zScene: zCPhotorealistic, natural color, subtle filmic grain, 35mm lens feel. )FRAMINGBODY_ANATOMYappendPOSE_DEFAULTjoin)r)   r+   r,   framingbodypartss   &&&   r0   build_promptr=      sf    k"G$DKE T	
%M	 E 88E?r2   c               $    V ^8  d   QhRRRRRR/# )r(   r)   r*   tailr-   r.   )r/   s   "r0   r1   r1      s!      s # # r2   c                    \         V ,          p\        .pV'       d   VP                  V4       W0V.,          pR P                  V4      # )z, )BODY_CAPTION_TAILCAPTION_IDENTITYr7   r9   )r)   r?   	body_tailsegmentss   &&  r0   build_captionrE      s?    !+.I !H	"d##H99Xr2   __main__Nz	--dry-run
store_true)actionz
=== z (z) ===z
  PROMPT: z  CAPTION: u   
총 u   장)i8  i  )*__conditional_annotations____doc__
__future__r   pathlibr   homeFACEDATASET_DIRWORKFLOWTRIGGERr6   rA   rB   SIZE_PORTRAIT	SIZE_TALLr5   r8   	EXPR_WARMEXPR_COMPOSED
EXPR_LAUGHEXPR_INTENSEr&   __annotations__r=   rE   __name__argparseArgumentParserpadd_argument
parse_argsargsdry_runstemcompsizer+   r,   r?   printlen)rI   s   @r0   <module>rf      s   # yy{aaiikOO0
 
l  o  A	 
K]  }	  Yn- 	   z
  F  K  H	 GO	K[
 Ce@ *m] p HIe@
 (]L Adfe@ z=- @KMe@ $Z WTVe@ 
M: GTVe@" ":}m `_a#e@(  ]L pQS)e@. ":}i U]_/e@8   _|~9e@> v}l k|~?e@D %fm\ BdfEe@J y LtvKe@P '} J LMQe@V fmY jsuWe@\   h MN]e@f #J} qjlge@l #J| mvxme@r 
M9 Wprse@x %j- [y{ye@~ '
M= u BCe@D %j- X FGEe@N #KM HvxOe@T %k9m ] JKUe@Z (i [ JK[e@` &{I| P WXae@f ";	9 ~ Z[ge@l +KM L PQme@r $[)Y M UVse@x (i d WXye@~ *;	< O [\e@D $[)] m ]^Ee@< eP$ z!ANN;|N4<<>D|||38/D$dE4F4&4&./J|D$>?@AKdD 9:;< 49 	s5zl#&'  r2   