{
  "$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})$"
      },
      "default": [
        "eb4747",
        "eb6247",
        "eb7e47",
        "eb9947",
        "ebb447",
        "ebd047",
        "ebeb47",
        "d0eb47",
        "b4eb47",
        "99eb47",
        "7eeb47",
        "62eb47",
        "47eb47",
        "47eb62",
        "47eb7e",
        "47eb99",
        "47ebb4",
        "47ebd0",
        "47ebeb",
        "47d0eb",
        "47b4eb",
        "4799eb",
        "477eeb",
        "4762eb",
        "4747eb",
        "6247eb",
        "7e47eb",
        "9947eb",
        "b447eb",
        "d047eb",
        "eb47eb",
        "eb47d0",
        "eb4799",
        "eb477e",
        "eb4762"
      ]
    },
    "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
    },
    "shape1": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "g",
          "r",
          "a",
          "d",
          "i",
          "e",
          "n",
          "t"
        ]
      },
      "default": [
        "g",
        "r",
        "a",
        "d",
        "i",
        "e",
        "n",
        "t"
      ]
    },
    "shape1OffsetX": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -80,
        "maximum": 80
      },
      "maxItems": 2,
      "default": [
        -80,
        80
      ]
    },
    "shape1OffsetY": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -80,
        "maximum": 80
      },
      "maxItems": 2,
      "default": [
        -80,
        80
      ]
    },
    "shape1Rotation": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -180,
        "maximum": 180
      },
      "maxItems": 2,
      "default": [
        -180,
        180
      ]
    },
    "shape2": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "g",
          "r",
          "a",
          "d",
          "i",
          "e",
          "n",
          "t"
        ]
      },
      "default": [
        "g",
        "r",
        "a",
        "d",
        "i",
        "e",
        "n",
        "t"
      ]
    },
    "shape2OffsetX": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -80,
        "maximum": 80
      },
      "maxItems": 2,
      "default": [
        -80,
        80
      ]
    },
    "shape2OffsetY": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -80,
        "maximum": 80
      },
      "maxItems": 2,
      "default": [
        -80,
        80
      ]
    },
    "shape2Rotation": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -160,
        "maximum": 160
      },
      "maxItems": 2,
      "default": [
        -160,
        160
      ]
    }
  }
}