rja (Sanskrit ऊर्जा, energy) is a generative-visual API. Every response is a cacheable SVG or CSS file — no SDK, no client runtime, no image-CDN middleman. Drop the URL in your hero, in your OG card, in your editorial layout, and it works. This drop-cap is the first letter of this paragraph; it's also a real call to /api/v1/illustrate?slug=drop-cap&letter=U.
/api/v1/effects/aurora?palette=dusk&speed=0.70&seed=urja-hero-auroraA product of Insights by Omkar Studio
Every picture on this page was made just now from a URL.
Urja is the visual API. Drop a URL into an <img> tag, get an SVG back. Backgrounds, characters, ornaments, charts, fonts, country flags — generated on demand, cached at the edge, no SDK to install.
Where Urja fits
Four products. One studio. One visual engine.
nsights by Omkar ships four sibling sites that share one account, one design system, and one API foundation. Pick the one you actually need — the others are linked from every page.
The visual engine. Generates SVG + CSS for every other product on the platform.
Tarot, dreams, spells, astrology, library — eighteen traditions, fourteen years of session notes.
Sign in, manage your subscriptions, mint API keys, see usage analytics across every product.
Arcsecond-grade ephemeris math + chart workflows for working astrologers.
What's in the box
Eight tracks, independent SemVer
ach track ships its own changelog, its own scope, and its own public endpoints. Customers hold a single JWT that can be narrowed to whichever tracks they need.
CharacterBeta
/api/v1/characterParametric character renderer. Lucky (the Great Dane) is the reference — engine is breed-agnostic. Lucky's design is in active development; we ship the API surface stable, the character art keeps evolving.
Scene
/api/v1/sceneBackground + character composed into one SVG. Plus pricing-card and umbrella-hero atmospheres.
Effects
/api/v1/effects/*Aurora, glow, grain, starfield, plus woven linen and marbled textures. SMIL-animated, zero-JS runtime.
Illustrate
/api/v1/illustrateGlyphs, icons, 30 country flags, ornaments (drop-cap, folio-mark, brass divider, section break), chart wheels.
Motion
/api/v1/motionEasing + duration tokens, nine UI primitives, ESM runtime (stagger, onScroll, ready).
Tokens
/api/v1/tokens--ds-* semantic layer (~60 vars), atoms, palette switch (editorial / practitioner), pinnable via ?version=x.y.z.
Fonts
/api/v1/fontsSelf-hosted @font-face CSS + WOFF2 binaries — Fraunces, Inter, Cormorant Garamond. Subsetted latin + latin-ext.
CriticBeta
/api/v1/critic/*Cross-provider taste auditor. Claude + GPT-4o evaluate generated output against authoritative reference sets.
By the numbers
What ships in v0.5
ix numbers that describe the surface area customers get on day one. Every figure ticks live as you scroll past.
Live from this deployment
Showcase, rendered right now
verything below is a real artifact built by Urja and served to your browser. Animated effects use SMIL, ornaments are deterministic SVG, scenes compose on the server.
Atmospherics
Effects, animated by SMIL — no JS required
Scenes & characters
Compositions you can drop into hero sections
Editorial ornaments
In their habitat — drop-caps + section breaks
The illustrate track ships folio-marks for chapter numbers, brass dividers for section heads, and section breaks for between-paragraph rests.
They're typographic furniture, not clip art — the ornament above isn't decoration on this page, it's the actual break between two paragraphs of body text. The same call works on your blog, your spec, your whitepaper.
And the rest of the kit
Texture primitives
Paper, linen, marbled — drop them on any surface
Visualisations
Tiny charts, deterministic, cacheable
Country flags
Thirty regions, monoline + full
Integration
Typed URLs, zero runtime
he urja-client package gives you build*Url helpers and a React <VisualThemeProvider>. Every URL is a cacheable GET — no SDK, no polling, no client state.
import { VisualThemeProvider, buildSceneUrl } from "urja-client";
// 1 — one-line theme setup: tokens + fonts + motion
<VisualThemeProvider
tokensVersion="1.5.0"
palette="editorial"
>
<App />
</VisualThemeProvider>
// 2 — drop any response straight into an <img>
<img
src={buildSceneUrl({
pose: "listening",
background: "aurora",
})}
width={1200}
height={600}
alt="Lucky on an aurora backdrop"
/>buildSceneUrl(…)Or skip the client entirely and write the URL by hand — every endpoint is a plain GET. See the integration guide.
Playground
Paste a URL. See the SVG.
o SDK, no key. Every public endpoint on this deployment is one fetch away. Pick a preset or write your own — the response renders inline with bytes-on-the-wire and cache headers.
Pricing
Two tiers. Or one bundle that saves a third.
rja stands alone or rides with Kriya + Netra in the Dev bundle. Same Stripe customer, same studio dashboard, one cancel button.
Urja Pro
For solo builders. Production-ready quotas, the full public surface.
- 100k renders / mo
- Standard rate limits
- Self-serve key rotation
- Email support
Urja Max
For agencies + production teams. Includes Critic + Character APIs and per-key analytics.
- 1M renders / mo · 5× rate limits
- Critic + Character API access
- Custom palette presets
- Per-key usage analytics
- Priority support · early access
Urja Pro+ Kriya Pro + Netra + 50 Lucky chamber credits / mo.
vs $77 à la carte · save 36%
See the bundle →Urja Max+ Kriya Max + Netra + 200 Lucky chamber credits / mo.
vs $217 à la carte · save 31% (+ ~$19 in credits)
See the bundle →Need volume? White-label? On-prem? Talk to us about Enterprise →
