신수심법 캐릭터 프롬프트 생성기 — 14주성 원문 코드·실행 결과·적용 차이

자료 성격: 실제 운영 중인 프롬프트 문장 생성기의 원문 코드·기능 검증·연관 분석. 주성 하나, 성별, 살성 수정자 최대 3개, 사화를 선택하여 Grok 한영·SeaArt/Flux·Midjourney 문장을 만드는 도구입니다.

출처와 확인 범위

(클로드) 자미두수 캐릭 분석 프롬프트 v1 — 마가삼 원문. 2026-10-04 공개 화면과 페이지 안 text/babel 스크립트 전체를 읽었습니다. 아래에 실제 JSX 코드 전체를 보존했습니다. 원대화 ID·사용자 최종 채택·수정 이력은 이 페이지에서 확인되지 않습니다. 사이트에 붙은 동일 코드의 관리자 스니펫 ID도 미확인입니다.

실제로 되는 기능

자미 남성·수정자 없음으로 생성해 Grok 한국어와 영어, SeaArt/Flux, Midjourney 출력이 모두 표시되는 것을 확인했습니다. 이어 파군 여성·경양·권으로 변경하고 다시 생성하여 여성 표기와 경양 수정 문구가 반영되는 것을 확인했습니다. ‘권’의 문구는 Grok과 SeaArt/Flux에는 나오지만 Midjourney에는 나오지 않습니다. 실제 코드의 Midjourney 문자열에도 sahwaE가 들어 있지 않습니다. 이 차이를 삭제하거나 성공으로 뭉뚱그리지 않고 그대로 남깁니다.

이는 텍스트 합성 성공입니다. 이미지·영상 생성, 외부 API, LoRA 학습이나 로딩이 실행됐다는 뜻이 아닙니다. 복사 버튼·모든 별 조합·세 수정자 상한의 실제 클릭 검증은 이번 범위 밖입니다. 코드는 toggleSal에서 salsung.length<3을 검사합니다.

데이터와 합성 구조

STARS에 주성 14개가 있고 sys·role·tag, shin(외형), su(눈빛·장부·뇌파 표기), sim(에너지·존재감), big3(한국어·영어 베이스·눈빛·에너지 문장)를 저장합니다. SALSUNG은 경양·타라·화성·영성·지겁·천공, SAHWA는 록·권·과·기입니다. ‘천공’ 표기를 지공으로 임의 교체하지 않았습니다. 별 데이터 자체는 남녀 별도 데이터가 아니라 공통이고 성별은 man/woman 및 남성/여성 문자열을 바꾸는 방식입니다.

Grok은 big3 문장들과 수정자·사화를 베이스에 붙입니다. SeaArt/Flux는 shin의 피부·골격·체형과 su.e 첫 구절 및 수정자·사화를 연결합니다. Midjourney는 shin.r, big3.be 첫 구절, 조명, 카메라와 수정자를 연결합니다. 조명은 sim.n 문자열에 high 또는 explosive가 있는지로 선택하며 수(受) 벡터 계산은 없습니다. 파군의 폭풍 전야 설명만으로 dramatic 조명이 적용되지는 않는 실제 결과도 확인했습니다.

원칙과 출력의 차이·연관 자료

화면에는 ‘형용사 금지, 물리적 좌표만 사용’이라고 적혀 있지만 실제 출력에는 serene authority, imperial tranquility, ‘우주의 질서’ 같은 추상 표현이 있습니다. 장부·뇌파 문자열도 데이터에 있지만 생리 상태를 측정하거나 계산하는 기능은 없습니다. 이를 신체 법칙이나 임상적 사실로 채택하지 않고 당시 AI의 캐릭터 표현 제안으로 보존합니다.

