{
  "version": 1,
  "availability": "Requires an installed plugin offering the requested action; choose from its Quick Actions list",
  "docsUrl": "https://docs.hypermatic.com/pixelay/automation/parameters",
  "inputLimits": {
    "quickActionsPasteMaxCharacters": 149,
    "parserOptionsMaxCharacters": 16384,
    "maxTargetIds": 100,
    "rejectedAmbiguousLength": 150
  },
  "optionDefinitionFormat": "Hypermatic parameter fields v1; not JSON Schema",
  "plugin": "pixelay",
  "parameters": [
    "command",
    "parameters"
  ],
  "shortcuts": [
    {
      "command": "open",
      "name": "Open Pixelay",
      "action": "open",
      "advanced": false,
      "parameters": [],
      "target": "none"
    },
    {
      "command": "shortcut-publish",
      "name": "Upload Selected Comparisons",
      "action": "publish",
      "advanced": false,
      "parameters": [],
      "target": "current selection"
    },
    {
      "command": "shortcut-configure",
      "name": "Set Comparison URL",
      "action": "configure",
      "advanced": false,
      "parameters": [
        {
          "name": "URL",
          "key": "url",
          "allowFreeform": true,
          "optional": false
        },
        {
          "name": "Base URL",
          "key": "baseUrl",
          "allowFreeform": true,
          "optional": true
        }
      ],
      "target": "current selection"
    },
    {
      "command": "advanced-configure",
      "name": "Advanced: Set Comparison URL",
      "action": "configure",
      "advanced": true,
      "parameters": [
        {
          "name": "Advanced options (JSON)",
          "key": "options",
          "allowFreeform": true,
          "optional": false
        },
        {
          "name": "Target (optional node IDs)",
          "key": "target",
          "allowFreeform": true,
          "optional": true
        }
      ],
      "target": "optional node IDs or current selection"
    }
  ],
  "actions": {
    "open": {
      "description": "Open the normal interactive plugin",
      "fields": {},
      "target": "none",
      "execution": "builtin"
    },
    "publish": {
      "description": "Upload selected frames using saved comparison URLs",
      "fields": {},
      "target": "many",
      "execution": "worker"
    },
    "configure": {
      "description": "Save comparison URLs for selected frames without publishing",
      "fields": {
        "url": {
          "type": "string",
          "min": 1,
          "max": 2048,
          "required": true,
          "description": "Absolute HTTP or HTTPS comparison URL"
        },
        "baseUrl": {
          "type": "string",
          "min": 1,
          "max": 2048,
          "description": "Optional absolute website base URL"
        }
      },
      "target": "many",
      "execution": "worker"
    }
  },
  "examples": {
    "publish": {},
    "configure": {
      "url": "https://example.com/"
    }
  },
  "limitsAndBehavior": "Publish uses the existing account setup and upload feature; it can create an account and replaces the saved comparison with the selected frames. Configure only saves local URL mappings. The website base URL must be configured before publishing.",
  "completion": {
    "deadlineMs": 300000,
    "visibleNotifications": true,
    "nativeSaveDialog": true,
    "verifySavedArtifact": true
  },
  "invocation": "Figma Quick Actions or a verified host launcher; no REST/MCP launcher is provided",
  "results": "Normal Figma success/error notifications, document changes, native file downloads and published pages"
}
