Skip to main content
HTTP status: 400

Error message

When this error occurs

The model does support thinking, but not the way you asked for it. There are two vocabularies, and a model takes one, the other, or both: So this error means either the wrong vocabulary for this model (a budget where it takes an effort level, or the reverse), or an effort level it doesn’t offer. {"type":"budget","budget_tokens":…} with fewer than 1024 tokens fails earlier, as a malformed request body — 1024 is the provider’s floor.

When you’ll see it

Support is declared per model and per platform, and which platform a run uses depends on its data plane. So this error arrives at one of two moments:
  • At conversation or run creation (400) when no platform accepts the setting — a token budget for a model that only takes effort levels, say. Nothing about the data plane can rescue it.
  • On the run itself (a failed run, not a 400) when some platform accepts it but the one this run landed on does not. Creation can’t tell: it doesn’t resolve which cell the job will execute on.
The message names the cell either way — model and platform — so the second case is not a mystery.

How to fix

Send the vocabulary the model accepts. GET /model-inference/models reports each model’s accepted vocabularies and levels, along with whether its reasoning comes back as readable text. {"type":"disabled"} — asking a model not to think — is accepted by every model that can think, so it never lands here.