Natal Chart Image
A real zodiac wheel you can feed to ControlNet
- natal_chart_image
Most nodes in the Comfyui-Kerykeion pack spit out JSON. This one spits out a picture: the classic zodiac wheel, computed from a real natal chart, as an IMAGE tensor you can preview, save, or feed straight into ControlNet. The pack's README's pitch is the fun part - connect it to a Canny or Lineart ControlNet and let Stable Diffusion turn the actual geometry of your birth chart into mystical art.
That's a surprisingly neat trick for ComfyUI: normally the only way to get a chart wheel is a website or an astrology app. Here it's a first-class node in your graph.
How it works
Same three-step pipeline as Natal Chart Calculator - geocode the city with Nominatim, resolve the timezone with timezonefinder, then build a kerykeion AstrologicalSubject in offline mode (local Swiss Ephemeris math). The difference is what happens after:
- SVG generation. Kerykeion draws the chart as a vector graphic (
KerykeionChartSVG), producing an SVG string. - SVG → PNG.
cairosvgrasterizes that SVG into pixel data. - PNG → tensor. PIL loads the image and it becomes a float tensor, scaled to 0–1, shaped like any ComfyUI image you've seen.
That SVG-middle-step is why this node has a dependency the others don't: cairosvg, and through it the native Cairo graphics library on Linux.
The inputs that matter
Identical to Natal Chart Calculator - year, month, day, hour, minute, city_name - and the same caveats apply: the birth time matters for the Ascendant and house cusps, and the city is resolved by a live geocoder, so it needs internet and a findable city.
The single output
- natal_chart_image - an IMAGE tensor. The three things people do with it:
- Preview it. Wire it into a
Preview ImageorSave Imagenode just to look at the wheel. - ControlNet it. This is the fun one. Feed the chart image through a Canny or Lineart preprocessor into a
ControlNet Applynode, then prompt SD with something like "a beautiful mystical tarot card, golden lines, deep cosmic background". The wheel's real geometry constrains the composition. (If you're on a union-style model, mind the recommended control weight - modern unions overcook at the old 1.0 default.) - Composite it. Save it and overlay it on artwork downstream as a genuinely accurate chart graphic.
Installing it
Same pack install as everything else:
cd ComfyUI/custom_nodes
git clone https://github.com/Meisoftcoltd/Comfyui-Kerykeion
cd Comfyui-Kerykeion
pip install -r requirements.txt
or "ComfyUI-Kerykeion" via ComfyUI Manager, then restart. No model files to download. The one extra gotcha is Cairo itself: on Linux, if cairosvg fails to import, you usually need the system library first (sudo apt install libcairo2 on Debian/Ubuntu). On Windows the wheels usually bundle it. If this node errors while the JSON nodes work, cairosvg is the first suspect.
Common issues
- You get a black image and no error. This is the trap, and it's specific to this node. Where the calculators return a JSON error string, Natal Chart Image returns a blank 512×512 black tensor on any failure - city not found, timezone not found, any exception. No red bubble, no console message you'd definitely notice. If you render a wheel and get black, check the console for
Error (NatalChartImageNode)and verify the city actually geocoded. This is also worth knowing if you pipe the output to ControlNet: a black control image produces garbage conditionally-guided generations, so preview the wheel before you trust it. - Geocoding rate limits. Same as the rest of the pack - every run hits OpenStreetMap's free Nominatim, which is polite about being hammered but not infinite.
- Fixed resolution. There's no width/height control; you get whatever kerykeion's SVG template renders at. If you need a bigger wheel for ControlNet, upscale it downstream rather than expecting a resolution setting here.
It's the pack's showpiece node, and honestly the most distinctive thing in it - an actual, correct astrological chart wheel as a composable image. Just remember the black-frame failure mode and preview before you ControlNet.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| year | INT | 20001900–2100 | — |
| month | INT | 11–12 | — |
| day | INT | 11–31 | — |
| hour | INT | 120–23 | — |
| minute | INT | 00–59 | — |
| city_name | STRING | Madrid | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| natal_chart_image | IMAGE | — |