AI Natal Narrative
POST
/reports/ai/natal-narrative
curl -X POST https://api.astroway.info/v1/reports/ai/natal-narrative \ -H "X-Api-Key: aw_live_..." \ -H "Content-Type: application/json"const res = await fetch('https://api.astroway.info/v1/reports/ai/natal-narrative', { method: 'POST', headers: { 'X-Api-Key': process.env.ASTROWAY_API_KEY, 'Content-Type': 'application/json', },});const { ok, data, error } = await res.json();if (!ok) throw new Error(error.message);console.log(data);import os, requests
r = requests.post( 'https://api.astroway.info/v1/reports/ai/natal-narrative', headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY'], 'Content-Type': 'application/json'},)result = r.json()if not result['ok']: raise RuntimeError(result['error']['message'])print(result['data'])<?phpuse GuzzleHttp\Client;
$client = new Client(['base_uri' => 'https://api.astroway.info/v1/']);$r = $client->post('reports/ai/natal-narrative', [ 'headers' => ['X-Api-Key' => getenv('ASTROWAY_API_KEY')],]);$result = json_decode($r->getBody(), true);if (!$result['ok']) throw new \RuntimeException($result['error']['message']);print_r($result['data']);Long-form natal-chart narrative (markdown). Inputs: chart, language (21 codes), tone (warm/professional/concise), length (short/medium/long; ≤3200 tokens). Returns the narrative text plus model and token usage. AI grounded on the computed natal chart — Sun/Moon/Asc, 13 bodies, 12 houses, ≤25 major aspects.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ” Media type application/json
object
chart required
Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss). Defaults to lat/lon/tz=0 if omitted; pass real values for accurate computation.
object
date required
string
time required
string
timezoneOffset
number
latitude
number
longitude
number
houseSystem
string
name
string
city
string
zodiacType
string
ayanamsaId
number
cosmogram
boolean
key additional
language
string
tone
string
length
string
Responses
Section titled “ Responses ”Successful calculation
Media type application/json
object
ok
boolean
data
object
narrative
string
disclaimer
string
model
string
language
string
tone
string
length
string
tokens
object
input
number
output
number
duration_ms
number
Example
{ "ok": true, "data": { "narrative": "# Вступ\n\n...", "disclaimer": "Цей наратив згенерований ШІ...", "model": "groq/llama-3.3-70b", "language": "uk", "tone": "warm", "length": "medium", "tokens": { "input": 542, "output": 1623 }, "duration_ms": 3500 }}Validation error
Media type application/json
Example
{ "ok": false, "error": { "code": "INVALID_INPUT", "message": "Validation failed: date: Date must be YYYY-MM-DD", "details": [ { "path": "date", "message": "Date must be YYYY-MM-DD" } ] }}Missing or invalid API key
Media type application/json
Example
{ "ok": false, "error": { "code": "INVALID_API_KEY", "message": "Invalid API key" }} Корисно?
Дякуємо за фідбек.