← Changelog
NewAPI

Requests with tools or a JSON schema go to the providers that get them right

Providers of the same open model differ in how well they return tool calls and follow a JSON schema. Certified routes are now probed for both, and a request that sends tools or a json_schema tries the model's most reliable providers first and skips ones that fail most probes. A new routing.minPrecision Directive keeps requests off providers that serve fp4 or fp8 weights.

Each probe is graded on what your code would parse: a tool call written as text, arguments that aren't valid JSON, or JSON outside the schema all fail. A provider that fails at least half of its recent probes is skipped, with unreliable_tools or unreliable_structured_output on the receipt, as long as another provider of the model does better. When none does, the model behaves that way everywhere, and every provider is kept.

Set routing.minPrecision to fp8 to skip fp4 providers, or to bf16 to skip fp8 ones too, as the providers list them. Providers that list no precision are kept, and skipped ones show below_min_precision on the receipt. Requests without tools or a schema route as before.

More in Tool-call and JSON reliability.