Docs

Documentation

Everything you need to start calling models through Zenntraa.

Quickstart

  1. Create an account
  2. Top up your wallet via UPI or card (minimum ₹100)
  3. Copy your API key from the API Keys page in your dashboard
  4. Make your first API call

Zenntraa is OpenAI compatible, so the official OpenAI SDK works as is. Just point it at our base_url.

# pip install openai from openai import OpenAI client = OpenAI( base_url="https://api.zenntraa.com/v1", api_key="sk-your-key", ) response = client.chat.completions.create( model="nova-micro", messages=[{"role": "user", "content": "Hello!"}], ) print(response.choices[0].message.content)

Authentication

Every API key starts with sk-. Pass it as a bearer token in the Authorization header:

Authorization: Bearer sk-your-key

You can view and copy your key anytime from the API Keys page in your dashboard.

Models

Pass the model name exactly as shown below in the model field of your request.

Modelmodel nameProviderInput / 1M tokensOutput / 1M tokens
Claude Sonnet 4.6claude-sonnet-4-6Anthropic₹317₹1,585
Claude Opus 4.6claude-opus-4-6Anthropic₹528₹2,642
DeepSeek v3.2deepseek-v3-2DeepSeek₹66₹196
Mistral 7Bmistral-7bMistral₹16₹21
Llama 3 70Bllama-3-3-70bMeta₹76₹76
Nova Micronova-microAmazon₹4₹16
Nova Litenova-liteAmazon₹7₹27
Nova Pronova-proAmazon₹89₹355
GPT-OSS 120Bgpt-oss-120bOpenAI₹16₹63
DeepSeek R1deepseek-r1DeepSeek₹143₹571
GPT-OSS 20Bgpt-oss-20bOpenAI₹7₹32
Llama 4 Maverickllama-4-maverickMeta₹25₹103
Llama 4 Scoutllama-4-scoutMeta₹18₹70
Qwen3 32Bqwen3-32bAlibaba₹16₹63
Mistral Large 2mistral-large-2Mistral₹423₹1,268
Mixtral 8x7Bmixtral-8x7bMistral₹48₹74
Gemma 3 27Bgemma-3-27bGoogle₹24₹40
MiniMax M2.5minimax-m2-5MiniMax₹32₹127
MiniMax M2.1minimax-m2-1MiniMax₹32₹127
Nemotron Super 120Bnemotron-super-3-120bNVIDIA₹16₹69
Nemotron Nano 30Bnemotron-nano-3-30bNVIDIA₹6₹25
Nemotron Nano 12Bnemotron-nano-12b-v2NVIDIA₹21₹63
Palmyra X5palmyra-x5Writer₹63₹634
Qwen3 Coder 30Bqwen3-coder-30bAlibaba₹16₹63
Qwen3 Coder Nextqwen3-coder-nextAlibaba₹53₹127
GLM 4.7glm-4-7Z.AI₹63₹233
Kimi K2.5kimi-k2-5Moonshot AI₹63₹317
Kimi K2 Thinkingkimi-k2-thinkingMoonshot AI₹63₹264
Mistral Smallmistral-smallMistral₹106₹317
Kimi K3kimi-k3Moonshot AI₹317₹1,585
GLM 5glm-5Z.AI₹106₹338
Mistral Large 3mistral-large-3Mistral₹53₹159
Magistral Smallmagistral-smallMistral₹53₹159
Ministral 3 14Bministral-3-14bMistral₹21₹21
Ministral 3 8Bministral-3-8bMistral₹16₹16
Ministral 3 3Bministral-3-3bMistral₹11₹11
Qwen3 Next 80Bqwen3-next-80bAlibaba₹16₹127
Qwen3 VL 235Bqwen3-vl-235bAlibaba₹56₹281
GLM 4.7 Flashglm-4-7-flashZ.AI₹7₹42
Gemma 3 12Bgemma-3-12bGoogle₹10₹31
Gemma 3 4Bgemma-3-4bGoogle₹4₹8
Nemotron Nano 9B v2nemotron-nano-9b-v2NVIDIA₹6₹24
gpt-oss-safeguard 20Bgpt-oss-safeguard-20bOpenAI₹7₹21
gpt-oss-safeguard 120Bgpt-oss-safeguard-120bOpenAI₹16₹63

Audio Transcription

Voxtral models are not available on the standard /v1/audio/transcriptions endpoint. Call them through /v1/chat/completions instead, with the audio passed as an input_audio content block. This means audio isn't a drop-in 2-line swap the way text models are, since it needs this different request shape.

# base64-encode your audio file first response = client.chat.completions.create( model="voxtral-small", messages=[{ "role": "user", "content": [ { "type": "text", "text": "Transcribe this audio." }, { "type": "input_audio", "input_audio": { "data": base64_audio, "format": "wav" } }, ] }] )

Available models: voxtral-small and voxtral-mini.

Image Generation

Use the /v1/images/generations endpoint. Stability AI models return base64-encoded image data.

import base64 response = client.images.generate( model="stable-image-core", prompt="a red apple on a white background", n=1, ) image_bytes = base64.b64decode(response.data[0].b64_json) with open("output.png", "wb") as f: f.write(image_bytes)

Available models: stable-image-core (₹4/image), sd3-5-large (₹9/image), stable-image-ultra (₹15/image).

API Reference

Main endpoints: POST /v1/chat/completions for text and audio, POST /v1/images/generations for image generation. Both follow OpenAI's request/response shape.

Request

{ "model": "nova-micro", "messages": [ { "role": "user", "content": "Hello!" } ] }

Streaming

Add "stream": true to get a server-sent events stream instead of a single JSON response.

{ "model": "nova-micro", "messages": [ { "role": "user", "content": "Hello!" } ], "stream": true }

Error codes

StatusMeaning
400Budget exceeded: your wallet balance has run out
400Bad request: invalid or unknown model name
401Invalid or missing API key
429Rate limit exceeded: 20 requests per minute per key across all request types (chat, image, audio)

Billing

Zenntraa uses a prepaid wallet in INR. There are no subscriptions or monthly fees, you only pay for what you use.

Top up via Razorpay using UPI, card, or net banking. Minimum top-up is ₹100.

All prices include a 10% platform fee. No hidden charges.

Your wallet balance never expires. If you want a refund on unused balance, email us and we'll refund whatever is left.

Rate Limits

Every API key is limited to 20 requests per minute across all request types (chat, image, audio). Text models also have a 50,000 tokens per minute limit.