NURA API Documentation
OpenAI-compatible REST and streaming endpoints for private chat, image generation, video generation, speech synthesis, prices, credits, and GPU marketplace data.
x-aix-sourceAuthentication
Send your NURA API key as a bearer token. Generate and revoke keys in the chat app API drawer.
- Header:
Authorization: Bearer <NURA_API_KEY> - Recommended header:
x-aix-source: officialfor first-party provider routing orworkersfor network GPU routing. - Do not ship API keys in frontend JavaScript, mobile bundles, or public repositories.
Authorization: Bearer $NURA_API_KEY
Content-Type: application/json
x-aix-source: official
List models
Returns currently available chat and image models from configured first-party providers or the NURA worker network.
curl https://api.nuraix.com/v1/models \
-H "Authorization: Bearer $NURA_API_KEY" \
-H "x-aix-source: official"
Chat completions
OpenAI-compatible chat with optional SSE streaming. Most OpenAI SDKs work by changing the base URL and API key.
| Parameter | Type | Description |
|---|---|---|
model | string | Model id, such as gpt-4o-mini or another available model. |
messages | array | Conversation messages with role and content. |
stream | boolean | When true, tokens are returned over server-sent events. |
temperature | number | Optional sampling temperature. |
curl https://api.nuraix.com/v1/chat/completions \
-H "Authorization: Bearer $NURA_API_KEY" \
-H "Content-Type: application/json" \
-H "x-aix-source: official" \
-d '{
"model": "gpt-4o-mini",
"messages": [
{"role": "user", "content": "Explain NURA in one paragraph"}
],
"stream": true
}'
Image generation
Generate images from text prompts. Use size to request a target aspect ratio or resolution supported by the selected provider.
| Parameter | Type | Description |
|---|---|---|
model | string | Image model id. |
prompt | string | Prompt describing the image. |
size | string | Optional size, for example 1024x1024 or provider-specific values. |
curl https://api.nuraix.com/v1/images/generations \
-H "Authorization: Bearer $NURA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine-image",
"prompt": "A cinematic GPU data center at night",
"size": "1024x1024"
}'
Video generation
Create an asynchronous video generation job, then poll status until a video URL is returned.
curl https://api.nuraix.com/v1/videos/generations \
-H "Authorization: Bearer $NURA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine-video",
"prompt": "A liquid-cooled AI rack powering on"
}'
Speech synthesis
Generate speech audio from text. The response shape follows the active provider bridge and may include a URL or base64 payload.
curl https://api.nuraix.com/v1/audio/speech \
-H "Authorization: Bearer $NURA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-tts",
"input": "Welcome to NURA.",
"voice": "Cherry"
}'
Pricing, credits, and marketplace
Use these endpoints to inspect public pricing, account credits, deposit addresses, and marketplace inventory.
GET /v1/pricesGET /v1/creditsGET /v1/market/*POST /v1/deposit/*
curl https://api.nuraix.com/v1/prices \
-H "Authorization: Bearer $NURA_API_KEY"
Errors and limits
Errors are returned as JSON. Streaming errors may arrive before or during an SSE stream depending on the upstream provider.
| Status | Description |
|---|---|
400 | Invalid request body or unsupported parameter. |
401 | Missing, revoked, or invalid API key. |
429 | Rate limit or quota exceeded. |
502 | Provider or worker upstream unavailable. |
{
"error": "relay error",
"detail": "provider upstream unavailable"
}