AstroWay/api v2.102.11 · ko
모든 시스템 정상 작동 중

휴먼 디자인 API: 12개의 엔드포인트로 HD 애플리케이션 구축하기

휴먼 디자인 애플리케이션을 만들기 위해 개발자가 필요한 모든 것. 12개의 엔드포인트, 바디그래프 계산, Penta와의 그룹 다이내믹스, 코드 예제

🕓 작성일: 2026-04-14, 최종 수정: 2026-05-09. TS / Python / PHP SDK는 이제 공개 레지스트리에서 관리됩니다 — @astroway/sdk (npm), astroway (PyPI), astroway/sdk (Packagist). 자세한 내용은 changelog를 참고하세요.

휴먼 디자인은 1990년대 니치한 영적 시스템에서 개인 개발 프레임워크로 성장했습니다. 수백만 사용자를 보유한 앱들이 이를 표준화하면서 개발자들은 프로그래밍 방식으로 Human Design 차트를 계산하는 방법을 묻기 시작했습니다.

이 글에서는 기술적인 측면을 다룹니다: HD 계산이란 무엇이며, 어떤 API가 이를 지원하는지, 그리고 어떻게 앱에 HD 기능을 통합할 수 있는지 알아보겠습니다.

Human Design는 세 가지 고전 시스템을 기반으로 합니다:

  • 서양 점성술 — 출생 당시 행성의 위치
  • 易經(I Ching) — 64 hexagram(육십사괘)이 64개의 ‘게이트’로 매핑됨
  • 차크라 시스템 — 아홉 개의 ‘센터’(에너지 노드)

계산은 출생 데이터를 기반으로 bodygraph라는 시각적 차트를 생성합니다. 여기에는 다음이 포함됩니다:

  • Type (Manifestor, Generator, Manifesting Generator, Projector, Reflector) — 에너지 서명
  • Strategy — 의사결정을 내리는 방법
  • Authority — 의사결정 시 신뢰할 센터 (Sacral, Emotional, Splenic 등)
  • Profile — 선의 조합 (1/3, 4/6 등)
  • Channels — 센터 간의 연결로 개인의 성격 형성
  • Incarnation Cross — 네 가지 핵심 위치에서 파생된 생의 목적

내부적으로 64개의 게이트 각각은 황도 경도의 범위에 해당합니다. 출생 당시 행성의 경도는 특정 게이트(및 해당 게이트 내 행)로 매핑됩니다. ‘Design’ 계산은 출생 88° 이전의 태양 위치를 기준으로 하며, 이는 약 3개월 전을 의미합니다.

Human Design는 두 개의 출생 시점을 사용합니다:

  1. Personality — 실제 출생 시간. 이는 ‘의식적인’ 측면을 나타냅니다.
  2. Design — 출생 위치에서 태양이 88° 이전 위치에 있었을 때의 시간. 이는 ‘무의식적인’ 측면을 나타냅니다.

각 게이트의 활성화는 이 중 하나에 속합니다. 전체 차트는 13 + 13 = 26개의 활성화로 구성됩니다.

이 때문에 HD 계산은 표준 점성술 차트보다 복잡합니다. 사실상 두 개의 차트를 계산해야 하기 때문입니다.

대부분의 점성술 API는 HD를 전혀 지원하지 않거나, 표면적인 지원(타입 + 전략만)만 제공합니다. 완전한 HD 구현을 위해서는 다음이 필요합니다:

  • 64개 게이트의 매핑(lookup table)
  • 각 게이트당 6개 행(총 384개 셀)
  • 정의됨/열림 로직이 있는 9개 센터
  • 두 센터를 연결하는 36개 채널
  • Incarnation Cross 계산
  • Personality와 Design의 태양 게이트 및 지구 게이트 행을 기반으로 한 Profile 출력

이 모든 기능을 지원하는 API는 매우 드뭅니다. AstroWay API는 12개의 HD 엔드포인트를 제공하며, 이는 상업용 API 중 가장 포괄적인 구현입니다.

엔드포인트크레딧반환 내용
/v1/human-design50전체 HD 차트
/v1/human-design/transits50특정 날짜의 HD 트랜짓
/v1/human-design/compatibility100두 HD 차트의 호환성
/v1/hd/incarnation-cross50Incarnation Cross
/v1/hd/dream-rave50Dream Rave 차트
/v1/hd/hologenetic50Hologenetic Profile
/v1/hd/sensitivity50시간 민감도 분석
/v1/hd/circuitry20회로 분석
/v1/hd/penta100Penta — 3~5인 그룹 역학
/v1/hd/group-overlay100Group overlay
/v1/hd/design-date10Design 날짜 계산
/v1/hd/rave-new-years10Rave New Year 날짜

기존 점성술 앱에 HD를 추가한다고 상상해 보세요. 가장 먼저 전체 엔드포인트를 사용하세요:

import { Astroway } from '@astroway/sdk';
const client = new Astroway({ apiKey: process.env.ASTROWAY_API_KEY! });
const hd = await client.humanDesign({
date: '1990-07-14',
time: '14:30:00',
timezoneOffset: 3,
latitude: 50.4501,
longitude: 30.5234,
});
console.log(`Type: ${hd.type}`); // 예: "Generator"
console.log(`Strategy: ${hd.strategy}`); // 예: "To Respond"
console.log(`Authority: ${hd.authority}`); // 예: "Sacral"
console.log(`Profile: ${hd.profile}`); // 예: "1/3"
console.log(`Defined channels: ${hd.channels.length}`);

