{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/slideforge-dev/json-schema/slideforge-dev-intent-deck-request-schema.json",
  "title": "IntentDeckRequest",
  "description": "POST /v1/render/intent/deck — N structured SSG intents → one merged PPTX.\n\nREST mirror of the MCP create_deck intent path. `slides` is a list of intent objects\n(same shape as /v1/render/intent: form + typed fields, or a brief). Slides fill in\nparallel and merge into one themed deck. $0.05 per usable slide.",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/slideforge-dev-openapi.json#/components/schemas/IntentDeckRequest",
  "properties": {
    "slides": {
      "items": {
        "type": "object"
      },
      "type": "array",
      "title": "Slides",
      "default": []
    },
    "theme_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Theme Id"
    },
    "brand": {
      "anyOf": [
        {
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Brand"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Name"
    },
    "source": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Source"
    },
    "dry_run": {
      "type": "boolean",
      "title": "Dry Run",
      "default": false
    },
    "force_render": {
      "type": "boolean",
      "title": "Force Render",
      "default": false
    },
    "allow_partial": {
      "type": "boolean",
      "title": "Allow Partial",
      "default": false
    },
    "logo_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Logo Id"
    },
    "styling": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Styling"
    },
    "direction": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "ltr",
            "rtl"
          ]
        },
        {
          "type": "null"
        }
      ],
      "title": "Direction"
    },
    "imagery": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Imagery"
    },
    "imagery_tag": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Imagery Tag"
    },
    "strict_policy": {
      "anyOf": [
        {
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Strict Policy"
    },
    "detail": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Detail"
    }
  },
  "type": "object"
}