외형 프롬프트 전집의 한국인 초상 문장과 달리 이 코드는 별마다 민족·지역 외형을 연결합니다. 예를 들어 자미는 Northern European/Central Asian Aryan aristocrat, 파군은 Nordic/Viking pattern을 사용합니다. 이것은 원문 데이터의 표현이며 사용자 확정이나 별이 민족을 결정한다는 검증된 원리가 아닙니다. 두 데이터셋을 같은 외형 기준으로 자동 합치지 않습니다.

멀티 조합기 V2.3는 여러 주성을 선택하지만 이 생성기는 주성 하나를 선택합니다. 행동 이전 상태 연구의 입력·느낌·표현 계산과도 동일 프로그램이 아닙니다. 제작 가이드 v1의 장면·참조 고정·모션을 붙이는 후속 작업으로 연결할 수 있으나, 이 코드에는 참조 이미지나 동일인 고정 구현이 없습니다.

사용자 판단·현재 단계·다음 연결

원자료는 아래의 실제 코드와 직접 생성한 결과입니다. AI 제안은 별의 외형·장부·뇌파·에너지 대응과 프롬프트 합성 방식입니다. 사용자 확정·수정·거부는 원대화가 확보되지 않아 미확인입니다. SOL의 분석은 출력별 적용 차이와 관련 자료 간 충돌입니다. 원자료/출처 → 검색·분석 → 복원·정리 → 코드·데이터와 텍스트 생성 기능까지 확인했습니다. 이미지·영상·LoRA·게임 엔진·플레이는 미확인입니다.

다음은 원대화의 채택·수정 기록과 생성 이미지, 후속 코드 버전을 추적하여 이 문서의 코드와 직접 비교하는 것입니다. 정상 문장 생성과 설계상 누락을 구분하며, 누락이 있다고 도구 전체를 폐기하거나 기존 사이트 코드를 임의 수정하지 않습니다.

직접 실행 결과 — 파군 여성·경양·권

Grok 한국어

[파군성 여성]

【베이스(신/身)】
날카로운 각 추가, 결단력, 권위와 통솔력 추가. 거친 바이킹의 두꺼운 피부, 넓은 어깨뼈, 불규칙한 흉터의 역사

【눈빛(수/受)】
끊임없이 스캔하는 시선, 가능성을 찾는 눈, 변화를 갈망하는 빛

【에너지(심/心)】
폭풍 전야의 에너지, 파괴와 재건을 동시에 품은 역동성

【존재감】
이 캐릭터는 억지로 연기하지 않으며, 우주의 질서 그 자체로 화면에 존재한다.

Grok 영어

[파군 Star Woman]

【Base (Shin/身)】
A woman with Nordic/Viking pattern features.
sharp angles added, decisiveness, added authority and command. rough Viking thick skin, broad shoulder bones, history of irregular scars

【Eyes (Su/受)】
constantly scanning gaze, eyes seeking possibilities, light craving change

【Energy (Sim/心)】
pre-storm energy, dynamism holding both destruction and rebuilding

【Presence】
This character does not force performance. They exist as universal order itself.

SeaArt/Flux

A woman portrait, Nordic/Viking pattern ethnicity, rough pale skin, rugged irregular structure, broad shoulders, bulky powerful mesomorph body type, eyes conveying constantly scanning gaze, sharp angles added, decisiveness, added authority and command. natural lighting, photorealistic, professional portrait, relaxed jaw, anatomically correct

Midjourney

portrait of a woman, Nordic/Viking pattern, rough Viking thick skin, soft natural light, shot on Hasselblad H6D-100c 85mm f/1.4, sharp angles added, decisiveness, depth of field --v 6 --ar 3:4 --style raw

원문 코드 전체 — 공개 페이지의 text/babel 스크립트

설명만이 아니라 주성 데이터와 합성·UI 코드를 모두 보존합니다. 실행용 삽입이 아닌 읽을 수 있는 원문 보관입니다. 외부 React·ReactDOM·Babel 의존성과 CSS는 별도이므로 아래 JSX 하나가 독립 HTML 전체라고 주장하지 않습니다.

