紫微斗数排盘API文档(ziwei2)

接口说明

本接口用于紫微斗数排盘:根据出生日期时间、性别与地点,计算八字四柱、十二宫(命宫/身宫及各宫干支、主星、辅星、亮度、格局断语)、五行局、命主、身主、生年四化等信息;/ziwei/star 可查询十四主星资料;/ziwei/svg 返回命盘SVG图。首次调用因服务启动较慢(约3~10秒),后续调用正常,请将超时时间设置为15秒以上。

基本信息

参数值
Base URL(紫微服务)https://chart.12sign.top/ziwei
排盘数据接口/ziwei/chart
命盘SVG接口/ziwei/svg
主星资料接口/ziwei/star
请求方式GET
返回格式application/json(数据)/ image/svg+xml(命盘)

请求参数

参数名类型必选说明
yearint是出生年,如 1990
monthint是出生月,1-12
dayint是出生日,1-31
hourint是出生时,0-23
minuteint是出生分,0-59
genderint是性别:1男,0女
lonnumber是出生地经度,东经为正
latnumber是出生地纬度,北纬为正
tzint是出生地时区,如 8 表示UTC+8
starstring否仅 /star 接口:十四主星名,如"紫微"(紫微、天机、太阳、武曲、天同、廉贞、天府、太阴、贪狼、巨门、天相、天梁、七杀、破军)

请求示例

# 紫微排盘(1990-01-01 12:00 男 北京)
GET https://chart.12sign.top/ziwei/chart?year=1990&month=1&day=1&hour=12&minute=0&gender=1&lon=116.4&lat=39.9&tz=8

# 获取命盘SVG
GET https://chart.12sign.top/ziwei/svg?year=1990&month=1&day=1&hour=12&minute=0&gender=1&lon=116.4&lat=39.9&tz=8

# 查询十四主星资料(如 紫微)
GET https://chart.12sign.top/ziwei/star?star=紫微

返回参数

参数名类型说明
paramsobject回显的出生日期与时间
fourColumnsobject八字干支:year/month/day/time四柱(含十神、卦等),及 tai胎元、ming命宫柱、shen身宫柱
placementarray十二宫速览:palace宫名、ganzi宫干支、isLife/isBody命宫身宫标记、mainStars主星、assistStars辅星、starlight亮度、interpretations宫位断语
patternsarray格局断语:name格局名、category类别、duanyi断语、source出处
chartobject完整盘面:houses十二宫(各宫星曜明细)、wuxingJuText五行局、lifeMaster命主、bodyMaster身主、birthSihua生年四化、nongli农历、zidou子斗、doujun斗君等

返回示例

{
    "params": { "date": "1990-1-1", "time": "12:0" },
    "fourColumns": { "year": { "ganzi": "己巳", "stem": { "cell": "己", "element": "Earth", "relative": "伤", ... }, ... } },
    "placement": [
    {
        "palace": "交友宫",
        "ganzi": "丙子",
        "isLife": false,
        "isBody": false,
        "mainStars": ["破军"],
        "assistStars": ["天魁"],
        "starlight": ["破军(庙)"],
        "interpretations": []
    },
    ...
    ],
    "patterns": [
    {
        "name": "铃贪格",
        "category": "武贵",
        "duanyi": "铃星贪狼同宫,铃贪并守,主武职峥嵘、意外得财。",
        "source": "紫微斗数全书",
        "broken": false
    }
    ],
    "chart": {
    "houses": [ { "name": "交友宫", "ganzi": "丙子", "phase": "墓", "starsMain": [...], "starsAssist": [...], ... }, ... ],
    "wuxingJuText": "土五局",
    "lifeMaster": "武曲",
    "bodyMaster": "天机",
    "birthSihua": { ... },
    "nongli": { ... }
    }
    }

Python测试代码示例

import requests

BASE = "https://chart.12sign.top/ziwei"

def test_ziwei():
    params = {
        "year": 1990, "month": 1, "day": 1,
        "hour": 12, "minute": 0, "gender": 1,
        "lon": 116.4, "lat": 39.9, "tz": 8
    }
    # 1. 排盘数据(首次调用较慢约3~10秒,建议超时>=15秒)
    r = requests.get(f"{BASE}/chart", params=params)
    data = r.json()
    print(f"五行局: {data['chart']['wuxingJuText']}")
    print(f"命主: {data['chart']['lifeMaster']}  身主: {data['chart']['bodyMaster']}")
    life = next(p for p in data['placement'] if p['isLife'])
    print(f"命宫: {life['palace']} {life['ganzi']} 主星 {life['mainStars']}")
    print(f"格局: {[p['name'] for p in data['patterns']]}")

    # 2. 命宫主星资料
    for st in life['mainStars']:
        info = requests.get(f"{BASE}/star", params={"star": st}).json()
        print(f"{st}: {info.get('palaces', {}).get('命宫', '')[:50]}...")

    # 3. 命盘SVG
    r = requests.get(f"{BASE}/svg", params=params)
    with open("ziwei_chart.svg", "w", encoding="utf-8") as f:
        f.write(r.text)
    print("命盘SVG已保存: ziwei_chart.svg")

if __name__ == "__main__":
    test_ziwei()

在线测试

请求地址:
https://chart.12sign.top/ziwei/chart
出生信息(JSON):
返回结果:
点击"发送请求"后在此显示结果(首次调用较慢,约需3~10秒)
紫微命盘:
命盘SVG将在请求成功后显示在这里