사주 분석 가이드
한국 전통 사주 명리학(四柱命理學)을 기반으로 사주팔자를 계산하고 분석하는 방법을 알아봅니다. 이 가이드에서는 사주 계산부터 십성, 대운, 신살 분석까지 실전 활용법을 설명합니다.
개요
사주 API는 생년월일시를 기반으로 사주팔자(四柱八字)를 계산합니다. API는 다음 정보를 제공합니다:
- 사주팔자: 년주, 월주, 일주, 시주의 천간과 지지
- 대운: 10년 주기 대운(大運) 정보
- 십성: 비겁, 식상, 재성, 관성, 인성 분석
- 오행: 목, 화, 토, 금, 수 오행 분포
- 신살: 귀인, 공망, 역마 등 길흉 신살 (full 엔드포인트)
빠른 시작
기본 사주 계산
사주를 계산하려면 출생 정보가 필요합니다:
curl -X POST https://api.destinyapi.com/v1/saju/basic \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"name": "홍길동",
"birthdate": "1990-01-15",
"birth_time": "14:30",
"gender": "M",
"is_lunar": false,
"is_leap_month": false
}'필수 파라미터
| 파라미터 | 타입 | 설명 |
|---|---|---|
name | string | 이름 (메타데이터용) |
birthdate | string | 출생일 (YYYY-MM-DD 형식) |
gender | string | 성별 ("M" 또는 "F", 대운 순행/역행에 영향) |
선택적 파라미터
| 파라미터 | 기본값 | 설명 |
|---|---|---|
birth_time | null | 출생 시간 (HH:MM 형식, 미입력 시 시주 제외) |
is_lunar | false | 음력 여부 (true면 음력을 양력으로 변환) |
is_leap_month | false | 윤달 여부 (음력일 때만 적용) |
음력 변환 주의
음력 날짜를 입력할 때는 is_lunar: true로 설정하세요. API가 자동으로 한국 표준 음력 달력으로 변환합니다. 윤달의 경우 is_leap_month: true를 추가하세요.
응답 구조
기본 계산 엔드포인트의 응답:
주요 필드 설명
1. 사주팔자 (Four Pillars)
year_stem/branch: 년주 (年柱) - 출생 연도month_stem/branch: 월주 (月柱) - 출생 월day_stem/branch: 일주 (日柱) - 출생 일hour_stem/branch: 시주 (時柱) - 출생 시간
* stem(천간): 甲乙丙丁戊己庚辛壬癸
* branch(지지): 子丑寅卯辰巳午未申酉戌亥
2. 대운 (Daeun)
대운은 10년 주기로 변화하는 운명의 흐름을 나타냅니다:
years: 대운 시작 연령is_forward: 순행(true) 또는 역행(false)daeun_list: 각 대운의 연령과 간지
대운 순행/역행 규칙
• 양남음녀(陽男陰女): 양년(甲丙戊庚壬) 출생 남자 또는 음년(乙丁己辛癸) 출생 여자는 순행
• 음남양녀(陰男陽女): 음년 출생 남자 또는 양년 출생 여자는 역행
종합 분석 (/full 엔드포인트)
더 상세한 분석이 필요하면 /full 엔드포인트를 사용하세요:
curl -X POST https://api.destinyapi.com/v1/saju/analysis \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"name": "홍길동",
"birthdate": "1990-01-15",
"birth_time": "14:30",
"gender": "M",
"is_lunar": false,
"is_leap_month": false
}'/full 엔드포인트는 기본 정보 외에 다음을 추가로 제공합니다:
- 십성 분석: 일간 기준 육친관계 (比肩, 劫財, 食神, 傷官, 偏財, 正財, 偏官, 正官, 偏印, 正印)
- 오행 분석: 목화토금수 오행의 개수와 균형
- 종합 신살: 12운성, 지장간, 귀인/흉신, 납음오행
/full 응답 예시
1. 십성 분석 (ten_gods)
일간을 기준으로 각 기둥의 육친 관계(比肩, 劫財, 食神, 傷官, 偏財, 正財, 偏官, 正官, 偏印, 正印)를 보여줍니다. 프런트엔드에서는 이 값을 그대로 UI에 표시하거나 요약할 수 있습니다.
"ten_gods": {
"Year_Stem": "정관",
"Year_Branch": "상관",
"Month_Stem": "식신",
"Month_Branch": "정인",
"Day_Stem": "主",
"Day_Branch": "편관",
"Hour_Stem": "비견",
"Hour_Branch": "겁재"
}2. 오행 분석 (five_elements)
사주 전체에서 목·화·토·금·수의 상대적 비율을 점수화하고, 일간의 오행(day_element)과 총점(total_score)을 제공합니다.
"five_elements": {
"strength": {
"목": 30,
"화": 20,
"토": 25,
"금": 15,
"수": 10
},
"day_element": "목",
"total_score": 100
}3. 종합 신살 (comprehensive_shinsal)
기존 shinsal보다 확장된 정보로, 다음과 같은 하위 구조를 포함합니다.
twelve_stages)각 기둥의 생명력 단계(장생, 목욕, 관대, 건록, 제왕, 쇠, 병, 사, 묘, 절, 태, 양)와 에너지 강도를 제공합니다.
"twelve_stages": [
{ "pillar": "년주", "stem": "己", "branch": "巳", "stage": "제왕", "energy": "강" },
{ "pillar": "월주", "stem": "丁", "branch": "丑", "stage": "관대", "energy": "중" }
]hidden_stems)각 지지에 숨어 있는 천간과 양/음, 지속 일수를 나타냅니다.
"hidden_stems": {
"巳": [
{ "stem": "丙", "type": "양화", "days": 10 },
{ "stem": "戊", "type": "양토", "days": 20 }
]
}noble_stars, evil_stars)길신/흉신의 위치, 의미, 영향, 주의사항을 함께 제공합니다.
naeum_elements)각 기둥의 육십갑자 조합에 따른 납음오행과 해석을 제공합니다.
overall_assessment)AI 기반으로 주요 특징, 주의사항, 활용 방안을 요약해 UI에서 바로 표기할 수 있습니다.
"overall_assessment": {
"귀인_수": 1,
"신살_수": 1,
"주요_특징": ["귀인의 도움", "강한 추진력"],
"주의사항": ["과한 직설로 인한 갈등"],
"활용방안": ["귀인과 협업 강화", "양인 기운을 긍정적으로 활용"]
}사주 해석
일간 (日干) 이해하기
일간(day_stem)은 사주에서 가장 중요한 기준점입니다. 자기 자신을 나타내며, 모든 십성 관계가 일간을 기준으로 결정됩니다.
// 일간 확인
const dayStem = data.day_stem;
console.log('일간:', dayStem);
// 일간의 오행 확인
const stemElements = {
'甲': '양목', '乙': '음목',
'丙': '양화', '丁': '음화',
'戊': '양토', '己': '음토',
'庚': '양금', '辛': '음금',
'壬': '양수', '癸': '음수'
};
console.log('일간 오행:', stemElements[dayStem]);대운 시기 계산
// 현재 대운 찾기
function getCurrentDaeun(daeunList, currentAge) {
for (let i = daeunList.length - 1; i >= 0; i--) {
if (currentAge >= daeunList[i].age) {
return daeunList[i];
}
}
return null;
}
const birthYear = 1990;
const currentYear = new Date().getFullYear();
const currentAge = currentYear - birthYear + 1;
const currentDaeun = getCurrentDaeun(data.daeun.daeun_list, currentAge);
if (currentDaeun) {
console.log(`현재 나이 ${currentAge}세의 대운: ${currentDaeun.pillar}`);
} else {
console.log(`현재 나이 ${currentAge}세: 아직 대운이 시작되지 않았습니다.`);
}실전 예제: 사주 요약
function summarizeSaju(sajuData) {
const pillars = [
`${sajuData.year_stem}${sajuData.year_branch}`,
`${sajuData.month_stem}${sajuData.month_branch}`,
`${sajuData.day_stem}${sajuData.day_branch}`,
`${sajuData.hour_stem}${sajuData.hour_branch}`
];
console.log('=== 사주팔자 ===');
console.log('년주:', pillars[0]);
console.log('월주:', pillars[1]);
console.log('일주:', pillars[2]);
console.log('시주:', pillars[3]);
console.log('');
console.log('사주:', pillars.join(' '));
return pillars;
}모범 사례
✅ 정확한 출생 시간
시주는 2시간(1시진) 단위로 변하므로 가능하면 정확한 출생 시간을 입력하세요. 시간을 모르는 경우 birth_time을 생략하면 시주 없이 계산됩니다.
✅ 음력/양력 구분
1970년 이전 출생자는 대부분 음력으로 기록되어 있습니다.is_lunar: true를 설정하면 API가 자동으로 양력으로 변환합니다.
✅ 성별 정보 필수
대운의 순행/역행은 성별과 출생 연도의 천간에 따라 결정됩니다. 정확한 대운 계산을 위해 반드시 성별 정보를 입력하세요.
✅ /full은 필요할 때만
/calculate는 빠르고 간결한 정보를, /full은 상세 분석을 제공합니다. 용도에 맞게 선택하여 API 사용량을 최적화하세요.
주요 용어
| 용어 | 설명 |
|---|---|
| 천간 (天干) | 10개의 하늘 기둥: 甲乙丙丁戊己庚辛壬癸 |
| 지지 (地支) | 12개의 땅 기둥: 子丑寅卯辰巳午未申酉戌亥 (12지신) |
| 육십갑자 | 천간 10 × 지지 12 = 60개 조합 (甲子, 乙丑, 丙寅...) |
| 일간 (日干) | 일주의 천간, 자기 자신을 나타냄 |
| 십성 (十星) | 일간 기준 오행 관계로 결정되는 10가지 성질 |
| 대운 (大運) | 10년 주기 인생의 큰 흐름 |
| 신살 (神殺) | 길흉을 나타내는 특수한 별들 (귀인, 공망, 역마 등) |
다음 단계
사주 API를 마스터했다면, 다음 기능들을 살펴보세요: