Build with AI that refuses to be weaponized.
Full API access to Thaura: chat, vision, document parsing, and speech-to-text. Ethics, not extraction. It never trains on your data, and never will.

Quick Start Guide
Get up and running with the Thaura API in minutes
Authentication
All requests must include an Authorization header with your API key:
Authorization: Bearer YOUR_API_KEYAPI Access
Create your API key in Settings → API → API Keys to get started with the Thaura API.
Prepaid Billing
Pay only for what you use: $0.50 per million input tokens, $2.00 per million output tokens. Add funds in Settings → API → Billing. Audio transcription is $0.006 per audio minute.
Inference Endpoint
Simplified Attachments
Now supports sending attachments as simple base64 strings! No need for complex object structures.
/v1/chat/completionsRequest Parameters:
messagesMessage array. Can include custom system prompts via system role messages. Default: "You are Thaura, an ethical AI assistant."modelModel to use: only "thaura" is supported (default: "thaura"). Other model names will return an error.streamEnable SSE streaming (default: false)temperatureControl response creativity (0.0-2.0, default: 0.7)attachmentsFile attachments: simple base64 string or array (images, PDFs, audio)max_tokensMaximum tokens to generateresponse_formatControl output format (e.g., JSON-only responses)toolsArray of function/tool definitions with JSON schemas for function callingtool_choiceControl tool usage: "auto" (default), "required", "none", or specific tool nameparallel_tool_callsEnable/disable parallel function calling (boolean)stopUp to 4 sequences where the model stops generating (string or array). The stop text is not included in the output.seedInteger for best-effort deterministic sampling. The same seed and parameters return the same output./v1/audio/transcriptionsSpeech-to-text: upload an audio file as multipart form data, get the transcript back. Billed per audio minute. Full examples in the Speech-to-Text tab below.
Response Formats
Non-Streaming Response (Thaura Format):
{
"id": "chatcmpl-...",
"object": "chat.completion",
"created": 1234567890,
"model": "thaura",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "The AI response text..."
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 52,
"completion_tokens": 18,
"total_tokens": 70
}
}Streaming Response (Thaura SSE Format):
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1234567890,"model":"thaura","choices":[{"index":0,"delta":{"content":"Response "},"finish_reason":null}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1234567890,"model":"thaura","choices":[{"index":0,"delta":{"content":"text..."},"finish_reason":null}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1234567890,"model":"thaura","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: [DONE]Streaming with Token Usage:
// Token usage is always included in the final streaming chunk.
// No need to set stream_options - usage is enabled automatically.
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1234567890,"model":"thaura","choices":[{"index":0,"delta":{"content":"text"},"finish_reason":null}]}
...
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1234567890,"model":"thaura","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"usage":{"prompt_tokens":52,"completion_tokens":18,"total_tokens":70}}
data: [DONE]Error Response:
{
"error": {
"message": "Human-readable description of what went wrong",
"type": "invalid_request_error",
"code": "invalid_model"
}
}
// Status Codes:
// 400: Invalid request (bad body, invalid model, or undecodable image/audio)
// 401: Missing or invalid API key
// 402: Insufficient balance (add funds in Settings → API → Billing)
// 404: Unknown model
// 413: File too large (audio uploads over 50MB)
// 429: Rate limit exceeded (slow down and retry)
// 500: Internal error
// 503: AI service temporarily unavailable (retry after a moment)Code Examples
Ready-to-use examples for common use cases
Simple Question
Basic API call with a simple question
curl -X POST https://backend.thaura.ai/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role": "system", "content": "You are an ethical AI assistant"},
{"role": "user", "content": "What is 2+2?"}
],
"stream": true
}'Start Building with Ethical AI Today
Create your API keys instantly in Settings and start building with Thaura AI.