@@ -268,14 +268,20 @@
268268 "can_reason": {
269269 "type": "boolean"
270270 },
271− "has_reasoning_efforts": {
272− "type": "boolean"
271+ "reasoning_levels": {
272+ "items": {
273+ "type": "string"
274+ },
275+ "type": "array"
273276 },
274277 "default_reasoning_effort": {
275278 "type": "string"
276279 },
277280 "supports_attachments": {
278281 "type": "boolean"
282+ },
283+ "options": {
284+ "$ref": "#/$defs/ModelOptions"
279285 }
280286 },
281287 "additionalProperties": false,
@@ -290,10 +296,34 @@
290296 "context_window",
291297 "default_max_tokens",
292298 "can_reason",
293− "has_reasoning_efforts",
294− "supports_attachments"
299+ "supports_attachments",
300+ "options"
295301 ]
296302 },
303+ "ModelOptions": {
304+ "properties": {
305+ "temperature": {
306+ "type": "number"
307+ },
308+ "top_p": {
309+ "type": "number"
310+ },
311+ "top_k": {
312+ "type": "integer"
313+ },
314+ "frequency_penalty": {
315+ "type": "number"
316+ },
317+ "presence_penalty": {
318+ "type": "number"
319+ },
320+ "provider_options": {
321+ "type": "object"
322+ }
323+ },
324+ "additionalProperties": false,
325+ "type": "object"
326+ },
297327 "Options": {
298328 "properties": {
299329 "context_paths": {
@@ -442,6 +472,10 @@
442472 "type": "object",
443473 "description": "Additional fields to include in request bodies"
444474 },
475+ "provider_options": {
476+ "type": "object",
477+ "description": "Additional provider-specific options for this provider"
478+ },
445479 "models": {
446480 "items": {
447481 "$ref": "#/$defs/Model"
@@ -478,6 +512,10 @@
478512 ],
479513 "description": "Reasoning effort level for OpenAI models that support it"
480514 },
515+ "think": {
516+ "type": "boolean",
517+ "description": "Enable thinking mode for Anthropic models that support reasoning"
518+ },
481519 "max_tokens": {
482520 "type": "integer",
483521 "maximum": 200000,
@@ -487,9 +525,39 @@
487525 4096
488526 ]
489527 },
490− "think": {
491− "type": "boolean",
492− "description": "Enable thinking mode for Anthropic models that support reasoning"
528+ "temperature": {
529+ "type": "number",
530+ "maximum": 1,
531+ "minimum": 0,
532+ "description": "Sampling temperature",
533+ "examples": [
534+ 0.7
535+ ]
536+ },
537+ "top_p": {
538+ "type": "number",
539+ "maximum": 1,
540+ "minimum": 0,
541+ "description": "Top-p (nucleus) sampling parameter",
542+ "examples": [
543+ 0.9
544+ ]
545+ },
546+ "top_k": {
547+ "type": "integer",
548+ "description": "Top-k sampling parameter"
549+ },
550+ "frequency_penalty": {
551+ "type": "number",
552+ "description": "Frequency penalty to reduce repetition"
553+ },
554+ "presence_penalty": {
555+ "type": "number",
556+ "description": "Presence penalty to increase topic diversity"
557+ },
558+ "provider_options": {
559+ "type": "object",
560+ "description": "Additional provider-specific options for the model"
493561 }
494562 },
495563 "additionalProperties": false,