🕓 記録日: 2026-04-14、更新日: 2026-05-09。 TS / Python / PHP 用の SDK は、それぞれ
@astroway/sdk(npm)、astroway(PyPI)、astroway/sdk(Packagist)で公開レジストリに移行しました。詳細は changelog をご覧ください。
Human Design は、1990 年代のニッチなエソテリックなシステムから、個人の成長のメインストリームなフレームワークへと成長しました。数百万人のユーザーを抱えるアプリケーションがそれを一般化し、開発者たちは「どうやって Human Design チャートをプログラムで計算するか?」という疑問を抱くようになりました。
この記事では、技術的な側面に焦点を当てます。Human Design の計算とは何か、それをサポートする API、そして自分のアプリケーションに HD 機能を組み込む方法について解説します。
Human Design とは技術的に
Section titled “Human Design とは技術的に”Human Design は、3 つの古典的なシステムに基づいて構築されています。
- 西洋占星術 — 誕生時の惑星の位置
- 易経 — 64 の六十四卦で、64 の「ゲート」にマッピング
- チャクラシステム — 9 つの「センター」(エネルギーノード)
計算では、誕生データを受け取り、ボディグラフと呼ばれる視覚的なチャートを生成します。これは以下を含みます。
- Type(マニフェスト、ジェネレータ、マニフェスティング・ジェネレータ、プロジェクター、リフレクター) — エネルギーのシグネチャ
- Strategy — 決断を下す方法
- Authority — 決断時に信頼すべきセンター(サクラル、エモーショナル、スプリンクなど)
- Profile — 線の組み合わせ(例:1/3、4/6)
- Channels — センター間のつながりで個性を形成
- Incarnation Cross — 4 つの重要な位置から導かれる人生の使命
裏側では、64 の各ゲートは黄道経度の範囲に対応しています。誕生時の惑星の黄経は、特定のゲート(その中の行)にマッピングされます。“Design” の計算は、誕生の 88° 前の太陽の位置(およそ 3 か月前)に基づいています。
2 つのチャート: Personality と Design
Section titled “2 つのチャート: Personality と Design”Human Design は 2 つの誕生時刻を使用します。
- Personality — 実際の誕生時刻。これは「意識的」な側面です。
- Design — 誕生時の太陽の位置から 88° 前の時刻。これは「無意識的」な側面です。
各ゲートのアクティベーションは、いずれかのチャートに属します。完全なチャートには 13 + 13 = 26 のアクティベーションがあります。
このため、HD 計算は標準的な占星術チャートよりも複雑で、実質的に 2 つのチャートを計算する必要があります。
Human Design をサポートする API
Section titled “Human Design をサポートする API”ほとんどの占星術 API は HD をサポートしていないか、表面的なサポート(Type と Strategy のみ)に留まっています。完全な HD 実装には以下が必要です。
- 64 ゲートのマッピング(ルックアップテーブル)
- 各ゲートの 6 つの行(384 セル)
- 9 つのセンターと defined/open のロジック
- 36 のチャンネル(各チャンネルは 2 つのセンターを接続)
- Incarnation Cross の計算
- Personality と Design の太陽・地球ゲートの行から Profile を導出
これらすべてをサポートする API は非常に珍しいです。AstroWay API には 12 の HD エンドポイントがあり、商用 API の中で最も包括的なカバレッジを提供しています。
AstroWay の 12 の HD エンドポイント
Section titled “AstroWay の 12 の HD エンドポイント”| エンドポイント | クレジット | 返されるデータ |
|---|---|---|
/v1/human-design | 50 | 完全な HD チャート |
/v1/human-design/transits | 50 | 指定日の HD トランジット |
/v1/human-design/compatibility | 100 | 2 つの HD チャートの相性 |
/v1/hd/incarnation-cross | 50 | Incarnation Cross |
/v1/hd/dream-rave | 50 | Dream Rave チャート |
/v1/hd/hologenetic | 50 | Hologenetic Profile |
/v1/hd/sensitivity | 50 | 時間に対する感度の分析 |
/v1/hd/circuitry | 20 | 回路の分析 |
/v1/hd/penta | 100 | Penta — 3〜5 人のグループダイナミクス |
/v1/hd/group-overlay | 100 | グループオーバーレイ |
/v1/hd/design-date | 10 | Design 日付の計算 |
/v1/hd/rave-new-years | 10 | Rave New Year の日付 |
HD 機能を追加する方法
Section titled “HD 機能を追加する方法”既存の占星術アプリケーションに 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 によるグループダイナミクス
Section titled “Penta によるグループダイナミクス”Penta は、3〜5 人のグループのチームダイナミクスを理解するためのテクニックです。これは非常に珍しく、ほとんどの HD 計算機では提供されていません。しかし、HR テック、コーチングプラットフォーム、チームビルディングアプリにとっては非常に価値があります。
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}`);Sensitivity — 精度にとって重要
Section titled “Sensitivity — 精度にとって重要”HD チャートは誕生時刻に非常に敏感です。10 分の誤差で Profile が変わることがあります(例:1/3 → 1/4)。正確な時刻がわからないユーザーには、sensitivity 分析を実行してください。
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 が変わる可能性があります。レクティフィケーションを検討してください。」
HD アプリケーションの料金体系
Section titled “HD アプリケーションの料金体系”HD に特化したアプリケーションを構築する場合:
- ベーシックユーザー:登録時に 1 回の HD チャート(永久キャッシュ)= 50 クレジット
- アクティブユーザー:定期的なトランジット + 相性 = 月間約 200 クレジット
- 100 DAU(控えめな HD 使用):月間約 110,000 クレジット → **Starter($19/月)**で簡単にカバー
- 1,000 DAU:月間約 150,000 クレジット → Pro($59/月)
相性のリクエストは最もコストが高い(100 クレジット)。各ユーザーペアの結果は永久にキャッシュしてください(結果は不変です)。
ビジュアライゼーション
Section titled “ビジュアライゼーション”ボディグラフのレンダリングは、 tradition ally 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> );}座標は固定テンプレートです(各ボディグラフは同じ 9 つのセンターと 64 のゲートを同じ位置に持ちます)。
HD 機能の構築を始めよう
Section titled “HD 機能の構築を始めよう”- Human Design API — すべてのエンドポイントを網羅したプロダクトページ
- 例: Human Design —
/v1/human-designの詳細なウォークスルー - クイックスタート — 無料の API キーを取得(月間 200 枚の HD チャートまで利用可能)
Solar Fireと同じSwiss Ephemeris — 4行のコードで。
無料のキー(カード不要)。最初の支払いまでに月5,000回の呼び出し。