NARA

Build against one endpoint,reach every model.

OpenAI-compatible surfaces for chat, image generation, auth, and credits. Bearer-authenticated, streaming when you ask for it, signed webhooks on every relevant event. Each credit-metered call is audited with a per-key ledger you can inspect in the dashboard.

POST /v1/chat/completionscurl
curl https://api.naravirtual.ai/v1/chat/completions \
  -H "Authorization: Bearer $NARA_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-3-5-sonnet",
    "messages": [{ "role": "user", "content": "Hello." }]
  }'

OpenAI-compatibledrop-in for openai-python

Start where you need it.

Each reference is a standalone page — code samples, wire formats, error codes, retry behavior. Keep this tab open alongside your editor.

01/docs/reference

API reference

Every public endpoint in one page — auth, chat, image, credits, contact. Method, path, params, response shape, status codes, and drop-in curl / JavaScript / Python samples per call.

5 groupsLive searchCopyable
Open full reference
02/docs/webhooks

Webhooks

How to receive NARA webhooks, verify signatures, de-dupe on delivery IDs, and what we do when your endpoint is slow or down.

HMAC-SHA256Replay 5mRetry 5×
Open webhook reference
03Bearer auth

API keys

Name, scope, and cap your keys. Rotate without breaking running clients — keys are independent, and so are their credit ceilings.

BearerPer-key capRotation
Open key console

Two requests, two surfaces.

POST /v1/chat/completionscurl
curl https://api.naravirtual.ai/v1/chat/completions \
  -H "Authorization: Bearer $NARA_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-3-5-sonnet",
    "messages": [{ "role": "user", "content": "Hello." }]
  }'

streaming optional22 models

POST /v1/image/generationscurl
curl https://api.naravirtual.ai/v1/image/generations \
  -H "Authorization: Bearer $NARA_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "an editorial portrait, warm tungsten",
    "size": "1024x1024",
    "n": 1
  }'

multipart insigned URLs out

Mint a key and start calling.

100 free credits. No card. The same credential works in Chat, Image, and Canvas.