결혼정보·웨딩·이사·부동산·앱 서비스가 자기 화면 안에서 사주·궁합·택일·일진을 쓸 수 있게, 정통 명리 판정 엔진을 REST API로 제공합니다. 응답은 JSON 하나입니다.
월 1,000회 무료입니다. 승인 절차 없이 바로 나옵니다 — 계약 전에 실제로 붙여 보시고 판단하십시오. 한도를 넘으면 그냥 멈추고, 추가로 청구되는 금액은 없습니다.
사주 API는 이미 여럿 있습니다. 우리가 다른 점은 세 가지입니다.
판정은 규칙 엔진이 하고 AI는 설명만 합니다. 생성형 AI에 물으면 같은 사람에게 매번 다른 답이 나와 남의 서비스에 넣을 수가 없습니다. 우리 응답은 재현됩니다 — 고객 문의가 들어와도 그때 그 값을 다시 뽑을 수 있습니다.
원진살·귀문관살·삼재처럼 고전 근거가 약한 요소를 판정에 넣지 않습니다. 겁을 줘서 파는 구조를 만들지 않으므로, 도입하시는 서비스의 신뢰도를 깎지 않습니다.
생년월일시는 계산에만 쓰고 흘려보냅니다. 우리가 남기는 것은 호출 건수뿐입니다. 귀사가 개인정보 처리위탁 부담을 지지 않아도 됩니다.
발급받은 키를 x-klm-key 헤더에 넣어 호출합니다. 그게 전부입니다.
# 연결 확인 — 쿼터에 세지 않습니다 curl -H "x-klm-key: klm_live_..." \ https://klifemap.ai/api/v1/ping
{ "ok": true, "version": "v1", "engine": "taekil-2.0.0", "at": "2026-08-01T03:16:29.867Z" }
Content-Type: application/json입니다. 생년월일시는 calendar로 양력·음력·윤달을 구분하고, 시간을 모르면 timeUnknown: true를 보냅니다(정오로 계산하고 시주 판정을 빼지 않습니다). longitude를 주면 진태양시 보정에 씁니다(기본 127.0 — 한국 표준).네 가지입니다. 응답 필드는 더해질 수는 있어도 빠지거나 이름이 바뀌지 않습니다 — 바꿔야 할 일이 생기면 /api/v2를 새로 냅니다.
{
"year": 1990, "month": 5, "day": 15,
"hour": 10, "minute": 0,
"gender": "male", // male | female (필수)
"calendar": "solar", // solar | lunar | lunar_leap
"timeUnknown": false, // 시간 모름
"longitude": 127.0, // 진태양시 보정
"daeunCount": 9 // 대운 몇 구간 (1~12)
}
{
"ok": true, "version": "v1", "engine": "taekil-2.0.0",
"result": {
"items": { /* 명식 4궁 — 천간·지지·오행·음양 */ },
"gyeok": {
"name": "칠살격", "sipsung": "편관",
"sunyong": false, // true=순용(4길격) · false=역용(4흉격)
"fromMonthBranch": { … }, "exposed": false
},
"yongsin": {
"element": "수", // 용신
"helper": "금", // 희신
"avoid": "토", // 기신
"eokbu": "수", "johu": { … }, "rule": "…"
},
"strength": { "level": "신약(身弱)", "isStrong": false, "relation": { … } },
"daeun": { "forward": true, "startAge": 7, "list": [ … ] },
"relations": { /* 원국 형충회합 */ },
"pagyeok": { /* 파격 여부 */ },
"sinsal": [ /* 12신살 — 일지 기준 4개 */ ]
}
}
/api/v2를 새로 냅니다. 순용·역용은 반대로 읽습니다: 순용(정관·정재·편재·정인·편인·식신)은 격이 뚜렷할수록 좋고, 역용(편관·상관·비견·겁재)은 상신이 함께 갖춰졌는지를 봐야 합니다.{
"personA": { "year": 1990, "month": 5, "day": 15, "hour": 10, "gender": "male" },
"personB": { "year": 1992, "month": 8, "day": 3, "hour": 14, "gender": "female" }
}
{
"ok": true,
"result": {
"totalScore": 66,
"axes": { /* 일간·일지·용신·합충 등 축별 점수 */ },
"notes": [ "일지끼리 육합을 이루어…" ]
}
}
{
"birth": { "year": 1990, "month": 5, "day": 15, "hour": 10, "gender": "male" },
"year": 2026, "month": 9,
"category": "결혼" // 결혼 | 이사 | 개업 | 계약 | 수술 …
}
{
"ok": true,
"best": [
{ "date": "2026-09-08", "score": 100, "tier": "대길", "reasons": [ "일진이 일지와 육합을…" ] },
{ "date": "2026-09-20", "score": 80, "tier": "길", "reasons": [ … ] }
],
"results": [ /* 그 달 전체 일자별 점수 */ ]
}
{
"date": "2026-08-15",
"birth": { "year": 1990, "month": 5, "day": 15, "hour": 10, "gender": "male" } // 선택
}
{
"ok": true,
"result": {
"date": "2026-08-15",
"dayGan": { "ko": "신", "hanja": "辛", "oheng": "금" },
"dayJi": { "ko": "유", "hanja": "酉", "oheng": "금" },
"forPerson": { /* 용신 대비 오늘의 작용 — birth를 준 경우에만 */ }
}
}
{
"ok": true,
"quota": { "monthly": 30000, "used": 4127, "ratePerMin": 120 },
"daily": [ { "day": "2026-08-01", "endpoint": "taekil", "calls": 312, "errors": 0 } ]
}
왜 실패했는지를 코드로 구분해 드립니다. 「안 되는데 이유를 모르겠다」가 지원 비용의 대부분이기 때문입니다.
| HTTP | error | 뜻과 조치 |
|---|---|---|
| 400 | invalid_input | fields에 어떤 값이 잘못됐는지 그대로 들어 있습니다. |
| 401 | missing_key / invalid_key | 헤더 이름은 x-klm-key입니다(x-api-key가 아닙니다). |
| 402 | quota_exceeded | 이번 달 한도 소진. 플랜을 올리시면 즉시 풀립니다. |
| 403 | client_suspended | 계약 상태가 활성이 아닙니다. |
| 429 | rate_limited | 분당 한도 초과. Retry-After 헤더만큼 기다린 뒤 재시도하십시오. |
| 500 | engine_error | 우리 쪽 문제입니다. 재시도하셔도 같으면 알려주십시오. |
월 기본료에 호출 수가 포함되고, 넘는 만큼만 건당으로 더해집니다. 표시 금액은 공급가(부가세 별도)입니다.
어떤 서비스에 어떻게 쓰실지 알려주십시오. 예상 호출량을 함께 주시면 플랜을 맞춰 제안드립니다.
월 1,000회 무료 키를 바로 드립니다. 계약 전에 실제로 붙여 보시고 판단하십시오.
세금계산서를 발행합니다. 사용량은 언제든 /usage로 직접 확인하실 수 있습니다.