{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "seed": {
      "type": "string"
    },
    "flip": {
      "type": "boolean",
      "default": false
    },
    "rotate": {
      "type": "integer",
      "minimum": 0,
      "maximum": 360,
      "default": 0
    },
    "scale": {
      "type": "integer",
      "minimum": 0,
      "maximum": 200,
      "default": 100
    },
    "radius": {
      "type": "integer",
      "minimum": 0,
      "maximum": 50,
      "default": 0
    },
    "size": {
      "type": "integer",
      "minimum": 1
    },
    "backgroundColor": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^(transparent|[a-fA-F0-9]{6})$"
      }
    },
    "backgroundType": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "solid",
          "gradientLinear"
        ]
      },
      "default": [
        "solid"
      ]
    },
    "backgroundRotation": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -360,
        "maximum": 360
      },
      "default": [
        0,
        360
      ]
    },
    "translateX": {
      "type": "integer",
      "minimum": -100,
      "maximum": 100,
      "default": 0
    },
    "translateY": {
      "type": "integer",
      "minimum": -100,
      "maximum": 100,
      "default": 0
    },
    "clip": {
      "type": "boolean",
      "default": true
    },
    "randomizeIds": {
      "type": "boolean",
      "default": false
    },
    "accessories": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "catEars",
          "glasses",
          "sailormoonCrown",
          "clownNose",
          "sleepMask",
          "sunglasses",
          "faceMask",
          "mustache"
        ]
      },
      "default": [
        "catEars",
        "glasses",
        "sailormoonCrown",
        "clownNose",
        "sleepMask",
        "sunglasses",
        "faceMask",
        "mustache"
      ]
    },
    "accessoriesProbability": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100,
      "default": 50
    },
    "eyes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "cheery",
          "normal",
          "confused",
          "starstruck",
          "winking",
          "sleepy",
          "sad",
          "angry"
        ]
      },
      "default": [
        "cheery",
        "normal",
        "confused",
        "starstruck",
        "winking",
        "sleepy",
        "sad",
        "angry"
      ]
    },
    "face": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "base"
        ]
      },
      "default": [
        "base"
      ]
    },
    "hair": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "shortHair",
          "mohawk",
          "wavyBob",
          "bowlCutHair",
          "curlyBob",
          "straightHair",
          "braids",
          "shavedHead",
          "bunHair",
          "froBun",
          "bangs",
          "halfShavedHead",
          "curlyShortHair"
        ]
      },
      "default": [
        "shortHair",
        "mohawk",
        "wavyBob",
        "bowlCutHair",
        "curlyBob",
        "straightHair",
        "braids",
        "shavedHead",
        "bunHair",
        "froBun",
        "bangs",
        "halfShavedHead",
        "curlyShortHair"
      ]
    },
    "hairColor": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^(transparent|[a-fA-F0-9]{6})$"
      },
      "default": [
        "220f00",
        "3a1a00",
        "71472d",
        "e2ba87",
        "605de4",
        "238d80",
        "d56c0c",
        "e9b729"
      ]
    },
    "mouth": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "openedSmile",
          "unimpressed",
          "gapSmile",
          "openSad",
          "teethSmile",
          "awkwardSmile",
          "braces",
          "kawaii"
        ]
      },
      "default": [
        "openedSmile",
        "unimpressed",
        "gapSmile",
        "openSad",
        "teethSmile",
        "awkwardSmile",
        "braces",
        "kawaii"
      ]
    },
    "skinColor": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^(transparent|[a-fA-F0-9]{6})$"
      },
      "default": [
        "ffe4c0",
        "f5d7b1",
        "efcc9f",
        "e2ba87",
        "c99c62",
        "a47539",
        "8c5a2b",
        "643d19"
      ]
    }
  }
}