Skip to content

Start free with 1,000 credits - no credit card requiredSee plans

VelATL

OpenAI-compatible API

Drop-in baseURL, honest limits.

Streaming, tools and JSON mode with per-key spend caps and INR billing - text + tools only. Anything unsupported fails fast with a clear 400 before billing.

Quickstart

Any OpenAI SDK - only the baseURL changes

Base URL: https://velatl.ai/api/v1
API key:  velatl_... (Settings -> API keys; legacy vtai_... keys still work)
Model:    balanced | fast

Python (OpenAI SDK)

from openai import OpenAI
client = OpenAI(base_url="https://velatl.ai/api/v1", api_key="velatl_...")
r = client.chat.completions.create(
    model="balanced",
    messages=[{"role": "user", "content": "Hi"}],
)
print(r.choices[0].message.content)

Tool calling + JSON mode

curl https://velatl.ai/api/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer velatl_..." \
  -d '{
    "model": "balanced",
    "messages": [{"role":"user","content":"Weather in Chennai?"}],
    "tools": [{"type":"function","function":{
      "name":"get_weather","description":"Current conditions",
      "parameters":{"type":"object","properties":{"city":{"type":"string"}}}}}],
    "tool_choice": "auto",
    "response_format": {"type":"json_object"}
  }'
# tool definitions bill as input tokens - keep tool lists lean.

Errors you can rely on

  • 402 insufficient_credits - out of balance; top up in billing.
  • 400 before billing for image/audio inputs, thinking blocks, forced tool_choice, legacy functions API, or n != 1.
  • Every response carries X-Request-Id; every call settles in one ledger with automatic refunds on failure.
  • GET /api/v1/models returns your plan's models with per-1k credit rates.

Tool-specific guides