{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "InputModality": {
      "description": "Canonical user-input modality tags advertised by a model.",
      "oneOf": [
        {
          "description": "Plain text turns and tool payloads.",
          "enum": ["text"],
          "type": "string"
        },
        {
          "description": "Image attachments included in user turns.",
          "enum": ["image"],
          "type": "string"
        }
      ]
    },
    "Model": {
      "properties": {
        "additionalSpeedTiers": {
          "default": [],
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "availabilityNux": {
          "anyOf": [
            {
              "$ref": "#/definitions/ModelAvailabilityNux"
            },
            {
              "type": "null"
            }
          ]
        },
        "defaultReasoningEffort": {
          "$ref": "#/definitions/ReasoningEffort"
        },
        "description": {
          "type": "string"
        },
        "displayName": {
          "type": "string"
        },
        "hidden": {
          "type": "boolean"
        },
        "id": {
          "type": "string"
        },
        "inputModalities": {
          "default": ["text", "image"],
          "items": {
            "$ref": "#/definitions/InputModality"
          },
          "type": "array"
        },
        "isDefault": {
          "type": "boolean"
        },
        "model": {
          "type": "string"
        },
        "supportedReasoningEfforts": {
          "items": {
            "$ref": "#/definitions/ReasoningEffortOption"
          },
          "type": "array"
        },
        "supportsPersonality": {
          "default": false,
          "type": "boolean"
        },
        "upgrade": {
          "type": ["string", "null"]
        },
        "upgradeInfo": {
          "anyOf": [
            {
              "$ref": "#/definitions/ModelUpgradeInfo"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "defaultReasoningEffort",
        "description",
        "displayName",
        "hidden",
        "id",
        "isDefault",
        "model",
        "supportedReasoningEfforts"
      ],
      "type": "object"
    },
    "ModelAvailabilityNux": {
      "properties": {
        "message": {
          "type": "string"
        }
      },
      "required": ["message"],
      "type": "object"
    },
    "ModelUpgradeInfo": {
      "properties": {
        "migrationMarkdown": {
          "type": ["string", "null"]
        },
        "model": {
          "type": "string"
        },
        "modelLink": {
          "type": ["string", "null"]
        },
        "upgradeCopy": {
          "type": ["string", "null"]
        }
      },
      "required": ["model"],
      "type": "object"
    },
    "ReasoningEffort": {
      "description": "See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#get-started-with-reasoning",
      "enum": ["none", "minimal", "low", "medium", "high", "xhigh"],
      "type": "string"
    },
    "ReasoningEffortOption": {
      "properties": {
        "description": {
          "type": "string"
        },
        "reasoningEffort": {
          "$ref": "#/definitions/ReasoningEffort"
        }
      },
      "required": ["description", "reasoningEffort"],
      "type": "object"
    }
  },
  "properties": {
    "data": {
      "items": {
        "$ref": "#/definitions/Model"
      },
      "type": "array"
    },
    "nextCursor": {
      "description": "Opaque cursor to pass to the next call to continue after the last item. If None, there are no more items to return.",
      "type": ["string", "null"]
    }
  },
  "required": ["data"],
  "title": "ModelListResponse",
  "type": "object"
}
