Back to Docs
SVG Transit Chart Generator
SVG Transit Chart Generator
POST
/api/v1/natal/chart/transitsGenerate a bi-wheel transit chart showing current planetary positions overlaid on a natal chart. Natal planets appear in the outer ring (blue by default), transit planets in the inner ring (red by default). Full control over colors, aspect lines, and visual styling.
For unknown natal birth time, pass natal.time_known: false to omit houses and angles.
Full URL
https://api.freeastroapi.com/api/v1/natal/chart/transitsNatal Subject Parameters (nested inside natal object)
Birth chart details for the subject.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| name | string | Yes | - | Subject name |
| year | integer | Yes | - | Birth year |
| month | integer | Yes | - | Birth month (1-12) |
| day | integer | Yes | - | Birth day (1-31) |
| hour | integer | Yes | - | Birth hour (0-23) |
| minute | integer | Yes | - | Birth minute (0-59) |
| time_known | boolean | No | true | Set false when natal birth time is unknown. Houses and angles are omitted on the natal wheel. |
| city | string | No | - | Birth city. Optional when lat/lng are provided. |
| lat | float | No | auto | Birth latitude. Required with lng if city is omitted. |
| lng | float | No | auto | Birth longitude. Required with lat if city is omitted. |
| tz_str | string | No | AUTO | Timezone (e.g. 'Europe/London' or 'AUTO') |
| house_system | string | No | placidus | placidus, whole_sign, equal, koch, etc. |
| zodiac_type | string | No | tropical | tropical or sidereal |
| format | string | No | svg | Output format: 'svg' or 'png' |
| size | integer | No | 700 | Chart width/height in pixels |
| theme_type | string | No | light | Theme: 'light', 'dark', or 'mono' |
| png_quality_scale | float | No | 2.0 | PNG resolution multiplier (1.0-5.0) |
| show_metadata | boolean | No | true | Show metadata block in chart |
Transit Parameters (top-level)
Where and when to calculate the transit sky.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| current_city | string | Yes | - | City for transit planet positions |
| current_lat | float | No | auto | Transit latitude (optional) |
| current_lng | float | No | auto | Transit longitude (optional) |
| transit_date | string | No | now | Transit datetime ISO format: YYYY-MM-DDTHH:MM (defaults to current moment) |
| tz_str | string | No | AUTO | Timezone for transit location |
Aspect Line Visibility (top-level)
Control which sets of aspect lines are drawn.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| show_inter_aspects | boolean | No | true | Show transit→natal aspect lines (cross-aspects) |
| show_natal_aspects | boolean | No | false | Show natal→natal aspect lines |
| show_transit_aspects | boolean | No | false | Show transit→transit aspect lines |
Planet Colors (top-level)
Override planet symbol and degree text colors per ring. Pass null to use each planet's elemental color.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| natal_planet_color | string | No | #1565C0 | Color for natal planet symbols + degree text (hex). Null = elemental colors. |
| transit_planet_color | string | No | #C62828 | Color for transit planet symbols + degree text (hex). Null = elemental colors. |
Display Settings (inside natal.display_settings)
Control which bodies appear on the natal ring.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| sun | boolean | No | true | Show Sun |
| moon | boolean | No | true | Show Moon |
| mercury | boolean | No | true | Show Mercury |
| venus | boolean | No | true | Show Venus |
| mars | boolean | No | true | Show Mars |
| jupiter | boolean | No | true | Show Jupiter |
| saturn | boolean | No | true | Show Saturn |
| uranus | boolean | No | true | Show Uranus |
| neptune | boolean | No | true | Show Neptune |
| pluto | boolean | No | true | Show Pluto |
| north_node | boolean | No | true | Show North Node |
| chiron | boolean | No | true | Show Chiron |
| lilith | boolean | No | true | Show Mean Black Moon Lilith (legacy alias for mean_lilith) |
| mean_lilith | boolean | No | false | Show Mean Black Moon Lilith |
| true_lilith | boolean | No | false | Show True (oscillating) Black Moon Lilith |
| eris | boolean | No | false | Show Eris |
| eros | boolean | No | false | Show Eros |
| part_of_fortune | boolean | No | false | Show Part of Fortune |
Chart Configuration (inside natal.chart_config)
Fine-tune the visual appearance of the chart. All parameters are optional and placed inside the natal.chart_config object.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| sign_ring_thickness_fraction | float | No | 0.16 | Sign ring thickness (0.0–1.0) |
| house_ring_thickness_fraction | float | No | 0.05 | House ring thickness (0.0–1.0) |
| center_disk_fraction | float | No | 0.45 | Center disk radius (0.0–1.0) |
| planet_symbol_scale | float | No | 0.35 | Planet symbol size multiplier |
| sign_symbol_scale | float | No | 0.6 | Sign symbol size multiplier |
| house_number_scale | float | No | 0.35 | House number size multiplier |
| chart_background | string | No | null | Background color override (hex) |
| custom_planet_color | string | No | null | Override all planet colors (hex). Null = elemental colors. |
| custom_sign_color | string | No | null | Override all sign symbol colors (hex) |
| custom_house_color | string | No | null | Override all house number colors (hex) |
| custom_sign_bg_color | string | No | null | Single hex color for all 12 sign ring backgrounds. When set, sign backgrounds are automatically enabled. |
| custom_house_bg_color | string | No | null | Single hex color for all 12 house ring backgrounds. When set, house backgrounds are automatically enabled. |
| sign_line_width | float | No | 2.0 | Sign separator line width |
| house_line_width | float | No | 1.0 | House separator line width |
| asc_line_width | float | No | - | ASC axis line width |
| mc_line_width | float | No | - | MC axis line width |
| aspect_conjunction_width | float | No | - | Conjunction aspect line width |
| aspect_trine_width | float | No | - | Trine aspect line width |
| aspect_opposition_width | float | No | - | Opposition aspect line width |
| aspect_square_width | float | No | - | Square aspect line width |
| aspect_sextile_width | float | No | - | Sextile aspect line width |
| show_retrograde_markers | boolean | No | false | Enable retrograde markers on planet degree labels. |
| retrograde_marker_style | string | No | R | Retrograde marker style when enabled: "R" or "rx" (℞). |
| houses_inside_planets | boolean | No | true | Place houses inside planet ring (recommended for transit bi-wheel) |
| french_style | boolean | No | false | French bi-wheel layout: aspect disk inside sign rim, natal houses outside signs, natal planets outside houses, and transit planets in an outer lane. |
| french_planet_radius_offset | float | No | 0 | French-mode natal planet lane offset. Moves natal planet glyphs radially without moving the house/sign rings. |
| french_transit_planet_radius_offset | float | No | 24 | Regular French transit-mode planet lane offset. Moves transit glyphs radially without moving natal rings. |
| french_transit_degree_label_offset | float | No | -28 | French transit-mode degree label offset. Positive moves labels inward; negative moves them outward. |
| french_transit_natal_planets_inside | boolean | No | false | French transit-mode variant. Moves the house ring, house numbers, and aspect disk inside like the normal SVG chart, places user/natal planets inside the sign ring, and keeps current-sky/transit planets outside. |
| french_transit_natal_inner_radius_offset | float | No | 0 | French transit-mode inner-natal variant. Adjusts the inner user planet lane radius. |
| french_transit_inner_natal_house_gap | float | No | 60 | French transit-mode inner-natal variant. Gap from sign inner ring to house outer ring; larger values make the house ring and aspect disk smaller. |
| french_transit_inner_natal_planet_radius_offset | float | null | No | null | French transit-mode inner-natal variant. Overrides the current-sky/transit planet lane offset; null uses the close default for this mode. |
Sample Code
curl -X POST "https://api.freeastroapi.com/api/v1/natal/chart/transits" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"natal": {
"name": "John Doe",
"year": 1990,
"month": 5,
"day": 15,
"hour": 14,
"minute": 30,
"time_known": false,
"city": "London",
"tz_str": "AUTO",
"size": 700,
"theme_type": "light",
"format": "svg",
"chart_config": {
"custom_sign_bg_color": "#e8e0f0",
"custom_house_bg_color": "#e0f0f8",
"show_retrograde_markers": true,
"retrograde_marker_style": "R",
"french_style": true,
"french_planet_radius_offset": 0,
"french_transit_planet_radius_offset": 24,
"french_transit_degree_label_offset": -28,
"french_transit_natal_planets_inside": false,
"french_transit_natal_inner_radius_offset": 0,
"french_transit_inner_natal_house_gap": 60,
"french_transit_inner_natal_planet_radius_offset": null,
"custom_planet_color": null
}
},
"current_city": "New York",
"transit_date": "2026-02-26T12:00",
"show_inter_aspects": true,
"show_natal_aspects": false,
"show_transit_aspects": false,
"natal_planet_color": "#1565C0",
"transit_planet_color": "#C62828"
}' --output transit_chart.svg