Smart Inference

Quickstart

Five minutes from zero to first response. The shape is: sign up, add a card, buy credits, copy your key, swap one URL.

  • Create an account and add a payment method
  • Buy credits from $10 (Stripe Checkout)
  • Grab an API key from the dashboard
  • Swap base_url - your existing SDK keeps working

Step 1: Sign up and add a payment method

Create your account at app.aivory.net/register. New accounts start in inactive state and cannot send requests until a card is on file, so add one before you try to call the API.

Step 2: Buy credits

The minimum top-up is $10. Open the Credits page in the dashboard, pick an amount, and finish Stripe Checkout. Your balance is updated once payment completes.

You can also enable auto-recharge. When your balance drops below half of your chosen recharge amount, we charge your card for another top-up. Turn this off at any time.

Note Monthly spend cap - every account has a monthly ceiling. The default is $100. Raise it (as low as $10, as high as you like) on the Billing page. Requests are refused once the cap is hit, and the cap resets on the first of the month.

Step 3: Create an API key

Open API keys in the dashboard, click New key, give it a name, and copy the si_... string. Treat it like a password. You can revoke it from the same page.

Step 4: Send your first request

The base URL is https://smart.aivory.net/v1. Pick the language you already use.

curl

curl https://smart.aivory.net/v1/chat/completions \
  -H "Authorization: Bearer $AIVORY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "llama-3.3-70b",
    "messages": [{"role": "user", "content": "Say hi."}]
  }'

Python (OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    base_url="https://smart.aivory.net/v1",
    api_key="si_...",
)

resp = client.chat.completions.create(
    model="llama-3.3-70b",
    messages=[{"role": "user", "content": "Say hi."}],
)
print(resp.choices[0].message.content)

TypeScript (openai npm package)

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://smart.aivory.net/v1",
  apiKey: process.env.AIVORY_API_KEY,
});

const resp = await client.chat.completions.create({
  model: "llama-3.3-70b",
  messages: [{ role: "user", content: "Say hi." }],
});
console.log(resp.choices[0].message.content);

Step 5: Read the receipt

Every response carries a set of X-SI-* headers. They tell you what the router did with your request.

X X X - - - S S S I I I - - - C S C o c a s o n t r d : e i : d 0 a . 0 t 0 . e 0 8 s 0 7 : 4 3 2 4 5

See Response headers for the full list.


Streaming

Set "stream": true and you get Server-Sent Events in the OpenAI format. The final chunk includes usage with real token counts, and the stream ends with data: [DONE]. The OpenAI SDK handles all of this for you; pass stream=True and iterate.


Next steps