Skip to main content

LLM providers

Availability

Open core · self-host + all Splyntra Cloud plans

LLM calls become llm_call spans with model name, token counts, and cost. Splyntra has three native provider instrumentors, and captures any OpenAI-compatible provider through the OpenAI instrumentor.

Native instrumentors

Providerinstrument nameLanguages
OpenAIopenaiPython + TS
Anthropic (Claude)anthropicPython + TS
OllamaollamaPython + TS
from splyntra import Splyntra

Splyntra(
api_key=os.environ["SPLYNTRA_API_KEY"],
project="my-app",
instrument=("openai", "anthropic"),
)

OpenAI-compatible providers

Many providers expose an OpenAI-compatible API. Point your OpenAI client's base_url at the provider and keep instrument=("openai",) — the OpenAI adapter captures the calls and Splyntra labels and cost-tracks them by provider.

Providerbase_url
Grok / xAIhttps://api.x.ai/v1
Google Geminihttps://generativelanguage.googleapis.com/v1beta/openai/
Groqhttps://api.groq.com/openai/v1
OpenRouterhttps://openrouter.ai/api/v1
Mistralprovider's OpenAI-compatible endpoint
Togetherprovider's OpenAI-compatible endpoint
Fireworksprovider's OpenAI-compatible endpoint
DeepSeekprovider's OpenAI-compatible endpoint
Cohereprovider's OpenAI-compatible endpoint

Example — Grok/xAI via the OpenAI client

import os
from splyntra import Splyntra
from openai import OpenAI

Splyntra(
api_key=os.environ["SPLYNTRA_API_KEY"],
project="my-app",
instrument=("openai",), # keep the OpenAI instrumentor
)

client = OpenAI(
api_key=os.environ["XAI_API_KEY"],
base_url="https://api.x.ai/v1", # point at the provider
)
client.chat.completions.create(
model="grok-2-latest",
messages=[{"role": "user", "content": "Hello"}],
)

Swap the base_url and model for any provider in the table — the instrumentation is identical.

tip

Cost attribution uses your model pricing. If a provider or model isn't priced yet, add it under Costs → Manage model pricing. See Costs.

Next steps