5-minute quickstart

Send your first request through Seldon.

Point an existing OpenAI-compatible SDK at Seldon, make one request, then confirm the request appears in Activity and starts warming up Trace Audit.

Before your first request

Understand Seldon's current data handling.

Routing and retention

Seldon routes requests to configured model providers. Seldon retains audit, usage, and trace data for billing, audit, reliability, debugging, security, and product operation.

No resale or model training

Seldon does not resell prompts, outputs, traces, cached responses, or API traffic, and does not use them to train generalized AI models.

Stored payloads and cache

Current behavior may store redacted request and response trace payloads and exact response-cache entries. BYOK provider keys are used for the request and are not stored by Seldon.

Policy-aware routing

Privacy-forward controls such as provider.zdr, provider.data_collection = "deny", and cache.no_store can be used, but can fail with no_policy_compliant_provider when provider policy metadata is unknown.

The path

01

Sign up and copy your key

Create a workspace, open the dashboard, and save the raw API key shown on first visit. The key is only revealed once.

02

Set two environment variables

Use the public router URL and the Seldon key. Your application code keeps using the same OpenAI-compatible client shape.

03

Send the first request

Run one of the snippets below. A successful response includes choices, usage, and computed Seldon cost metadata.

04

Verify Activity and Audit

Activity should show the request row. Trace Audit should move into collecting, analyzing, or ready once traffic is present.

Set environment variables

Use the base router URL without `/v1`; each SDK snippet appends `/v1` where required. Keep the key in your environment, not in source code.

export SELDON_BASE_URL="https://api.seldon-ai.com"
export SELDON_API_KEY="sk-seldon-..."

Run a snippet

OpenAI Python

from openai import OpenAI
import os

client = OpenAI(
    base_url=os.environ["SELDON_BASE_URL"] + "/v1",
    api_key=os.environ["SELDON_API_KEY"],
)

response = client.chat.completions.create(
    model="openai/gpt-4.1",
    messages=[{"role": "user", "content": "Say hello from Seldon"}],
    user="quickstart-user",
    extra_headers={"X-Title": "quickstart"},
)

print(response.choices[0].message.content)
print(response.usage)

OpenAI Node

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: process.env.SELDON_BASE_URL + "/v1",
  apiKey: process.env.SELDON_API_KEY,
});

const response = await client.chat.completions.create(
  {
    model: "openai/gpt-4.1",
    messages: [{ role: "user", content: "Say hello from Seldon" }],
    user: "quickstart-user",
  },
  { headers: { "X-Title": "quickstart" } }
);

console.log(response.choices[0]?.message?.content);
console.log(response.usage);

LiteLLM

import litellm
import os

response = litellm.completion(
    model="openai/openai/gpt-4.1",
    api_base=os.environ["SELDON_BASE_URL"] + "/v1",
    api_key=os.environ["SELDON_API_KEY"],
    messages=[{"role": "user", "content": "Say hello from Seldon"}],
    user="quickstart-user",
    extra_headers={"X-Title": "quickstart"},
)

print(response.choices[0].message.content)
print(response.usage)

Vercel AI SDK

import { createOpenAI } from "@ai-sdk/openai";
import { generateText } from "ai";

const seldon = createOpenAI({
  baseURL: process.env.SELDON_BASE_URL + "/v1",
  apiKey: process.env.SELDON_API_KEY,
  headers: { "X-Title": "quickstart" },
});

const result = await generateText({
  model: seldon("openai/gpt-4.1"),
  prompt: "Say hello from Seldon",
});

console.log(result.text);
console.log(result.usage);

What success looks like

Activity

`/dashboard/activity` should show the request model, app marker, token counts, latency, and computed cost.

Trace Audit

`/dashboard/audit` should show traces being collected. Repeated traffic is what unlocks workflow clustering and compiled-path candidates.

Troubleshooting

401
The key is missing, revoked, or copied with extra characters.
402
The workspace has no starter credit or has crossed a spend limit.
Unsupported feature
The requested model cannot honor the requested tool, vision, or schema feature.
No Activity row
Check the base URL, key, and whether the request reached Seldon rather than the provider directly.
Audit cold start
One request proves routing. Repeated traffic is needed before Seldon can detect workflow patterns.
Quickstart | Seldon