OpenClaw with any OpenAI-compatible backend
OpenClaw speaks the OpenAI Chat Completions protocol natively. That means any provider that exposes an OpenAI-compatible base URL — including Thalam — drops in as a model source with a few lines of JSON. Here's how the mechanism works, and what to consider when picking a backend.
What "OpenAI-compatible" means in OpenClaw
OpenClaw uses the OpenAI Chat Completions wire format as its lingua franca. Any provider that implements it can be added as a provider with three fields.
● The three required fields
apiSet to"openai-completions". Tells OpenClaw which protocol shape to use.baseUrlThe provider's HTTPS endpoint. For Thalam this ishttps://api.thalam.ai/v1. Other OpenAI-compatible providers expose their own.apiKeyYour provider key. Thalam keys start withtl-live-; OpenAI keys start withsk-; each provider has its own format.
That's it. OpenClaw doesn't care whether the requests ultimately land at OpenAI, Anthropic, Google, DeepSeek, or anyone else — it just sees a Chat Completions endpoint. The provider on the other end is responsible for whatever happens behind it.
OpenAI direct vs a gateway — which fits your case
Both options speak the same wire format in OpenClaw. The difference is what's reachable downstream.
OpenAI direct
The natural choice if your OpenClaw work is GPT-5, GPT-4.1, embeddings, and DALL·E — and you don't expect to call models from other providers. Account-level rate limits and prepay credits live in your OpenAI dashboard.
Thalam (a gateway)
The natural choice if you want OpenClaw to reach Claude, Gemini, DeepSeek, Qwen, Kling, Sora and more from the same key — without managing one account per provider. Same OpenAI Chat Completions interface, broader model surface area.
Note: these aren't mutually exclusive. OpenClaw's models.providers block holds as many providers as you want — keep OpenAI for the GPT family and add Thalam for everything else, picking per call in the model picker.
Five things to check before you pick a backend
Generic checklist for evaluating any OpenAI-compatible provider against your OpenClaw setup.
Which models are reachable?
OpenClaw can only pick from what the provider exposes. List every model id you actually use today, plus the next two you'd want available. If the provider doesn't list them, the OpenAI-compatible interface won't help.
Is streaming + tool calling supported?
OpenClaw's agent loop uses Server-Sent Events streaming and the tool_calls schema. Some "OpenAI-compatible" wrappers only cover non-streaming chat — verify with a quick curl before wiring it into a config you depend on.
What's the latency to your region?
Add a small latency-check script that hits the provider's /v1/chat/completions with a tiny prompt. OpenClaw's interactive feel is dominated by first-token time, not total throughput.
How is billing surfaced?
Per-request cost in the OpenClaw logs makes optimisation possible. Providers vary — some return usage on every response, some only at the end of a stream, some not at all.
How easy is it to switch back?
OpenAI-compatible means the cost of leaving is bounded by the lines in your openclaw.json. If you have to rewrite OpenClaw skills or agents to switch, the provider has built in lock-in beyond the wire protocol.
How Thalam fits the checklist
Quick honest pass — same five questions, applied to Thalam.
Claude (Anthropic), GPT (OpenAI), Gemini (Google), DeepSeek, Qwen, Kimi, Llama, Mistral, GLM, MiniMax, plus image (FLUX, Imagen), video (Kling, Sora, Veo), and speech models — through the same OpenAI Chat Completions endpoint.
Both supported. Streaming is SSE on /v1/chat/completions with stream:true. Tool calling uses the standard tool_calls schema OpenClaw already speaks.
OpenAI-compatible TTFT varies by model and region. Run the latency check on /v1/chat/completions from your machine before committing.
Every response includes usage (prompt_tokens, completion_tokens, total_tokens). Per-request cost and full request logs are visible in the Thalam dashboard.
One config change. Point baseUrl elsewhere; everything in OpenClaw — skills, agents, model picker — keeps working unchanged because the wire format is the standard OpenAI one.
Ready to wire Thalam into OpenClaw?
60-second setup walkthrough with the openclaw.json snippet you'll paste.