{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/AnthropicModelSettings",
  "title": "AnthropicModelSettings",
  "properties": {
    "max_output_tokens": {
      "type": "integer",
      "title": "Max Output Tokens",
      "description": "The maximum number of tokens the model can generate.",
      "default": 4096
    },
    "parallel_tool_calls": {
      "type": "boolean",
      "title": "Parallel Tool Calls",
      "description": "Whether to enable parallel tool calling.",
      "default": true
    },
    "provider_type": {
      "type": "string",
      "const": "anthropic",
      "title": "Provider Type",
      "description": "The type of the provider.",
      "default": "anthropic"
    },
    "temperature": {
      "type": "number",
      "title": "Temperature",
      "description": "The temperature of the model.",
      "default": 1
    },
    "thinking": {
      "$ref": "#/components/schemas/AnthropicThinking",
      "description": "The thinking configuration for the model.",
      "default": {
        "type": "enabled",
        "budget_tokens": 1024
      }
    },
    "response_format": {
      "anyOf": [
        {
          "oneOf": [
            {
              "$ref": "#/components/schemas/TextResponseFormat"
            },
            {
              "$ref": "#/components/schemas/JsonSchemaResponseFormat"
            },
            {
              "$ref": "#/components/schemas/JsonObjectResponseFormat"
            }
          ],
          "discriminator": {
            "propertyName": "type",
            "mapping": {
              "json_object": "#/components/schemas/JsonObjectResponseFormat",
              "json_schema": "#/components/schemas/JsonSchemaResponseFormat",
              "text": "#/components/schemas/TextResponseFormat"
            }
          }
        },
        {
          "type": "null"
        }
      ],
      "title": "Response Format",
      "description": "The response format for the model."
    },
    "verbosity": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "low",
            "medium",
            "high"
          ]
        },
        {
          "type": "null"
        }
      ],
      "title": "Verbosity",
      "description": "Soft control for how verbose model output should be, used for GPT-5 models."
    },
    "effort": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "low",
            "medium",
            "high",
            "max"
          ]
        },
        {
          "type": "null"
        }
      ],
      "title": "Effort",
      "description": "Effort level for supported Anthropic models (controls token spending). 'max' is only available on Opus 4.6. Not setting this gives similar performance to 'high'."
    },
    "strict": {
      "type": "boolean",
      "title": "Strict",
      "description": "Enable strict mode for tool calling. When true, tool outputs are guaranteed to match JSON schemas.",
      "default": false
    }
  },
  "type": "object"
}