astro_render_wheel
Zodiac wheel renders — single, bi-, tri-, quadri-, or heliocentric wheel.
- Layer: render
- Methods: single, biwheel, triwheel, quadriwheel, heliocentric
- Free tier: single
- Paid tier: biwheel, triwheel, quadriwheel, heliocentric
Description
Zodiac wheel renders — single, bi-, tri-, quadri-, or heliocentric wheel.
Methods:
single [Free] — birth data → single zodiac wheel (wheel or square style, optional harmonic)
biwheel [Paid] — two birth data sets → inner/outer bi-wheel with cross-aspect display options
triwheel [Paid] — three birth data sets → tri-wheel (3 rings), no aspect lines
quadriwheel [Paid] — four birth data sets → quadri-wheel (4 rings), no aspect lines
heliocentric [Paid] — birth data → Sun-centred houseless wheel (Earth plotted, no cusps or angles)
Input schema
single
| Field | Type | Required | Constraints |
|---|---|---|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| houseSystem | enum(44) | no | — |
| style | "wheel" | "square" | no | — |
| harmonic | integer | no | min 1, max 360, int |
| showAspects | boolean | no | — |
| showHouseNumbers | boolean | no | — |
| houseNumbersMode | "show" | "middle" | "hide" | "axes-only" | no | — |
| degreeLabelColoring | "default" | "by-sign" | "by-planet" | no | — |
| extendedBodies | array<string> | no | — |
| mode | "light" | "dark" | no | — |
Example request
{
"method": "single",
"birthData": {
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
}
}
Example response (captured; long values elided)
{
"svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1120 1120\" width=\"1120\" height=\"1120\">\n<defs>\n<path id=\"wm-admetos\"… (185378 chars total)",
"style": "wheel",
"harmonic": 1
}
Rendered example
biwheel
| Field | Type | Required | Constraints |
|---|---|---|---|
| inner.year | integer | yes | min -4000, max 4000, int |
| inner.month | integer | yes | min 1, max 12, int |
| inner.day | integer | yes | min 1, max 31, int |
| inner.hour | integer | yes | min 0, max 23, int |
| inner.minute | integer | yes | min 0, max 59, int |
| inner.second | integer | no | min 0, max 59, int |
| inner.latitude | number | yes | min -90, max 90 |
| inner.longitude | number | yes | min -180, max 180 |
| inner.timezone | number | yes | min -12, max 14 |
| inner.unknownTime | boolean | no | — |
| outer.year | integer | yes | min -4000, max 4000, int |
| outer.month | integer | yes | min 1, max 12, int |
| outer.day | integer | yes | min 1, max 31, int |
| outer.hour | integer | yes | min 0, max 23, int |
| outer.minute | integer | yes | min 0, max 59, int |
| outer.second | integer | no | min 0, max 59, int |
| outer.latitude | number | yes | min -90, max 90 |
| outer.longitude | number | yes | min -180, max 180 |
| outer.timezone | number | yes | min -12, max 14 |
| outer.unknownTime | boolean | no | — |
| houseSystem | enum(44) | no | — |
| harmonic | integer | no | min 1, max 360, int |
| aspectDisplay | "cross" | "natal" | "natal-outer" | "hide" | no | — |
| mode | "light" | "dark" | no | — |
Example request
{
"method": "biwheel",
"inner": {
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
},
"outer": {
"year": 2024,
"month": 6,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
}
}
Example response (captured; long values elided)
{
"svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 760 760\" width=\"760\" height=\"760\">\n<rect width=\"100%\" height=\"100%\"… (185870 chars total)",
"harmonic": 1,
"crossAspectCount": 10
}
Rendered example
triwheel
| Field | Type | Required | Constraints |
|---|---|---|---|
| charts | array<object> | yes | — |
| houseSystem | enum(44) | no | — |
| harmonic | integer | no | min 1, max 360, int |
| mode | "light" | "dark" | no | — |
Example request
{
"method": "triwheel",
"charts": [
{
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
},
{
"year": 1992,
"month": 3,
"day": 21,
"hour": 18,
"minute": 30,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
},
{
"year": 2024,
"month": 6,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
}
]
}
Example response (captured; long values elided)
{
"svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 760 760\" width=\"760\" height=\"760\">\n<defs>\n<path id=\"wm-admetos\" d=\"… (196615 chars total)",
"harmonic": 1,
"rings": 3
}
Rendered example
quadriwheel
| Field | Type | Required | Constraints |
|---|---|---|---|
| charts | array<object> | yes | — |
| houseSystem | enum(44) | no | — |
| harmonic | integer | no | min 1, max 360, int |
| mode | "light" | "dark" | no | — |
Example request
{
"method": "quadriwheel",
"charts": [
{
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
},
{
"year": 1992,
"month": 3,
"day": 21,
"hour": 18,
"minute": 30,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
},
{
"year": 1988,
"month": 11,
"day": 11,
"hour": 6,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
},
{
"year": 2024,
"month": 6,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
}
]
}
Example response (captured; long values elided)
{
"svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 760 760\" width=\"760\" height=\"760\">\n<defs>\n<path id=\"wm-admetos\" d=\"… (212223 chars total)",
"harmonic": 1,
"rings": 4
}
Rendered example
heliocentric
| Field | Type | Required | Constraints |
|---|---|---|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| zodiac | enum(35) | no | — |
| aspectOrbs | any | "default" | "hide" | object | no | — |
| minorAspects.quincunx | boolean | no | — |
| minorAspects.semiSextile | boolean | no | — |
| minorAspects.semiSquare | boolean | no | — |
| minorAspects.sesquiquadrate | boolean | no | — |
| minorAspects.quintile | boolean | no | — |
| minorAspects.biQuintile | boolean | no | — |
| minorAspects.septile | boolean | no | — |
| minorAspects.biSeptile | boolean | no | — |
| minorAspects.triSeptile | boolean | no | — |
| minorAspects.novile | boolean | no | — |
| minorAspects.biNovile | boolean | no | — |
| minorAspects.quadriNovile | boolean | no | — |
| minorAspects.semiQuintile | boolean | no | — |
| minorAspects.undecile | boolean | no | — |
| minorAspects.quindecile | boolean | no | — |
| extendedBodies | array<string> | no | — |
| showAspects | boolean | no | — |
| showDegreeTicks | boolean | no | — |
| mode | "light" | "dark" | no | — |
Example request
{
"method": "heliocentric",
"birthData": {
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
}
}
Example response (captured; long values elided)
{
"svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1120 1120\" width=\"1120\" height=\"1120\">\n<defs>\n<path id=\"wm-admetos\"… (179779 chars total)",
"bodyCount": 11
}
Rendered example