Frequently asked questions

Everything you need to start using SPUR AI - sovereign models, hosted in Canada, on one OpenAI-compatible API.

What is the SPUR AI API?

An OpenAI-compatible API for frontier open models (GLM-5.2, DeepSeek-V4, Llama, Qwen and more), all sovereign and hosted in Canada. Because it is OpenAI-compatible, anything that works with the OpenAI API works here - just change two things: the base URL and your API key.

  • Base URL: https://ai.spuric.com/v1
  • Auth: Authorization: Bearer sk-spur-... (your API key)
  • Default model: spur-glm-5-2 (see the Models page for the full live lineup)

How do I get an API key?

Sign in at ai.spuric.com/signin (or create an account), open your account, and create a key. Keys look like sk-spur-XXXXXXXX. Treat it like a password - anyone with it can use your balance. You can revoke and re-issue keys any time.

How do I use it on Windows?

No installation needed - both PowerShell and curl ship with Windows 10 and 11.

Option A - PowerShell (open "Windows PowerShell" from the Start menu):

$headers = @{ "Authorization" = "Bearer sk-spur-YOUR_KEY"; "Content-Type" = "application/json" }
$body = @{
  model      = "spur-glm-5-2"
  messages   = @(@{ role = "user"; content = "In one sentence, what is SPUR?" })
  max_tokens = 1000
} | ConvertTo-Json -Depth 6

$resp = Invoke-RestMethod -Uri "https://ai.spuric.com/v1/chat/completions" -Method Post -Headers $headers -Body $body
$resp.choices[0].message.content

Option B - curl (open "Command Prompt" or "Windows Terminal"):

curl https://ai.spuric.com/v1/chat/completions ^
  -H "Authorization: Bearer sk-spur-YOUR_KEY" ^
  -H "Content-Type: application/json" ^
  -d "{\"model\":\"spur-glm-5-2\",\"messages\":[{\"role\":\"user\",\"content\":\"Hello\"}],\"max_tokens\":1000}"

Replace sk-spur-YOUR_KEY with your key. In PowerShell the line-continuation is the backtick; in Command Prompt it is the caret ^ shown above.

How do I use it from Python?

Install the official OpenAI SDK (pip install openai) and point it at SPUR:

from openai import OpenAI

client = OpenAI(
    base_url="https://ai.spuric.com/v1",
    api_key="sk-spur-YOUR_KEY",
)

resp = client.chat.completions.create(
    model="spur-glm-5-2",
    messages=[{"role": "user", "content": "Hello, what is SPUR?"}],
    max_tokens=1000,
)
print(resp.choices[0].message.content)

How do I use it in a chat app (Open WebUI, Cursor, LM Studio, etc.)?

Any app that supports a custom OpenAI-compatible endpoint will work. In the app's settings, set:

  • API Base URL / Host: https://ai.spuric.com/v1
  • API Key: your sk-spur-... key
  • Model: spur-glm-5-2 (or any id from the Models page)

Can I use HARI through the API?

HARI is our auto-routing assistant - it picks the best Canadian-hosted model for each request automatically. Use HARI in your browser at ai.spuric.com/chat (sign in - no setup). Over the raw API you choose the model yourself, so there is no hari model id; use spur-glm-5-2 (our flagship default) or any model from the Models page.

Which model should I use?

Browse the live lineup on the Models page. Good defaults:

  • General / agentic / tools: spur-glm-5-2 (flagship default)
  • Coding: spur-coder-pro
  • Fast & low-cost: spur-deepseek-v4-flash
  • Vision (send an image): spur-vision
  • Embeddings (RAG/search): spur-embed

Why did I get an empty reply?

Reasoning models (like GLM-5.2 and DeepSeek-V4) think before they answer - that thinking uses output tokens. If max_tokens is too small, the budget is spent before any visible text is produced and you get an empty reply. Set a generous max_tokens (1000 or more) for these models.

How am I billed?

Pay-as-you-go, per token, with separate input and output rates shown on the Pricing and Models pages. Each API response includes the exact cost of that request. You only pay for what you use; there is no minimum or subscription.

Is it private and sovereign?

Yes. Every model runs on SPUR-owned infrastructure hosted in Canada. Your prompts are not sent to third-party AI providers.

Something not covered here?

See the Docs, or reach us through the contact form. We are happy to help you get set up.