← Home

Guide

Baseten on OpenClaw and Hermes

Baseten is a model-hosting platform that exposes inference behind an OpenAI-compatible API. That single fact is what makes it usable here: any agent that accepts a base URL and a bearer key can talk to it, without waiting for first-class provider support. Here is the exact setup on OpenClaw and Hermes Agent, and an honest read on when it is the right choice.

Why This Uses the Custom-Endpoint Route

Baseten is not one of the named BYOK providers in the OpenClaw Launch dashboard, so it does not appear in the provider dropdown alongside OpenRouter, Groq or DeepSeek. That is a gap in the shortlist, not a blocker — the custom endpoint route exists precisely for OpenAI-compatible services, and Baseten is one.

What this means practically: instead of picking “Baseten” from a list, you supply a base URL, a key, and the model id yourself. Slightly more typing, identical result, and it works for any other OpenAI-compatible host too.

The Endpoints

  • OpenAI-compatible base URL: https://inference.baseten.co/v1 — chat completions live at https://inference.baseten.co/v1/chat/completions. This is the one to use for both OpenClaw and Hermes.
  • Anthropic Messages-compatible endpoint (beta): also served from https://inference.baseten.co. Useful if a tool in your stack speaks the Anthropic wire format rather than the OpenAI one. Being beta, prefer the OpenAI path for anything you rely on.

Authentication is a standard bearer token, conventionally supplied as BASETEN_API_KEY. Create keys at app.baseten.co/settings/api_keys.

Key Scopes

ScopeWhen to use it
PersonalTied to your own account. Fine for experimenting, poor for anything another person needs to keep running.
TeamShared within a team. The usual choice for an agent that colleagues depend on.
OrganizationBroadest scope. Use only when the agent genuinely needs it, since a leaked key is correspondingly worse.

Mint a key at the narrowest scope that works. An always-on agent runs unattended, so its key is the one most likely to end up in a config file, a backup, or a screenshot — give it the least authority that still does the job.

Setting It Up

  1. Create an API key in the Baseten dashboard at the scope you decided on above, and copy it once — you will not be shown it again.
  2. Deploy or open an agent at openclawlaunch.com. Custom endpoints need a paid plan, since the free trial runs a fixed set of free models.
  3. In your dashboard, add a custom endpoint with base URL https://inference.baseten.co/v1 and your key as the bearer token.
  4. Set the model id to the one your Baseten deployment serves. Baseten model ids come from your own deployments and its model library, so copy the exact string from the Baseten console rather than guessing at a familiar-looking name.
  5. Send one message and confirm a reply before wiring the agent into anything scheduled. A wrong model id fails at first use, not at save time.

Self-Hosted: OpenClaw

An OpenAI-compatible provider entry carrying the base URL and key, with the model referenced as provider/model:

agents:
  defaults:
    model:
      primary: "baseten/<your-baseten-model-id>"

Self-Hosted: Hermes Agent

Hermes has no Baseten-specific provider plugin, and it does not need one. Its custom provider exists for exactly this — any OpenAI-compatible endpoint. Setting base_url is the important part: when it is set, Hermes calls that endpoint directly and the provider value is ignored.

model:
  provider: custom
  default: <your-baseten-model-id>
  base_url: https://inference.baseten.co/v1
  api_mode: chat_completions

The custom provider has no fixed credential of its own, so the Baseten key is supplied as the endpoint's API key — Hermes reads OPENAI_API_KEY for a custom endpoint by default. Note the model id here is bare, not prefixed: the prefix form belongs to OpenClaw and to aggregator routes, and pasting it into Hermes produces a model the endpoint does not recognise.

For the wider setup on each side, see the OpenClaw custom endpoint guide and the Hermes equivalent.

When Baseten Is Worth It

Baseten sits in a different category from an aggregator like OpenRouter. A router gives you breadth — hundreds of models behind one key, no infrastructure decisions. Baseten gives you control over how a model is served.

  • Good fit: you need a specific open-weights model served on hardware you have chosen, with predictable latency; or you have a fine-tuned model of your own and want an agent to use it; or your compliance posture requires knowing where inference runs.
  • Poor fit: you mostly want to try many frontier models and switch often. A router is cheaper and far less work for that, and switching is one command — see multi-model switching.
  • Cost shape differs. Dedicated serving is priced on capacity rather than purely per token, so an idle agent on a dedicated deployment can cost more than a busy one on a shared router. Model your actual duty cycle before committing.

Troubleshooting

  • 401 or 403: the key is wrong, revoked, or scoped to a different team. Re-mint rather than debugging the old one.
  • 404 on the model: the model id does not match a deployment your account can reach. Copy it from the Baseten console rather than from a blog post.
  • Works in curl, fails in the agent: almost always a trailing-slash or missing /v1 difference in the base URL. The agent appends the path, so the base URL should end at /v1.
  • Slow first request: a cold deployment has to scale up. Judge latency on the second and later requests, not the first.

Frequently Asked Questions

Does Baseten work on Hermes Agent?

Yes. Hermes has no Baseten-specific plugin and does not need one — its custom provider covers any OpenAI-compatible endpoint. Set provider: custom, base_url to https://inference.baseten.co/v1, api_mode: chat_completions, and default to your bare Baseten model id. When base_url is set, Hermes ignores the provider value and calls that endpoint directly.

Why is Baseten not in the provider dropdown?

It is not one of the named BYOK providers, so it goes through the custom-endpoint route instead. You supply the base URL, key and model id yourself — the same path works for any other OpenAI-compatible host.

Baseten or OpenRouter?

OpenRouter gives breadth: many models behind one key, no infrastructure decisions, and it suits anyone who switches models often. Baseten gives control over how one specific model is served — useful for a fine-tuned model, chosen hardware, predictable latency, or a compliance requirement about where inference runs.

Related Guides

Point an agent at your own models

Deploy an always-on agent in about 30 seconds and connect it to Baseten, another OpenAI-compatible host, or any of the named providers — switching whenever you like.

Deploy Now