LiteLLM with unoblox (India)
Point LiteLLM at unoblox's OpenAI-compatible endpoint for rupee-billed GPT, Claude, DeepSeek and Qwen models on one GST invoice.
LiteLLM gives Python developers one function call and one proxy server for dozens of model providers. Point it at unoblox instead of a foreign endpoint and every one of those calls settles in rupees on a single monthly GST invoice, using the same provider-prefixed model id format LiteLLM already expects.
Why route LiteLLM through unoblox
LiteLLM's whole design is provider abstraction — your application code calls completion() and LiteLLM decides which backend handles it. Because unoblox is itself already an OpenAI-compatible endpoint sitting in front of GPT, Claude, DeepSeek, Qwen, Llama, Gemma, Kimi, and more, you get that same abstraction one layer earlier: one base URL, one key, and every model billed the same way, in rupees, from one Indian entity.
Configuring the SDK
LiteLLM treats any OpenAI-compatible host as a custom provider through api_base and api_key:
from litellm import completion
response = completion(
model="openai/gpt-4.1",
api_base="https://api.unoblox.ai/v1",
api_key="ub-gw-xxxxxxxxxxxxxxxx",
messages=[{"role": "user", "content": "Summarise this contract clause in plain English."}],
)
print(response.choices[0].message.content)
The model string is the exact model id from the unoblox catalog — swap openai/gpt-4.1 for deepseek-ai/deepseek-v4-flash or qwen/qwen3-max and nothing else in the call changes.
Running it behind the LiteLLM proxy
Teams that use the LiteLLM proxy server for centralised key management and spend tracking can register unoblox as the backend for several model aliases in one config file:
model_list:
- model_name: draft-model
litellm_params:
model: deepseek-ai/deepseek-v4-flash
api_base: https://api.unoblox.ai/v1
api_key: ub-gw-xxxxxxxxxxxxxxxx
- model_name: final-model
litellm_params:
model: anthropic/claude-sonnet-5
api_base: https://api.unoblox.ai/v1
api_key: ub-gw-xxxxxxxxxxxxxxxx
Internal teams then call draft-model or final-model without knowing, or caring, which underlying model or price tier sits behind the alias.
Picking models to register
| Alias idea | Model | ₹ per 1M tokens (input / output) |
|---|---|---|
| Cheap default | DeepSeek V4 Flash | ₹9.07 / ₹18.14 |
| Free prototyping | Qwen3 1.7B | ₹0 |
| Balanced quality | GPT-5 mini | ₹25.2 / ₹201.6 |
| Top-tier reasoning | Claude Opus | ₹504 / ₹2520 |
For any model outside this table, see live ₹ pricing on /models before adding it to your model_list.
Frequently asked questions
Does LiteLLM need a special adapter for unoblox? No. unoblox speaks the standard OpenAI chat-completions shape, so LiteLLM's generic OpenAI-compatible custom-provider path, using api_base and api_key, works without a dedicated integration.
Can I mix unoblox with other providers in the same LiteLLM router? Yes — LiteLLM's routing and fallback logic does not care where a model alias points, so you can keep some aliases on unoblox and others elsewhere in the same model_list.
Does LiteLLM's cost tracking show accurate numbers for unoblox models? LiteLLM estimates cost from its own local pricing table, which may not match unoblox's live rupee pricing; treat the GST invoice from unoblox, not LiteLLM's local estimate, as the source of truth.
Do streaming and function calling work through LiteLLM this way? Yes — both pass through to the underlying model's standard OpenAI-compatible behaviour, since unoblox does not change the request or response shape.
What happens if I reference a model id that does not exist? The call fails, since unoblox validates the model id against its real catalog; always copy the exact id from /models rather than guessing a variant name.
Get started in rupees → https://unoblox.ai/sign-in
Start building in rupees
Call every major model through one OpenAI-compatible endpoint, billed in ₹ on a GST invoice.