const{useState}=React;

const STARS={
'자미':{sys:'북두',role:'제왕성',tag:'b',
shin:{r:'Northern European/Central Asian Aryan aristocrat',s:'pale translucent porcelain skin',b:'refined angular bone, long limbs',y:'lean ectomorph'},
su:{e:'deep serene authority, infinite contemplative gaze',o:'심장/소장 안정',w:'gamma wave'},
sim:{n:'absolute stability, imperial tranquility',p:'surroundings align without movement'},
big3:{bk:'황제의 정돈된 골격, 위엄 있는 턱선, 차분한 정오의 빛',be:'refined imperial bone structure, dignified jawline, calm noon light',
ek:'깊고 고요한 위엄, 무한한 관조의 시선, 절대적 안정감',ee:'deep serene authority, infinite contemplative gaze, absolute stability',
nk:'움직이지 않아도 주변이 정렬되는 존재감, 제왕의 고요함',ne:'presence that aligns surroundings without movement, imperial tranquility'}},

'칠살':{sys:'북두',role:'장군성',tag:'b',
shin:{r:'Northern nomadic warrior (Mongol/Turkic)',s:'weathered bronze skin',b:'sharp prominent cheekbones, direct jawline',y:'dense combat mesomorph'},
su:{e:'sharp focus, battlefield-reading gaze, reflexive alertness',o:'간담 긴장',w:'high beta wave'},
sim:{n:'latent explosive power, controlled danger',p:'tension awaiting decisive moment'},
big3:{bk:'전사의 단련된 광대뼈, 날씨에 단련된 피부, 직선적 턱선',be:'warrior tempered cheekbones, weather-beaten skin, direct jawline',
ek:'예리한 집중력, 전장을 읽는 눈, 반사적 경계심',ee:'sharp focus, battlefield-reading eyes, reflexive alertness',
nk:'잠재된 폭발력, 통제된 위험성, 결단의 순간을 기다리는 긴장',ne:'latent explosive power, controlled danger, tension awaiting decision'}},

'파군':{sys:'북두',role:'파괴재건성',tag:'b',
shin:{r:'Nordic/Viking pattern',s:'rough pale skin',b:'rugged irregular structure, broad shoulders',y:'bulky powerful mesomorph'},
su:{e:'constantly scanning gaze, seeking change',o:'폐/대장 활성',w:'erratic beta wave'},
sim:{n:'pre-storm energy, destruction and rebuilding',p:'revolutionary dynamism'},
big3:{bk:'거친 바이킹의 두꺼운 피부, 넓은 어깨뼈, 불규칙한 흉터의 역사',be:'rough Viking thick skin, broad shoulder bones, history of irregular scars',
ek:'끊임없이 스캔하는 시선, 가능성을 찾는 눈, 변화를 갈망하는 빛',ee:'constantly scanning gaze, eyes seeking possibilities, light craving change',
nk:'폭풍 전야의 에너지, 파괴와 재건을 동시에 품은 역동성',ne:'pre-storm energy, dynamism holding both destruction and rebuilding'}},

'탐랑':{sys:'북두',role:'다재다능성',tag:'b',
shin:{r:'Slavic/Middle Eastern hybrid',s:'warm olive complexion',b:'dramatic deep eye orbits, striking features',y:'flexible versatile build'},
su:{e:'converging and diverging gaze, magnetic curiosity',o:'신장/방광 활성',w:'excited alpha wave'},
sim:{n:'attractive pull, versatile possibilities',p:'charismatic oscillation'},
big3:{bk:'깊은 안와의 화려한 이목구비, 유연한 몸, 매혹적인 피부결',be:'deep eye orbits with striking features, flexible body, captivating skin texture',
ek:'수렴과 발산이 공존하는 눈빛, 호기심과 욕망의 자기장',ee:'gaze of convergence and divergence, magnetic field of curiosity and desire',
nk:'끌어당기는 매력, 다양한 가능성을 품은 변화무쌍함',ne:'attractive pull, protean nature holding various possibilities'}},

'무곡':{sys:'북두',role:'재성',tag:'b',
shin:{r:'Central European/Germanic merchant',s:'fair skin',b:'square reliable jawline, balanced frame',y:'solid endomorph'},
su:{e:'evaluating gaze, calculating eyes',o:'비위 안정',w:'focused beta wave'},
sim:{n:'solid trustworthiness, tangible substance',p:'stable wealth-handling presence'},
big3:{bk:'신뢰감 있는 사각 턱선, 균형 잡힌 골격, 실용적 인상',be:'trustworthy square jawline, balanced bone structure, practical impression',
ek:'평가하는 시선, 가치를 재는 눈, 숨겨진 계산',ee:'evaluating gaze, value-assessing eyes, hidden calculation',
nk:'묵직한 신뢰감, 손에 잡히는 실체, 재물을 다루는 안정감',ne:'weighty trustworthiness, tangible substance, stability in handling wealth'}},

'염정':{sys:'북두',role:'인연성',tag:'b',
shin:{r:'Mediterranean/Latin',s:'warm olive skin',b:'elegant passionate structure',y:'balanced attractive build'},
su:{e:'inviting gaze, emotional flames',o:'심포/삼초 활성',w:'fluctuating alpha wave'},
sim:{n:'emotional rollercoaster, passion and coldness',p:'intense romantic presence'},
big3:{bk:'우아한 지중해식 골격, 따뜻한 피부톤, 열정적인 인상',be:'elegant Mediterranean bone structure, warm skin tone, passionate impression',
ek:'초대하는 듯한 시선, 감정의 불꽃, 사랑과 질투의 공존',ee:'inviting gaze, flames of emotion, coexistence of love and jealousy',
nk:'감정의 롤러코스터, 열정과 냉담을 오가는 강렬함',ne:'emotional rollercoaster, intensity swinging between passion and coldness'}},

'천부':{sys:'남두',role:'재고성',tag:'n',
shin:{r:'Indian Dravidian/Southeast Asian elite',s:'warm golden skin',b:'soft curves, stable structure',y:'abundant endomorph'},
su:{e:'receptive gaze, maternal warmth',o:'비위 풍족',w:'stable alpha wave'},
sim:{n:'stable abundant energy, nurturing',p:'embracing presence'},
big3:{bk:'풍요로운 황금빛 피부, 부드러운 곡선, 안정적인 체격',be:'abundant golden skin, soft curves, stable physique',
ek:'수용하는 시선, 모성적 온기, 모든 것을 품는 깊이',ee:'receptive gaze, maternal warmth, depth that embraces everything',
nk:'안정적이고 풍요로운 에너지, 양육하는 존재감',ne:'stable abundant energy, nurturing presence'}},

'천상':{sys:'남두',role:'인장성',tag:'n',
shin:{r:'Southern Han/Southeast Asian elite',s:'smooth fair skin',b:'symmetrical diplomatic structure',y:'balanced composite build'},
su:{e:'diplomatic gaze, reading others',o:'심장 안정',w:'balanced alpha wave'},
sim:{n:'mediating harmonizing energy',p:'balanced presence'},
big3:{bk:'대칭적 이목구비, 매끄러운 피부, 외교관의 인상',be:'symmetrical features, smooth skin, diplomat impression',
ek:'외교적 시선, 상대를 읽는 눈, 조화를 찾는 관찰력',ee:'diplomatic gaze, eyes reading others, observation seeking harmony',
nk:'조율하고 중재하는 에너지, 균형 잡힌 존재감',ne:'mediating harmonizing energy, balanced presence'}},

'천기':{sys:'남두',role:'지혜성',tag:'n',
shin:{r:'South Asian intellectual',s:'thin delicate skin',b:'agile slim structure',y:'light ectomorph'},
su:{e:'analytical gaze, pattern-reading eyes',o:'간담 민첩',w:'active gamma wave'},
sim:{n:'quick adaptive energy, strategic',p:'strategist presence'},
big3:{bk:'날렵한 학자의 골격, 섬세한 피부, 민첩한 인상',be:'agile scholar bone structure, delicate skin, nimble impression',
ek:'분석하는 시선, 패턴을 읽는 눈, 전략을 계산하는 깊이',ee:'analytical gaze, pattern-reading eyes, depth calculating strategy',
nk:'빠르고 적응적인 에너지, 전략적 존재감',ne:'quick adaptive energy, strategic presence'}},

'천동':{sys:'남두',role:'복덕성',tag:'n',
shin:{r:'Polynesian/Southern abundance pattern',s:'warm hydrated skin',b:'round friendly structure',y:'comfortable endomorph'},
su:{e:'friendly gaze, comforting eyes',o:'비위 이완',w:'relaxed alpha wave'},
sim:{n:'comfortable inclusive energy',p:'welcoming presence'},
big3:{bk:'둥글고 친근한 얼굴, 따뜻한 피부결, 편안한 인상',be:'round friendly face, warm skin texture, comfortable impression',
ek:'친근한 시선, 편안함을 주는 눈, 판단 없는 수용',ee:'friendly gaze, comforting eyes, acceptance without judgment',
nk:'편안하고 포용하는 에너지, 모두를 환영하는 존재감',ne:'comfortable inclusive energy, presence welcoming everyone'}},

'천량':{sys:'남두',role:'청백성',tag:'n',
shin:{r:'East Asian scholar/official',s:'pale scholarly complexion',b:'angular principled structure',y:'disciplined ectomorph'},
su:{e:'discerning gaze, black-white judgment',o:'폐/대장 명료',w:'clear beta wave'},
sim:{n:'judicial authority, judging',p:'adjudicator presence'},
big3:{bk:'각진 학자의 골격, 창백한 안색, 원칙적인 인상',be:'angular scholar bone structure, pale complexion, principled impression',
ek:'분별하는 시선, 흑백을 가르는 눈, 정의를 추구하는 날카로움',ee:'discerning gaze, black-white dividing eyes, sharpness pursuing justice',
nk:'판관의 권위, 심판하는 존재감',ne:'judicial authority, adjudicating presence'}},

'거문':{sys:'남두',role:'암성',tag:'n',
shin:{r:'Mixed/complex origins',s:'variable complex skin tones',b:'mysterious structure',y:'unclassifiable build'},
su:{e:'probing deep gaze, secret-seeking eyes',o:'복합적 장부',w:'variable brain waves'},
sim:{n:'enigmatic energy, hidden frequency',p:'covert presence'},
big3:{bk:'복잡한 피부톤, 신비로운 골격, 읽기 어려운 인상',be:'complex skin tones, mysterious bone structure, hard-to-read impression',
ek:'탐색하는 깊은 시선, 비밀을 캐는 눈, 숨겨진 의도',ee:'probing deep gaze, secret-seeking eyes, hidden intentions',
nk:'수수께끼 같은 에너지, 은밀한 존재감',ne:'enigmatic energy, covert presence'}},

'태양':{sys:'중천',role:'광명성',tag:'z',
shin:{r:'Equatorial/tropical pattern',s:'radiant warm skin',b:'open bright structure',y:'vigorous mesomorph'},
su:{e:'outward radiating gaze, light-giving eyes',o:'심장 활발',w:'high active beta wave'},
sim:{n:'inspiring high energy, outward',p:'radiating presence'},
big3:{bk:'빛나는 피부, 열린 표정, 활력 넘치는 인상',be:'radiant skin, open expression, vigorous impression',
ek:'바깥으로 발산하는 시선, 빛을 주는 눈, 희망을 전하는 따뜻함',ee:'outward radiating gaze, light-giving eyes, warmth conveying hope',
nk:'영감을 주는 고에너지, 밖으로 발산하는 존재감',ne:'inspiring high energy, outward radiating presence'}},

'태음':{sys:'중천',role:'모성성',tag:'z',
shin:{r:'Temperate/cold pattern',s:'pale luminous skin',b:'gentle reflective structure',y:'receptive endomorph'},
su:{e:'inward reflecting gaze, deep empathic eyes',o:'신장 수용',w:'deep theta wave'},
sim:{n:'nurturing low energy, inward pulling',p:'drawing-in presence'},
big3:{bk:'창백하고 빛나는 피부, 부드러운 곡선, 달빛 같은 인상',be:'pale luminous skin, soft curves, moonlight-like impression',
ek:'안으로 반사하는 시선, 깊은 공감의 눈, 모든 것을 비추는 고요함',ee:'inward reflecting gaze, deep empathic eyes, stillness illuminating everything',
nk:'양육하는 저에너지, 안으로 끌어들이는 존재감',ne:'nurturing low energy, inward drawing presence'}}
};

