AstroWay/api v2.325.2 · fr
tous les systèmes sont opérationnels

Eclipse path, cosmogram et cartes Vedic : visualiseurs pure-SVG sans headless-Chrome

Six endpoints de la famille /v1/render/* pour des visualisations spécifiques - trois cartes Vedic (North/South/East Indian), Hamburg-School 90° cosmogram, equirectangular eclipse-path et stereographic star-map. Tous les rendus - chaîne SVG pure, sans worker de navigateur.

La catégorie Visualization de notre feuille de route est complète à 14/14 : six endpoints finaux couvrent des layouts spécifiques pour lesquels il n’existe pas de package npm prêt à l’emploi - les cartes védiques dans trois styles régionaux, le cosmogramme de l’école de Hambourg, le tracé d’éclipse sur une carte du monde et la carte stellaire stéréographique.

La décision clé : tous les rendus sont des chaînes SVG pures, sans Chrome headless. Cela signifie une réponse en moins d’une seconde, un faible coût par appel et la possibilité d’intégration inline dans n’importe quel document email/PDF/web.

La plupart des images astrologiques de qualité publication sont créées via Chromium avec un modèle SVG - c’est normal pour les rapports PDF. Mais les endpoints /v1/render/* sont orientés vers le rendu programmatique en temps réel :

  • intégration inline dans un composant React de tableau de bord
  • intégration dans une campagne email
  • transmission à un agent LLM pour une analyse multimodale

Chrome headless ne convient pas - le coût en RAM et la latence ne permettent pas de l’appeler 100 fois/min pour un seul lot. C’est pourquoi les six renderers sont de purs string-builder qui émettent le balisage SVG via des fonctions de template. La latence est inférieure à 100 ms, même avec un cache froid.

Dans la tradition de l’astrologie indienne, il existe trois layouts de carte natale, et chacun a un poids culturel dans sa région :

1. Inde du Nord (Diamant) - /v1/render/wheel-vedic-north

Section intitulée « 1. Inde du Nord (Diamant) - /v1/render/wheel-vedic-north »

Le layout classique en “diamant” : la 1ère maison est toujours en haut (maisons fixes), les signes tournent en fonction du Lagna. Courant dans la plupart des consultations hindi-mainstream.

Fenêtre de terminal
curl -X POST https://api.astroway.info/v1/render/wheel-vedic-north \
-H "X-Api-Key: aw_live_..." \
-H "Content-Type: application/json" \
-d '{
"date": "1990-05-15",
"time": "14:30:00",
"timezoneOffset": 3,
"latitude": 50.45,
"longitude": 30.52,
"options": { "format": "svg" }
}'

Tu peux demander une chaîne SVG (format: "svg") ou un wrapper JSON avec { svg, byteLength } (format: "json", par défaut).

2. Inde du Sud (grille 4×4) - /v1/render/wheel-vedic-south

Section intitulée « 2. Inde du Sud (grille 4×4) - /v1/render/wheel-vedic-south »

Grille carrée 4×4, les signes sont fixes (Poissons toujours en haut à gauche, les autres dans le sens des aiguilles d’une montre), les numéros de maison flottent avec le Lagna. Courant au Tamil Nadu, Kerala, Karnataka.

3. Inde de l’Est (Bengali) - /v1/render/wheel-vedic-east

Section intitulée « 3. Inde de l’Est (Bengali) - /v1/render/wheel-vedic-east »

Un carré avec des diagonales + un carré intérieur tourné - une géométrie hybride. La moins connue des trois en Occident, mais obligatoire pour les produits d’orientation bengalie.

Les trois acceptent le même chart-payload - l’endpoint est choisi en fonction du style de visualisation.

Cosmogramme : Cadran 90° de l’École de Hambourg

Section intitulée « Cosmogramme : Cadran 90° de l’École de Hambourg »

POST /v1/render/cosmogram - ce n’est pas un cercle natal. C’est un cadran de 90° où tous les aspects durs (0°/90°/180°) se réduisent à une conjonction. Cet outil a été développé par Alfred Witte (Witte 1928) et formalisé plus tard par Reinhold Ebertin (Ebertin 1940) comme base de la cosmobiologie.

Pourquoi est-ce utile : sur une carte standard de 360°, les aspects durs sont “étalés” sur le cercle, ce qui rend difficile la lecture des clusters. Sur un cadran de 90°, ils deviennent visuellement évidents - un cluster de 3-4 planètes dans un même secteur de 22,5° est immédiatement visible.

Fenêtre de terminal
curl -X POST https://api.astroway.info/v1/render/cosmogram \
-H "X-Api-Key: aw_live_..." \
-H "Content-Type: application/json" \
-d '{
"date": "1990-05-15",
"time": "14:30:00",
"timezoneOffset": 3,
"latitude": 50.45,
"longitude": 30.52
}'

Retourne un SVG avec un carré de 4×22,5° (secteurs cardinaux) + les positions des planètes sur une rotation de 90°.

Tracé d’éclipse : carte du monde équirectangulaire

Section intitulée « Tracé d’éclipse : carte du monde équirectangulaire »

POST /v1/render/eclipse-path accepte une trace lat/lon fournie par l’appelant pour la ligne de centralité de l’éclipse et, en option, une largeur de bande en degrés. Le rendu est une carte du monde équirectangulaire (projection standard WGS-84) avec un graticule + une ligne de tracé + un calque de bande.

Fenêtre de terminal
curl -X POST https://api.astroway.info/v1/render/eclipse-path \
-H "X-Api-Key: aw_live_..." \
-H "Content-Type: application/json" \
-d '{
"path": [
{ "latitude": 38.5, "longitude": -125.0, "time": "2026-08-12T17:30Z" },
{ "latitude": 41.2, "longitude": -105.3, "time": "2026-08-12T17:42Z" },
{ "latitude": 44.8, "longitude": -85.7, "time": "2026-08-12T17:54Z" }
],
"bandWidthDeg": 1.2,
"title": "Eclipse 2026-08-12",
"options": { "width": 1200, "height": 600, "showGraticule": true, "pathColor": "#ff5500" }
}'

Le tracé fourni par l’appelant est un choix de conception délibéré. Les données de tracé d’éclipse proviennent de diverses sources canoniques (NASA Eclipse Catalog, Five Millennium Canon of Solar Eclipses par Espenak & Meeus), chacune avec sa propre précision. L’endpoint n’essaie pas de reproduire le calcul de la NASA - il rend ton tracé de manière esthétique. Comme source de données, nous recommandons le NASA Eclipse Web Site, mais cela dépasse le cadre de cet endpoint.

Cas d’utilisation. Une application éducative qui montre la prochaine éclipse avec son tracé sur une carte. Ou une consultation astrologique qui souhaite visualiser la “vague” de l’éclipse à travers les lieux importants pour le natif.

POST /v1/render/star-map accepte une liste de points (RA/Dec) avec une magnitude et un glyphe optionnels, et rend une projection stéréographique. La magnitude est mappée sur le rayon du point (étoile plus brillante = cercle plus grand).

Fenêtre de terminal
curl -X POST https://api.astroway.info/v1/render/star-map \
-H "X-Api-Key: aw_live_..." \
-H "Content-Type: application/json" \
-d '{
"points": [
{ "raHours": 5.92, "decDeg": 7.41, "magnitude": 0.45, "name": "Betelgeuse" },
{ "raHours": 6.75, "decDeg": -16.72, "magnitude": -1.46, "name": "Sirius" },
{ "raHours": 5.24, "decDeg": -8.20, "magnitude": 0.18, "name": "Rigel" }
],
"observerLatDeg": 50.45,
"zenithDecDeg": 50.45,
"capAltitudeDeg": -18,
"title": "Sky at midnight, Kyiv"
}'

Paramètres :

  • points : de 1 à 2000 étoiles/objets
  • observerLatDeg + zenithDecDeg : pour une projection correcte depuis le point de l’observateur
  • capAltitudeDeg : limite d’altitude (par exemple, -18 pour le crépuscule astronomique)

Cas d’utilisation. Un widget “Ciel ce soir” dans une application d’astrologie. Un contexte natal védique avec des étoiles-nakshatras superposées sur les coordonnées réelles. Un produit éducatif avec une carte des constellations.

Si tu as besoin d’un raster (pour les réseaux sociaux, les emails, les notifications push), le pipeline :

import { Astroway } from "@astroway/sdk";
import sharp from "sharp";
const client = new Astroway({ apiKey: process.env.ASTROWAY_KEY });
const { svg } = await client.render.eclipsePath({
path: eclipseTrack,
bandWidthDeg: 1.2,
options: { width: 1200, height: 600, format: "json" },
});
const png = await sharp(Buffer.from(svg))
.resize(1200, 600)
.png()
.toBuffer();
// upload to CDN, get URL

La conversion SVG → PNG via sharp ajoute environ 150 ms, ce qui est toujours moins cher que Chrome headless. Alternativement, tu peux le laisser en SVG et l’insérer inline dans le HTML via des systèmes de template (Astro, Vue, composant React avec sortie directe de la chaîne via le mécanisme approprié du framework avec pré-sanitisation).

Les six endpoints de rendu de ce lot sont de Tier 1 : 10 crédits par appel. La grille tarifaire complète se trouve sur Tarification.

La documentation avec les schémas de paramètres complets se trouve dans /docs/api/ → Render. Les formats védiques, le cosmogramme, le tracé d’éclipse et la carte stellaire - chacun avec un exemple de paramètres et un SVG de réponse.

MakSeong · AstroWay

Je fais l'API AstroWay : j'enveloppe des calculs astrologiques à la seconde d'arc dans du REST pur et j'écris sur les détails ennuyeux qui sont en fait importants.

// construis avec ça

Des positions à la seconde d'arc en 4 lignes de code.

Clé gratuite sans carte. 5 000 appels par mois avant le premier paiement.

Plus d'articles du blog voir tous les articles →

Ephemeris 2026-07-19

Comment nous gardons la précision sous contrôle : la CI contre swetest et la NASA

Dans une API d'astrologie, la précision se dégrade facilement après un seul refactoring des éphémérides. Voici notre protection : un seul noyau Swiss Ephemeris pour l'application et l'API, des centaines de snapshots figés sur des thèmes de référence et la triangulation de chaque PR contre swetest CGI, Kerykeion, Prokerala et le catalogue d'éclipses de la NASA.

Engineering 2026-07-15

Trois SDK officiels : TypeScript, Python, PHP au lieu de curl brut

Le HTTP brut fonctionne, mais un client typé fait gagner des heures : autocomplétion des chemins, types de requête et de réponse, retry intégré sur 408/409/429/5xx et hiérarchie d'erreurs à la Stainless. Tour d'horizon des trois SDK officiels, @astroway/sdk (npm), astroway (PyPI), astroway/sdk (Packagist), et de la manière dont ils sont générés à partir d'un même contrat OpenAPI.

Industry 2026-06-05

Free Astrology API: Which One Has the Best Free Tier in 2026?

A side-by-side of free tiers across the major astrology APIs - credits, request caps, card requirements - and how much you can actually build for free.