응답 형식:

{
"type": "Generator",
"strategy": "To Respond",
"notSelfTheme": "Frustration",
"authority": "Sacral",
"profile": "1/3",
"definition": "single",
"cross": {
"name": "Right Angle Cross of the Sphinx",
"quarter": "Civilization",
"gates": [1, 2, 7, 13]
},
"centers": [
{ "name": "Sacral", "defined": true },
...
],
"channels": [
{ "gate1": 34, "gate2": 20, "name": "Channel of Charisma", "type": "Generated" }
],
"personalityActivations": [...],
"designActivations": [...]
}

Penta는 3~5명으로 구성된 팀의 역학을 이해하는 기술입니다. 대부분의 HD 계산기는 이를 제공하지 않지만, HR-tech, 코칭 플랫폼, 팀 빌딩 앱에게는 invaluable한 기능입니다.

const penta = await client.hdPenta({
members: [
{ date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.45, longitude: 30.52 },
{ date: '1988-03-10', time: '08:15:00', timezoneOffset: 2, latitude: 48.85, longitude: 2.35 },
{ date: '1985-11-22', time: '18:00:00', timezoneOffset: -5, latitude: 40.71, longitude: -74.00 },
],
});
console.log(`Penta type: ${penta.type}`);
console.log(`Defined channels in group: ${penta.definedChannels.length}`);

민감도 분석 — 정확성을 위한 핵심

섹션 제목: “민감도 분석 — 정확성을 위한 핵심”

HD 차트는 출생 시간에 매우 민감합니다. 10분의 오차로도 Profile이 바뀔 수 있습니다(예: 1/3 → 1/4). 정확한 출생 시간을 모르는 사용자에게 민감도 분석을 실행하세요:

const sensitivity = await client.hdSensitivity({
date: '1990-07-14',
time: '14:30:00',
timezoneOffset: 3,
latitude: 50.4501,
longitude: 30.5234,
});
// sensitivity는 ±5/15/30분의 시간 변화에 어떤 필드가 바뀌는지 보여줌

사용자에게 “이 정확도로는 당신의 profile이 바뀔 수 있습니다. rectification을 고려해 보세요.”라고 경고하세요.

HD에 집중하는 앱을 만들고 있다면:

  • 기본 사용자: 등록 시 1회 HD 차트 캐시(영구) = 50크레딧
  • 활발한 사용자: 주기적 트랜짓 + 호환성 = 월 약 200크레딧
  • 100 DAU(보통 HD 사용량): 월 약 110,000크레딧 → **Starter ($19/월)**로 충분히 커버 가능
  • 1,000 DAU: 월 약 150,000크레딧 → Pro ($59/월)

호환성 요청은 가장 비용이 많이 듭니다(100크레딧). 각 사용자 쌍의 결과를 영구 캐시하세요(변경되지 않음).

Bodygraph 렌더링은 전통적으로 SVG로 구현됩니다. API는 센터와 채널 데이터를 반환하며, 당신은 이 데이터를 기반으로 시각화를 구현합니다. 예시:

function Bodygraph({ hd }: { hd: HDChart }) {
return (
<svg viewBox="0 0 400 600">
{hd.centers.map(c => (
<polygon
key={c.name}
points={CENTER_COORDS[c.name]}
fill={c.defined ? CENTER_COLORS[c.name] : 'white'}
stroke="black"
/>
))}
{hd.channels.map(ch => (
<line
key={`${ch.gate1}-${ch.gate2}`}
x1={GATE_COORDS[ch.gate1].x}
y1={GATE_COORDS[ch.gate1].y}
x2={GATE_COORDS[ch.gate2].x}
y2={GATE_COORDS[ch.gate2].y}
stroke="#d4a84c"
strokeWidth="3"
/>
))}
</svg>
);
}

좌표는 고정된 템플릿입니다(모든 bodygraph는 동일한 9개 센터와 동일한 위치의 64개 게이트를 가집니다).

AstroWay team

AstroWay API 엔지니어링 팀. Swiss Ephemeris를 깔끔한 REST로 감싸고, 사실상 중요한 지루한 세부 사항들을 다룹니다.

// 이걸로 빌드해

Solar Fire에 사용된 것과 동일한 Swiss Ephemeris — 단 4줄의 코드로.

카드 없이 무료 키. 첫 결제 전까지 월 5,000 API 호출.

더 많은 블로그 글 모든 글 보기 →

Engineering 2026-06-05

Natal Chart API in TypeScript: SDK + React Example

Compute a natal chart in TypeScript with the AstroWay SDK — typed responses, a React component, and where it beats a local ephemeris library.

Ephemeris 2026-06-05

How Accurate Is the Swiss Ephemeris? Verified Benchmarks

Swiss Ephemeris accuracy in numbers — planetary positions under 0.1 arcsecond, exact house cusps, eclipses within a minute — and how AstroWay verifies it.

Ephemeris 2026-06-05

Swiss Ephemeris: REST API vs pyswisseph (When to Use Which)

pyswisseph vs a REST API for Swiss Ephemeris calculations — C dependencies, data files, licensing and deployment compared, with a decision guide.