const SALSUNG={
'경양':{k:'날카로운 각 추가, 결단력',e:'sharp angles added, decisiveness'},
'타라':{k:'비대칭성, 숨겨진 복잡성',e:'asymmetry, hidden complexity'},
'화성':{k:'따뜻함과 긴박감',e:'warmth and urgency'},
'영성':{k:'유동성과 예측불가',e:'fluidity and unpredictability'},
'지겁':{k:'비어있는 느낌, 공허',e:'emptiness, void'},
'천공':{k:'물질 초월, 영적',e:'transcending material, spiritual'}
};

const SAHWA={
'록':{k:'풍요와 밝음 증가',e:'increased abundance and brightness'},
'권':{k:'권위와 통솔력 추가',e:'added authority and command'},
'과':{k:'지적 깊이와 정제',e:'intellectual depth and refinement'},
'기':{k:'긴장과 갈등 추가',e:'added tension and conflict'}
};

const App=()=>{
const[star,setStar]=useState('자미');
const[gender,setGender]=useState('male');
const[salsung,setSalsung]=useState([]);
const[sahwa,setSahwa]=useState('');
const[tab,setTab]=useState('grok');
const[result,setResult]=useState(null);

const generate=()=>{
const d=STARS[star];
const gK=gender==='male'?'남성':'여성';
const gE=gender==='male'?'man':'woman';

let modK='',modE='';
salsung.forEach(s=>{if(SALSUNG[s]){modK+=SALSUNG[s].k+', ';modE+=SALSUNG[s].e+', ';}});

let sahwaK='',sahwaE='';
if(sahwa&&SAHWA[sahwa]){sahwaK=SAHWA[sahwa].k+'. ';sahwaE=SAHWA[sahwa].e+'. ';}

const grokKor=`[${star}성 ${gK}]

【베이스(신/身)】
${modK}${sahwaK}${d.big3.bk}

【눈빛(수/受)】
${d.big3.ek}

【에너지(심/心)】
${d.big3.nk}

【존재감】
이 캐릭터는 억지로 연기하지 않으며, 우주의 질서 그 자체로 화면에 존재한다.`;

const grokEng=`[${star} Star ${gE.charAt(0).toUpperCase()+gE.slice(1)}]

【Base (Shin/身)】
A ${gE} with ${d.shin.r} features.
${modE}${sahwaE}${d.big3.be}

【Eyes (Su/受)】
${d.big3.ee}

【Energy (Sim/心)】
${d.big3.ne}

【Presence】
This character does not force performance. They exist as universal order itself.`;

const seaart=`A ${gE} portrait, ${d.shin.r} ethnicity, ${d.shin.s}, ${d.shin.b}, ${d.shin.y} body type, eyes conveying ${d.su.e.split(',')[0].toLowerCase()}, ${modE}${sahwaE}natural lighting, photorealistic, professional portrait, relaxed jaw, anatomically correct`;

const midjourney=`portrait of a ${gE}, ${d.shin.r}, ${d.big3.be.split(',')[0]}, ${d.sim.n.includes('high')||d.sim.n.includes('explosive')?'dramatic Rembrandt lighting':'soft natural light'}, shot on Hasselblad H6D-100c 85mm f/1.4, ${modE}depth of field --v 6 --ar 3:4 --style raw`;

setResult({grokKor,grokEng,seaart,midjourney,star,sys:d.sys,role:d.role,tag:d.tag});
};

const copy=(txt)=>{navigator.clipboard.writeText(txt);alert('복사됨!');};

const toggleSal=(s)=>{
if(salsung.includes(s))setSalsung(salsung.filter(x=>x!==s));
else if(salsung.length<3)setSalsung([...salsung,s]);
};

return(
<div>
<h2 style={{fontSize:'1.5rem',fontWeight:'800',marginBottom:'20px',color:'#60a5fa'}}>🎭 신수심법 캐릭터 프롬프트 생성기</h2>

<div className="ss-card">
<div style={{display:'grid',gridTemplateColumns:'1fr 1fr',gap:'16px',marginBottom:'16px'}}>
<div>
<label className="ss-label">주성 (主星)</label>
<select className="ss-select" value={star} onChange={e=>setStar(e.target.value)}>
<optgroup label="북두 계열">
<option value="자미">자미 (제왕성)</option>
<option value="칠살">칠살 (장군성)</option>
<option value="파군">파군 (파괴재건성)</option>
<option value="탐랑">탐랑 (다재다능성)</option>
<option value="무곡">무곡 (재성)</option>
<option value="염정">염정 (인연성)</option>
</optgroup>
<optgroup label="남두 계열">
<option value="천부">천부 (재고성)</option>
<option value="천상">천상 (인장성)</option>
<option value="천기">천기 (지혜성)</option>
<option value="천동">천동 (복덕성)</option>
<option value="천량">천량 (청백성)</option>
<option value="거문">거문 (암성)</option>
</optgroup>
<optgroup label="중천">
<option value="태양">태양 (광명성)</option>
<option value="태음">태음 (모성성)</option>
</optgroup>
</select>
</div>
<div>
<label className="ss-label">성별</label>
<select className="ss-select" value={gender} onChange={e=>setGender(e.target.value)}>
<option value="male">남성 (Male)</option>
<option value="female">여성 (Female)</option>
</select>
</div>
</div>

<div style={{marginBottom:'16px'}}>
<label className="ss-label">살성 수정자 (최대 3개)</label>
<div style={{display:'flex',flexWrap:'wrap',gap:'8px'}}>
{Object.keys(SALSUNG).map(s=>(
<button key={s} onClick={()=>toggleSal(s)} style={{
padding:'8px 14px',borderRadius:'6px',border:'1px solid',cursor:'pointer',fontWeight:'600',fontSize:'13px',
background:salsung.includes(s)?'#3b82f6':'#1e293b',
color:salsung.includes(s)?'#fff':'#94a3b8',
borderColor:salsung.includes(s)?'#3b82f6':'#475569'
}}>{s}</button>
))}
</div>
</div>

<div style={{marginBottom:'20px'}}>
<label className="ss-label">사화 (四化)</label>
<div style={{display:'flex',gap:'8px'}}>
{['','록','권','과','기'].map(s=>(
<button key={s||'none'} onClick={()=>setSahwa(s)} style={{
padding:'8px 14px',borderRadius:'6px',border:'1px solid',cursor:'pointer',fontWeight:'600',fontSize:'13px',
background:sahwa===s?'#3b82f6':'#1e293b',
color:sahwa===s?'#fff':'#94a3b8',
borderColor:sahwa===s?'#3b82f6':'#475569'
}}>{s||'없음'}</button>
))}
</div>
</div>

<button className="ss-btn" onClick={generate} style={{width:'100%'}}>🚀 프롬프트 생성</button>
</div>

{result&&(
<div className="ss-card">
<div style={{display:'flex',alignItems:'center',gap:'10px',marginBottom:'16px'}}>
<span className={`ss-tag ss-tag-${result.tag}`}>{result.sys}</span>
<span style={{fontSize:'1.2rem',fontWeight:'700'}}>{result.star}</span>
<span style={{color:'#94a3b8'}}>({result.role})</span>
</div>

<div style={{display:'flex',borderBottom:'1px solid #334155',marginBottom:'16px'}}>
<button className={`ss-tab ${tab==='grok'?'active':''}`} onClick={()=>setTab('grok')}>Grok Big 3</button>
<button className={`ss-tab ${tab==='seaart'?'active':''}`} onClick={()=>setTab('seaart')}>SeaArt/Flux</button>
<button className={`ss-tab ${tab==='mj'?'active':''}`} onClick={()=>setTab('mj')}>Midjourney</button>
</div>

{tab==='grok'&&(
<div>
<div className="ss-result">
<div style={{display:'flex',justifyContent:'space-between',alignItems:'center',marginBottom:'10px'}}>
<span style={{color:'#60a5fa',fontWeight:'700'}}>🇰🇷 한국어</span>
<button className="ss-copy" onClick={()=>copy(result.grokKor)}>복사</button>
</div>
<textarea className="ss-textarea" value={result.grokKor} readOnly style={{minHeight:'280px'}}/>
</div>
<div className="ss-result">
<div style={{display:'flex',justifyContent:'space-between',alignItems:'center',marginBottom:'10px'}}>
<span style={{color:'#60a5fa',fontWeight:'700'}}>🇺🇸 English</span>
<button className="ss-copy" onClick={()=>copy(result.grokEng)}>복사</button>
</div>
<textarea className="ss-textarea" value={result.grokEng} readOnly style={{minHeight:'280px'}}/>
</div>
</div>
)}

{tab==='seaart'&&(
<div className="ss-result">
<div style={{display:'flex',justifyContent:'space-between',alignItems:'center',marginBottom:'10px'}}>
<span style={{color:'#10b981',fontWeight:'700'}}>🖼️ SeaArt / Flux Prompt</span>
<button className="ss-copy" onClick={()=>copy(result.seaart)}>복사</button>
</div>
<textarea className="ss-textarea" value={result.seaart} readOnly/>
</div>
)}

{tab==='mj'&&(
<div className="ss-result">
<div style={{display:'flex',justifyContent:'space-between',alignItems:'center',marginBottom:'10px'}}>
<span style={{color:'#f59e0b',fontWeight:'700'}}>🎨 Midjourney Prompt</span>
<button className="ss-copy" onClick={()=>copy(result.midjourney)}>복사</button>
</div>
<textarea className="ss-textarea" value={result.midjourney} readOnly/>
</div>
)}
</div>
)}

<div style={{marginTop:'20px',padding:'16px',background:'#1e293b',borderRadius:'8px',fontSize:'12px',color:'#64748b'}}>
<strong style={{color:'#94a3b8'}}>신수심법(身受心法) 원칙:</strong><br/>
• 신(身): 물리적 베이스 - 인종, 피부, 골격, 체형<br/>
• 수(受): 느낌 - 눈빛, 장부 상태, 뇌파<br/>
• 심(心): 에너지 - 존재감, 리더십 유형<br/>
• "Noble man" 같은 형용사 금지. 물리적 좌표만 사용.
</div>
</div>
);
};

ReactDOM.createRoot(document.getElementById('sinsu-root')).render(<App/>);

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다