{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/coloringbookify-com/json-schema/coloringbookify-com-book-plan-input-schema.json",
  "title": "BookPlanInput",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/coloringbookify-com-openapi.yml#/components/schemas/BookPlanInput",
  "type": "object",
  "required": [
    "book_plan"
  ],
  "properties": {
    "book_plan": {
      "type": "object",
      "required": [
        "title",
        "description"
      ],
      "properties": {
        "title": {
          "type": "string",
          "maxLength": 100
        },
        "description": {
          "type": "string",
          "maxLength": 2000
        },
        "additional_instructions": {
          "type": "string"
        },
        "style_template_key": {
          "type": "string",
          "enum": [
            "classic",
            "bold_and_easy_first_words",
            "custom"
          ],
          "default": "classic"
        },
        "style_prompt": {
          "type": "string",
          "description": "Custom visual directions when style_template_key is custom."
        },
        "language": {
          "type": "string",
          "enum": [
            "en",
            "es",
            "fr",
            "pt"
          ],
          "default": "en"
        },
        "aspect": {
          "type": "string",
          "enum": [
            "square",
            "portrait",
            "landscape"
          ]
        },
        "level": {
          "type": "string",
          "enum": [
            "easy",
            "medium",
            "hard"
          ],
          "default": "easy"
        },
        "privacy": {
          "type": "string",
          "enum": [
            "is_private",
            "is_public"
          ],
          "default": "is_private"
        },
        "border_type": {
          "type": "string",
          "enum": [
            "dotted",
            "solid"
          ]
        },
        "outline_weight": {
          "type": "string",
          "enum": [
            "fine",
            "standard",
            "bold",
            "extra_bold"
          ]
        },
        "cover_style": {
          "type": "string",
          "enum": [
            "classic",
            "interactive_split",
            "vibrant_hero"
          ],
          "default": "classic"
        },
        "include_test_color_page": {
          "type": "boolean"
        },
        "character_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    }
  }
}