小推运盘API文档

小推运(Minor Progressions),也被称为月限法或四级推进,三种名称指同一种推运方法。本文档统一使用"小推运"。

基本信息

参数 值
Base URL https://chart.12sign.top
接口URL /onechart
请求方式 POST
Content-Type application/json

请求参数

1. 基础参数(必需)

参数名 类型 必选 说明
chart_type string 是 固定值:"progression_min"
natal_data.datetime string 是 出生日期时间,格式:YYYY-MM-DD HH:MM:SS
natal_data.lat number 是 出生地纬度
natal_data.lon number 是 出生地经度
natal_data.tz number/string 是 出生地时区,如 8 或 "8" 表示UTC+8,支持小数如 8.5
target_data.datetime string 是 推运目标日期时间,格式:YYYY-MM-DD HH:MM:SS
target_data.lat number 是 推运目标地点纬度(当前所在地点)
target_data.lon number 是 推运目标地点经度(当前所在地点)
target_data.tz number/string 是 推运目标地点时区,如 8 或 "8" 表示UTC+8,支持小数如 8.5

名称说明

  • 小推运(Minor Progressions),也被称为月限法或四级推进,三种名称指同一种推运方法。

请求示例

基本请求

{
    "chart_type": "progression_min",
    "natal_data": {
        "datetime": "1990-06-15 14:30:00",
        "lat": 39.9042,
        "lon": 116.4074,
        "tz": 8
    },
    "target_data": {
        "datetime": "2026-09-22 12:00:00",
        "lat": 39.9042,
        "lon": 116.4074,
        "tz": 8
    }
}

完整请求(含分析、SVG)

{
    "chart_type": "progression_min",
    "natal_data": {
        "datetime": "1990-06-15 14:30:00",
        "lat": 39.9042,
        "lon": 116.4074,
        "tz": 8
    },
    "target_data": {
        "datetime": "2026-09-22 12:00:00",
        "lat": 39.9042,
        "lon": 116.4074,
        "tz": 8
    },
    "include_analysis": true,
    "include_svg": true
}

返回参数

参数名 类型 说明
success boolean 请求是否成功
data object 星盘数据
data.chart_type string 星盘类型,固定返回 "progression_min"
data.cal_time string 本次推运盘对应的星历时刻(UTC),盘面所有天体位置即该时刻的位置
data.planets object 天体位置数据,包含所有计算的天体(行星、福点、ASC、MC、VERTEX等),每个天体含 longitude(黄经,0-360)和 speed(速度,负值为逆行)
data.houses object 宫位数据,House_1 至 House_12,每个宫头含 longitude(黄经)
data.fixed_stars object 恒星位置数据(如果请求了恒星)
data.arabic_parts object 阿拉伯点数据(如果请求了阿拉伯点,同时也会合并到planets中)
data.analysis object 详细分析数据(如果 include_analysis=true)
data.analysis.config object 全局配置信息(包含 orb_scheme, aspect_scheme, fixed_star_orb_scheme)
data.analysis.aspects array 相位列表,每个相位包含:planet1, planet2, aspect, orb, calculated_orb 等字段
data.analysis.planet_signs object 行星星座分析,包含每个行星的星座、度数等信息
data.analysis.planet_houses object 行星宫位分析,包含每个行星所在的宫位
data.analysis.element_analysis object 元素分析(火土风水分布)
data.analysis.quality_analysis object 性质分析(基本、固定、变动分布)
svg string SVG图形数据(如果 include_svg=true)

返回示例(节选)

{
    "success": true,
    "data": {
        "chart_type": "progression_min",
        "cal_time": "1993-03-02 06:28:00",
        "planets": {
            "SUN":    { "longitude": 341.69, "speed": 1.0031 },
            "MOON":   { "longitude": 79.03,  "speed": 13.1157 },
            "MERCURY": { "longitude": 353.79, "speed": -0.3616 },   // speed为负 = 逆行
            "FORTUNA": { "longitude": 216.67, "speed": 0 },
            "ASC":    { "longitude": 118.13, "speed": 0 },
            "MC":     { "longitude": 13.02,  "speed": 0 }
            // ... 其余天体:VENUS, MARS, JUPITER, SATURN, URANUS, NEPTUNE, PLUTO, MEAN_NODE, CHIRON, MEAN_LILITH, VERTEX
        },
        "houses": {
            "House_1":  { "longitude": 118.13 },
            "House_2":  { "longitude": 138.37 },
            // ... House_3 至 House_9
            "House_10": { "longitude": 13.02 }
            // ... House_11, House_12
        }
    },
    "svg": "<svg ...>"   // include_svg=true 时返回
}

返回数据结构说明

  • cal_time:虚拟推运时刻,是理解小推运结果的关键参考:盘面所有行星位置即该时刻的星历位置。
  • analysis.config:包含本次计算使用的全局配置(orb_scheme, aspect_scheme, fixed_star_orb_scheme)
  • 相位数据简化:每个相位不再包含 orb_scheme 和 involves_fixed_star 字段,减少冗余
  • 恒星相位识别:通过 planet1 或 planet2 的名称即可判断是否为恒星相位

Python 调用示例

import requests

# 小推运基本请求
response = requests.post('https://chart.12sign.top/onechart', json={
    "chart_type": "progression_min",
    "natal_data": {
        "datetime": "1990-06-15 14:30:00",
        "lat": 39.9042,
        "lon": 116.4074,
        "tz": 8
    },
    "target_data": {
        "datetime": "2026-09-22 12:00:00",
        "lat": 39.9042,
        "lon": 116.4074,
        "tz": 8
    },
    "include_analysis": True,
    "include_svg": True
})

result = response.json()
if result['success']:
    data = result['data']

    # 保存SVG
    with open('minor_progression.svg', 'w', encoding='utf-8') as f:
        f.write(result['svg'])

    # 虚拟推运时刻
    print(f"虚拟推运时刻: {data['cal_time']}")

    # 上升与月亮位置
    asc = data['planets']['ASC']['longitude']
    moon = data['planets']['MOON']['longitude']
    print(f"ASC 黄经: {asc:.2f}°")
    print(f"月亮黄经: {moon:.2f}°")

    # 相位分析
    analysis = data.get('analysis', {})
    for aspect in analysis.get('aspects', []):
        print(f"{aspect['planet1']} {aspect['aspect']} {aspect['planet2']} (orb {aspect['orb']:.2f}°)")

在线测试

请求地址:
https://chart.12sign.top/onechart
请求参数(JSON):
返回结果:
点击"发送请求"后在此显示结果
星盘图:
SVG星盘图将在请求成功后显示在这里