{
  "service": "pixellab",
  "displayName": "PixelLab",
  "description": "Generate, edit, animate, and manage pixel-art images, UI assets, characters, and objects with PixelLab.",
  "categories": [
    "AI",
    "Design & Media"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "PIXELLAB_API_TOKEN",
      "description": "PixelLab API token sent as a Bearer token. Create or manage tokens in the PixelLab dashboard: https://www.pixellab.ai/"
    }
  ],
  "homepageUrl": "https://www.pixellab.ai/",
  "actions": [
    {
      "id": "pixellab.animate_with_skeleton",
      "service": "pixellab",
      "name": "animate_with_skeleton",
      "description": "Generate synchronous PixelLab animation frames from a reference character image and per-frame skeleton keypoints.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 256,
                "description": "Output frame width from 16 to 256 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 256,
                "description": "Output frame height from 16 to 256 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Output frame dimensions in pixels."
          },
          "referenceImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "The PNG or JPEG character image whose appearance should be preserved."
          },
          "skeletonKeypoints": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "x": {
                    "type": "number",
                    "description": "Horizontal point coordinate."
                  },
                  "y": {
                    "type": "number",
                    "description": "Vertical point coordinate."
                  },
                  "label": {
                    "type": "string",
                    "enum": [
                      "NOSE",
                      "NECK",
                      "RIGHT SHOULDER",
                      "RIGHT ELBOW",
                      "RIGHT ARM",
                      "LEFT SHOULDER",
                      "LEFT ELBOW",
                      "LEFT ARM",
                      "RIGHT HIP",
                      "RIGHT KNEE",
                      "RIGHT LEG",
                      "LEFT HIP",
                      "LEFT KNEE",
                      "LEFT LEG",
                      "RIGHT EYE",
                      "LEFT EYE",
                      "RIGHT EAR",
                      "LEFT EAR"
                    ],
                    "description": "PixelLab skeleton joint label."
                  },
                  "zIndex": {
                    "type": "number",
                    "description": "Layer order used when skeleton joints overlap.",
                    "default": 0
                  }
                },
                "additionalProperties": false,
                "required": [
                  "x",
                  "y",
                  "label"
                ],
                "description": "One skeleton point used to guide an animation frame."
              },
              "description": "Skeleton points for one animation frame.",
              "minItems": 1
            },
            "description": "Skeleton keypoints for each animation frame, in playback order.",
            "minItems": 1
          },
          "guidanceScale": {
            "type": "number",
            "minimum": 1,
            "maximum": 20,
            "description": "How closely to follow the reference image and skeleton keypoints.",
            "default": 4
          },
          "view": {
            "type": "string",
            "enum": [
              "side",
              "low top-down",
              "high top-down"
            ],
            "description": "Camera view angle.",
            "default": "side"
          },
          "direction": {
            "type": "string",
            "enum": [
              "north",
              "north-east",
              "east",
              "south-east",
              "south",
              "south-west",
              "west",
              "north-west"
            ],
            "description": "Direction the character faces.",
            "default": "east"
          },
          "isometric": {
            "type": "boolean",
            "description": "Whether to generate an isometric view.",
            "default": false
          },
          "obliqueProjection": {
            "type": "boolean",
            "description": "Whether to use oblique projection.",
            "default": false
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed used to make generation reproducible."
          }
        },
        "additionalProperties": false,
        "required": [
          "imageSize",
          "referenceImage",
          "skeletonKeypoints"
        ],
        "description": "A PixelLab skeleton-guided animation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "frames": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "fileId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The local transit file identifier."
                },
                "downloadUrl": {
                  "type": "string",
                  "description": "The local URL used to download the generated image.",
                  "format": "uri"
                },
                "sizeBytes": {
                  "type": "integer",
                  "minimum": 0,
                  "description": "The generated image size in bytes."
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The generated image filename."
                },
                "mimeType": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The generated image MIME type."
                }
              },
              "additionalProperties": false,
              "required": [
                "fileId",
                "downloadUrl",
                "sizeBytes",
                "name",
                "mimeType"
              ],
              "description": "A generated image stored in the local transit file service."
            },
            "description": "Generated animation frames in playback order."
          },
          "frameCount": {
            "type": "integer",
            "minimum": 0,
            "description": "The number of generated animation frames."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "frames",
          "frameCount"
        ],
        "description": "The PixelLab skeleton-guided animation result."
      }
    },
    {
      "id": "pixellab.animate_with_text_legacy",
      "service": "pixellab",
      "name": "animate_with_text_legacy",
      "description": "Generate four animation frames synchronously with PixelLab's original text animation model.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 256,
                "description": "Image width from 16 to 256 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 256,
                "description": "Image height from 16 to 256 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Animation output dimensions."
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "description": "Description of the character."
          },
          "action": {
            "type": "string",
            "minLength": 1,
            "description": "Description of the action to animate."
          },
          "referenceImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "The PNG or JPEG character reference image."
          },
          "textGuidanceScale": {
            "type": "number",
            "minimum": 1,
            "maximum": 20,
            "description": "How closely to follow the text description.",
            "default": 8
          },
          "imageGuidanceScale": {
            "type": "number",
            "minimum": 1,
            "maximum": 20,
            "description": "How closely to follow the reference image.",
            "default": 1.4
          },
          "frameCount": {
            "type": "integer",
            "minimum": 2,
            "maximum": 20,
            "description": "Length of the conceptual animation; the model returns four frames.",
            "default": 4
          },
          "startFrameIndex": {
            "type": "integer",
            "minimum": 0,
            "maximum": 20,
            "description": "Starting index in the conceptual animation.",
            "default": 0
          },
          "view": {
            "type": "string",
            "enum": [
              "side",
              "low top-down",
              "high top-down"
            ],
            "description": "Camera view angle."
          },
          "direction": {
            "type": "string",
            "enum": [
              "north",
              "north-east",
              "east",
              "south-east",
              "south",
              "south-west",
              "west",
              "north-west"
            ],
            "description": "Direction the subject faces."
          },
          "colorImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional PNG or JPEG palette image."
          },
          "seed": {
            "type": "integer",
            "description": "Seed for reproducible generation. Use 0 for random.",
            "default": 0
          }
        },
        "additionalProperties": false,
        "required": [
          "imageSize",
          "description",
          "action",
          "referenceImage"
        ],
        "description": "A PixelLab original text animation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "frames": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "fileId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The local transit file identifier."
                },
                "downloadUrl": {
                  "type": "string",
                  "description": "The local URL used to download the generated image.",
                  "format": "uri"
                },
                "sizeBytes": {
                  "type": "integer",
                  "minimum": 0,
                  "description": "The generated image size in bytes."
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The generated image filename."
                },
                "mimeType": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The generated image MIME type."
                }
              },
              "additionalProperties": false,
              "required": [
                "fileId",
                "downloadUrl",
                "sizeBytes",
                "name",
                "mimeType"
              ],
              "description": "A generated image stored in the local transit file service."
            },
            "description": "Generated animation frames in playback order."
          },
          "frameCount": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of generated frames."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "frames",
          "frameCount"
        ],
        "description": "A synchronous PixelLab animation result."
      }
    },
    {
      "id": "pixellab.convert_to_pixel_art",
      "service": "pixellab",
      "name": "convert_to_pixel_art",
      "description": "Convert a PNG or JPEG image to pixel art synchronously.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "image": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "The PNG or JPEG source image."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 1280,
                "description": "Image width from 16 to 1280 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 1280,
                "description": "Image height from 16 to 1280 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Source image dimensions."
          },
          "outputSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 320,
                "description": "Image width from 16 to 320 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 320,
                "description": "Image height from 16 to 320 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Pixel-art output dimensions."
          },
          "textGuidanceScale": {
            "type": "number",
            "minimum": 1,
            "maximum": 20,
            "description": "How closely to follow the pixel-art style.",
            "default": 8
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          }
        },
        "additionalProperties": false,
        "required": [
          "image",
          "imageSize",
          "outputSize"
        ],
        "description": "A PixelLab image-to-pixel-art conversion request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "image": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The local transit file identifier."
              },
              "downloadUrl": {
                "type": "string",
                "description": "The local URL used to download the generated image.",
                "format": "uri"
              },
              "sizeBytes": {
                "type": "integer",
                "minimum": 0,
                "description": "The generated image size in bytes."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The generated image filename."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "The generated image MIME type."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId",
              "downloadUrl",
              "sizeBytes",
              "name",
              "mimeType"
            ],
            "description": "A generated image stored in the local transit file service."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "image"
        ],
        "description": "A PixelLab image stored in the local transit file service."
      }
    },
    {
      "id": "pixellab.create_pixen_image",
      "service": "pixellab",
      "name": "create_pixen_image",
      "description": "Generate one pixel-art image synchronously with the PixelLab Pixen model.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "description": "Description of the image to generate."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 768,
                "description": "Image width from 16 to 768 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 768,
                "description": "Image height from 16 to 768 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Pixen output dimensions. Width and height must be divisible by 4."
          },
          "outline": {
            "type": "string",
            "enum": [
              "single color black outline",
              "single color outline",
              "selective outline",
              "lineless"
            ],
            "description": "Pixel-art outline style."
          },
          "detail": {
            "type": "string",
            "enum": [
              "low detail",
              "medium detail",
              "highly detailed"
            ],
            "description": "Pixel-art detail level.",
            "default": "highly detailed"
          },
          "view": {
            "type": "string",
            "enum": [
              "side",
              "low top-down",
              "high top-down"
            ],
            "description": "Camera view angle."
          },
          "direction": {
            "type": "string",
            "enum": [
              "north",
              "north-east",
              "east",
              "south-east",
              "south",
              "south-west",
              "west",
              "north-west"
            ],
            "description": "Direction the subject faces."
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to generate a transparent background.",
            "default": false
          },
          "backgroundRemovalTask": {
            "type": "string",
            "enum": [
              "remove_simple_background",
              "remove_complex_background"
            ],
            "description": "Background removal mode. Complex mode is slower but handles detailed edges better.",
            "default": "remove_simple_background"
          },
          "seed": {
            "type": "integer",
            "description": "Seed for reproducible generation."
          },
          "enhancePrompt": {
            "type": "boolean",
            "description": "Whether PixelLab should enhance the prompt first.",
            "default": false
          }
        },
        "additionalProperties": false,
        "required": [
          "description",
          "imageSize"
        ],
        "description": "A PixelLab Pixen image generation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "image": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The local transit file identifier."
              },
              "downloadUrl": {
                "type": "string",
                "description": "The local URL used to download the generated image.",
                "format": "uri"
              },
              "sizeBytes": {
                "type": "integer",
                "minimum": 0,
                "description": "The generated image size in bytes."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The generated image filename."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "The generated image MIME type."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId",
              "downloadUrl",
              "sizeBytes",
              "name",
              "mimeType"
            ],
            "description": "A generated image stored in the local transit file service."
          },
          "enhancedPrompt": {
            "type": "string",
            "minLength": 1,
            "description": "The expanded prompt when enhancement was requested."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          },
          "enhanceUsage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "image"
        ],
        "description": "A PixelLab Pixen image generation result."
      }
    },
    {
      "id": "pixellab.create_pixflux_image",
      "service": "pixellab",
      "name": "create_pixflux_image",
      "description": "Generate one pixel-art image synchronously with the PixelLab Pixflux model.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "description": "Description of the image to generate."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 400,
                "description": "Image width from 16 to 400 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 400,
                "description": "Image height from 16 to 400 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Pixflux output dimensions."
          },
          "textGuidanceScale": {
            "type": "number",
            "minimum": 1,
            "maximum": 20,
            "description": "How closely to follow the text description.",
            "default": 8
          },
          "outline": {
            "type": "string",
            "enum": [
              "single color black outline",
              "single color outline",
              "selective outline",
              "lineless"
            ],
            "description": "Pixel-art outline style."
          },
          "shading": {
            "type": "string",
            "enum": [
              "flat shading",
              "basic shading",
              "medium shading",
              "detailed shading",
              "highly detailed shading"
            ],
            "description": "Pixel-art shading style."
          },
          "detail": {
            "type": "string",
            "enum": [
              "low detail",
              "medium detail",
              "highly detailed"
            ],
            "description": "Pixel-art detail level."
          },
          "view": {
            "type": "string",
            "enum": [
              "side",
              "low top-down",
              "high top-down"
            ],
            "description": "Camera view angle."
          },
          "direction": {
            "type": "string",
            "enum": [
              "north",
              "north-east",
              "east",
              "south-east",
              "south",
              "south-west",
              "west",
              "north-west"
            ],
            "description": "Direction the subject faces."
          },
          "isometric": {
            "type": "boolean",
            "description": "Whether to generate an isometric view.",
            "default": false
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to generate a transparent background.",
            "default": false
          },
          "backgroundRemovalTask": {
            "type": "string",
            "enum": [
              "remove_simple_background",
              "remove_complex_background"
            ],
            "description": "Background removal mode. Complex mode is slower but handles detailed edges better.",
            "default": "remove_simple_background"
          },
          "initImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional PNG or JPEG initial image."
          },
          "initImageStrength": {
            "type": "integer",
            "minimum": 1,
            "maximum": 999,
            "description": "Strength of the initial image influence.",
            "default": 300
          },
          "colorImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional PNG or JPEG palette image."
          },
          "seed": {
            "type": "integer",
            "description": "Seed for reproducible generation."
          }
        },
        "additionalProperties": false,
        "required": [
          "description",
          "imageSize"
        ],
        "description": "A PixelLab Pixflux image generation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "image": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The local transit file identifier."
              },
              "downloadUrl": {
                "type": "string",
                "description": "The local URL used to download the generated image.",
                "format": "uri"
              },
              "sizeBytes": {
                "type": "integer",
                "minimum": 0,
                "description": "The generated image size in bytes."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The generated image filename."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "The generated image MIME type."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId",
              "downloadUrl",
              "sizeBytes",
              "name",
              "mimeType"
            ],
            "description": "A generated image stored in the local transit file service."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "image"
        ],
        "description": "A PixelLab image stored in the local transit file service."
      }
    },
    {
      "id": "pixellab.delete_character",
      "service": "pixellab",
      "name": "delete_character",
      "description": "Delete a persisted PixelLab character and its associated animations.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "characterId": {
            "type": "string",
            "minLength": 1,
            "description": "The PixelLab character identifier to delete."
          }
        },
        "additionalProperties": false,
        "required": [
          "characterId"
        ],
        "description": "A PixelLab character deletion request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the character was deleted."
          },
          "characterId": {
            "type": "string",
            "minLength": 1,
            "description": "Deleted character identifier."
          },
          "filesDeleted": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of files deleted."
          },
          "animationsDeleted": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of animations deleted."
          },
          "error": {
            "type": "string",
            "minLength": 1,
            "description": "Deletion error when unsuccessful."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "The PixelLab character deletion result."
      }
    },
    {
      "id": "pixellab.delete_object",
      "service": "pixellab",
      "name": "delete_object",
      "description": "Delete one persisted PixelLab object.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string",
            "minLength": 1,
            "description": "The PixelLab object identifier to delete."
          }
        },
        "additionalProperties": false,
        "required": [
          "objectId"
        ],
        "description": "A PixelLab object deletion request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the object was deleted."
          },
          "objectId": {
            "type": "string",
            "minLength": 1,
            "description": "Deleted object identifier."
          },
          "error": {
            "type": "string",
            "minLength": 1,
            "description": "Deletion error when unsuccessful."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "The PixelLab object deletion result."
      }
    },
    {
      "id": "pixellab.delete_ui_asset",
      "service": "pixellab",
      "name": "delete_ui_asset",
      "description": "Delete one saved PixelLab UI asset.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uiAssetId": {
            "type": "string",
            "description": "The PixelLab UI asset identifier to delete.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "required": [
          "uiAssetId"
        ],
        "description": "A PixelLab UI asset deletion request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether PixelLab deleted the UI asset."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "success"
        ],
        "description": "The PixelLab UI asset deletion result."
      }
    },
    {
      "id": "pixellab.dismiss_object_review",
      "service": "pixellab",
      "name": "dismiss_object_review",
      "description": "Discard all candidate frames for a one-direction object awaiting review.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string",
            "minLength": 1,
            "description": "Review-status PixelLab object identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "objectId"
        ],
        "description": "A PixelLab object review dismissal request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "dismissed": {
            "type": "boolean",
            "description": "Whether the review candidates were dismissed."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "dismissed"
        ],
        "description": "The PixelLab object review dismissal result."
      }
    },
    {
      "id": "pixellab.download_character_zip",
      "service": "pixellab",
      "name": "download_character_zip",
      "description": "Export one persisted PixelLab character as a ZIP transit file.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "characterId": {
            "type": "string",
            "minLength": 1,
            "description": "The PixelLab character identifier to export."
          }
        },
        "additionalProperties": false,
        "required": [
          "characterId"
        ],
        "description": "A PixelLab character ZIP export request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "file": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The local transit file identifier."
              },
              "downloadUrl": {
                "type": "string",
                "description": "The local URL used to download the generated image.",
                "format": "uri"
              },
              "sizeBytes": {
                "type": "integer",
                "minimum": 0,
                "description": "The generated image size in bytes."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The generated image filename."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "The generated image MIME type."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId",
              "downloadUrl",
              "sizeBytes",
              "name",
              "mimeType"
            ],
            "description": "A generated image stored in the local transit file service."
          }
        },
        "additionalProperties": false,
        "required": [
          "file"
        ],
        "description": "The exported PixelLab character ZIP file."
      }
    },
    {
      "id": "pixellab.enhance_animation_prompt",
      "service": "pixellab",
      "name": "enhance_animation_prompt",
      "description": "Expand a motion description using the visible content of one or two animation frames.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "firstFrame": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "The PNG or JPEG first animation frame."
          },
          "lastFrame": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional PNG or JPEG final frame for interpolation guidance."
          },
          "action": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500,
            "description": "Motion description to enhance."
          }
        },
        "additionalProperties": false,
        "required": [
          "firstFrame",
          "action"
        ],
        "description": "A PixelLab animation prompt enhancement request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "enhancedPrompt": {
            "type": "string",
            "minLength": 1,
            "description": "The model-ready prompt returned by PixelLab."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "enhancedPrompt"
        ],
        "description": "A PixelLab prompt enhancement result."
      },
      "followUpActions": [
        "pixellab.start_text_animation"
      ]
    },
    {
      "id": "pixellab.enhance_character_prompt",
      "service": "pixellab",
      "name": "enhance_character_prompt",
      "description": "Expand a short description into a model-ready PixelLab v3 character prompt.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Character description to enhance."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 32,
                "maximum": 256,
                "description": "Image width from 32 to 256 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 32,
                "maximum": 256,
                "description": "Image height from 32 to 256 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Character frame dimensions."
          },
          "view": {
            "type": "string",
            "enum": [
              "low top-down",
              "high top-down",
              "side"
            ],
            "description": "Camera view or tilt.",
            "default": "low top-down"
          },
          "outline": {
            "type": "string",
            "minLength": 1,
            "description": "Optional outline style guidance."
          },
          "detail": {
            "type": "string",
            "minLength": 1,
            "description": "Optional detail level guidance."
          }
        },
        "additionalProperties": false,
        "required": [
          "description",
          "imageSize"
        ],
        "description": "A PixelLab v3 character prompt enhancement request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "enhancedPrompt": {
            "type": "string",
            "minLength": 1,
            "description": "The model-ready prompt returned by PixelLab."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "enhancedPrompt"
        ],
        "description": "A PixelLab prompt enhancement result."
      }
    },
    {
      "id": "pixellab.enhance_pixen_prompt",
      "service": "pixellab",
      "name": "enhance_pixen_prompt",
      "description": "Expand a short description into a model-ready PixelLab Pixen image prompt.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Image description to enhance."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 768,
                "description": "Image width from 16 to 768 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 768,
                "description": "Image height from 16 to 768 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Pixen output dimensions. Width and height must be divisible by 4."
          },
          "outline": {
            "type": "string",
            "enum": [
              "single color black outline",
              "single color outline",
              "selective outline",
              "lineless"
            ],
            "description": "Pixel-art outline style."
          },
          "detail": {
            "type": "string",
            "enum": [
              "low detail",
              "medium detail",
              "highly detailed"
            ],
            "description": "Pixel-art detail level.",
            "default": "highly detailed"
          },
          "view": {
            "type": "string",
            "enum": [
              "side",
              "low top-down",
              "high top-down"
            ],
            "description": "Camera view angle."
          },
          "direction": {
            "type": "string",
            "enum": [
              "north",
              "north-east",
              "east",
              "south-east",
              "south",
              "south-west",
              "west",
              "north-west"
            ],
            "description": "Direction the subject faces."
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether the prompt should omit a scene background.",
            "default": false
          }
        },
        "additionalProperties": false,
        "required": [
          "description",
          "imageSize"
        ],
        "description": "A PixelLab Pixen prompt enhancement request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "enhancedPrompt": {
            "type": "string",
            "minLength": 1,
            "description": "The model-ready prompt returned by PixelLab."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "enhancedPrompt"
        ],
        "description": "A PixelLab prompt enhancement result."
      },
      "followUpActions": [
        "pixellab.create_pixen_image"
      ]
    },
    {
      "id": "pixellab.estimate_skeleton",
      "service": "pixellab",
      "name": "estimate_skeleton",
      "description": "Estimate PixelLab skeleton keypoints from a PNG or JPEG character image.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "image": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "The PNG or JPEG character image from which to estimate skeleton keypoints."
          }
        },
        "additionalProperties": false,
        "required": [
          "image"
        ],
        "description": "A PixelLab skeleton estimation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "keypoints": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "x": {
                  "type": "number",
                  "description": "Horizontal point coordinate."
                },
                "y": {
                  "type": "number",
                  "description": "Vertical point coordinate."
                },
                "label": {
                  "type": "string",
                  "enum": [
                    "NOSE",
                    "NECK",
                    "RIGHT SHOULDER",
                    "RIGHT ELBOW",
                    "RIGHT ARM",
                    "LEFT SHOULDER",
                    "LEFT ELBOW",
                    "LEFT ARM",
                    "RIGHT HIP",
                    "RIGHT KNEE",
                    "RIGHT LEG",
                    "LEFT HIP",
                    "LEFT KNEE",
                    "LEFT LEG",
                    "RIGHT EYE",
                    "LEFT EYE",
                    "RIGHT EAR",
                    "LEFT EAR"
                  ],
                  "description": "PixelLab skeleton joint label."
                },
                "zIndex": {
                  "type": "number",
                  "description": "Layer order used when skeleton joints overlap.",
                  "default": 0
                }
              },
              "additionalProperties": false,
              "required": [
                "x",
                "y",
                "label",
                "zIndex"
              ],
              "description": "One skeleton keypoint estimated by PixelLab."
            },
            "description": "Skeleton keypoints estimated from the character image."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "keypoints"
        ],
        "description": "The normalized PixelLab skeleton estimation result."
      },
      "followUpActions": [
        "pixellab.animate_with_skeleton"
      ]
    },
    {
      "id": "pixellab.get_background_job",
      "service": "pixellab",
      "name": "get_background_job",
      "description": "Poll a PixelLab background animation job and store completed image frames in the local transit file service.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The PixelLab background job identifier returned when the animation started."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId"
        ],
        "description": "A PixelLab background job lookup."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The PixelLab background job identifier."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "createdAt": {
            "type": "string",
            "description": "When PixelLab created the background job.",
            "format": "date-time"
          },
          "images": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "fileId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The local transit file identifier."
                },
                "downloadUrl": {
                  "type": "string",
                  "description": "The local URL used to download the generated image.",
                  "format": "uri"
                },
                "sizeBytes": {
                  "type": "integer",
                  "minimum": 0,
                  "description": "The generated image size in bytes."
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The generated image filename."
                },
                "mimeType": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The generated image MIME type."
                }
              },
              "additionalProperties": false,
              "required": [
                "fileId",
                "downloadUrl",
                "sizeBytes",
                "name",
                "mimeType"
              ],
              "description": "A generated image stored in the local transit file service."
            },
            "description": "Generated images in provider order."
          },
          "imageCount": {
            "type": "integer",
            "minimum": 0,
            "description": "The number of completed generated images."
          },
          "result": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Non-image result metadata returned by the completed background job."
          },
          "error": {
            "type": "string",
            "minLength": 1,
            "description": "The PixelLab failure message when the job failed."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "status",
          "createdAt",
          "images"
        ],
        "description": "The normalized PixelLab background job state."
      },
      "asyncLifecycle": {
        "startActionId": "pixellab.start_text_animation",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.get_balance",
      "service": "pixellab",
      "name": "get_balance",
      "description": "Retrieve the current PixelLab USD credit and subscription generation balances.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input parameters are required."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "creditsUsd": {
            "type": "number",
            "description": "Remaining PixelLab USD credits."
          },
          "subscriptionStatus": {
            "type": "string",
            "minLength": 1,
            "description": "Current subscription status."
          },
          "subscriptionPlan": {
            "type": "string",
            "minLength": 1,
            "description": "Current subscription plan name."
          },
          "generationsRemaining": {
            "type": "number",
            "description": "Remaining subscription generations in this billing period."
          },
          "generationsTotal": {
            "type": "number",
            "description": "Total subscription generations in this billing period."
          }
        },
        "additionalProperties": false,
        "required": [
          "creditsUsd",
          "subscriptionStatus",
          "generationsRemaining",
          "generationsTotal"
        ],
        "description": "The normalized PixelLab account balance."
      }
    },
    {
      "id": "pixellab.get_character",
      "service": "pixellab",
      "name": "get_character",
      "description": "Retrieve one persisted PixelLab character with rotations and animations.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "characterId": {
            "type": "string",
            "minLength": 1,
            "description": "The PixelLab character identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "characterId"
        ],
        "description": "A PixelLab character lookup."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "character": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "Character identifier."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Character name."
              },
              "prompt": {
                "type": "string",
                "minLength": 1,
                "description": "Character creation prompt."
              },
              "size": {
                "type": "object",
                "properties": {
                  "width": {
                    "type": "integer",
                    "description": "Sprite width in pixels."
                  },
                  "height": {
                    "type": "integer",
                    "description": "Sprite height in pixels."
                  }
                },
                "additionalProperties": false,
                "required": [
                  "width",
                  "height"
                ],
                "description": "Character sprite dimensions."
              },
              "directions": {
                "type": "integer",
                "description": "Number of directional rotations."
              },
              "createdAt": {
                "type": "string",
                "description": "When the character was created.",
                "format": "date-time"
              },
              "animationCount": {
                "type": "integer",
                "minimum": 0,
                "description": "Number of stored character animations."
              },
              "templateId": {
                "type": "string",
                "minLength": 1,
                "description": "Template used to create the character."
              },
              "view": {
                "type": "string",
                "minLength": 1,
                "description": "Camera view used for the character."
              },
              "previewUrl": {
                "type": "string",
                "description": "Public character preview URL.",
                "format": "uri"
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                },
                "description": "User-defined character tags."
              },
              "groupId": {
                "type": "string",
                "minLength": 1,
                "description": "Identifier grouping sibling character states."
              },
              "rotationUrls": {
                "type": "object",
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "A public image URL when the resource is available.",
                      "format": "uri"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "description": "Rotation image URLs keyed by direction."
              },
              "animations": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "A character animation group."
                },
                "description": "Stored animation metadata."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "name",
              "prompt",
              "size",
              "directions",
              "createdAt",
              "animationCount",
              "templateId"
            ],
            "description": "A persisted PixelLab character."
          }
        },
        "additionalProperties": false,
        "required": [
          "character"
        ],
        "description": "A persisted PixelLab character."
      }
    },
    {
      "id": "pixellab.get_object",
      "service": "pixellab",
      "name": "get_object",
      "description": "Retrieve one persisted PixelLab object with rotations, review frames, and animations.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string",
            "minLength": 1,
            "description": "The PixelLab object identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "objectId"
        ],
        "description": "A PixelLab object lookup."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "object": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "Object identifier."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Friendly object name."
              },
              "prompt": {
                "type": "string",
                "minLength": 1,
                "description": "Prompt used to create the object."
              },
              "size": {
                "type": "object",
                "properties": {
                  "width": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "Sprite width in pixels."
                  },
                  "height": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "Sprite height in pixels."
                  }
                },
                "additionalProperties": false,
                "required": [
                  "width",
                  "height"
                ],
                "description": "Object sprite dimensions."
              },
              "directions": {
                "type": "integer",
                "description": "Number of object directions."
              },
              "createdAt": {
                "type": "string",
                "description": "When the object was created.",
                "format": "date-time"
              },
              "view": {
                "type": "string",
                "minLength": 1,
                "description": "Camera view used for the object."
              },
              "previewUrl": {
                "type": "string",
                "description": "Public object preview URL.",
                "format": "uri"
              },
              "rotationUrls": {
                "type": "object",
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "A public image URL when the resource is available.",
                      "format": "uri"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "description": "Rotation image URLs keyed by direction."
              },
              "storageUrls": {
                "type": "object",
                "additionalProperties": {
                  "type": "string",
                  "description": "A stored image URL or value."
                },
                "description": "Stored image URLs keyed by provider field."
              },
              "frameUrls": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                },
                "description": "Candidate image URLs while the object awaits review."
              },
              "styleSettings": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Style settings used during generation."
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                },
                "description": "User-defined object tags."
              },
              "status": {
                "type": "string",
                "minLength": 1,
                "description": "Current object status."
              },
              "groupId": {
                "type": "string",
                "minLength": 1,
                "description": "Identifier grouping sibling object states."
              },
              "progressPercent": {
                "type": "integer",
                "description": "Current generation progress percentage."
              },
              "etaSeconds": {
                "type": "integer",
                "description": "Estimated seconds remaining."
              },
              "animations": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "An object animation group."
                },
                "description": "Stored object animation groups."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "prompt",
              "size",
              "directions",
              "createdAt"
            ],
            "description": "A persisted PixelLab object."
          }
        },
        "additionalProperties": false,
        "required": [
          "object"
        ],
        "description": "A persisted PixelLab object."
      }
    },
    {
      "id": "pixellab.get_ui_asset",
      "service": "pixellab",
      "name": "get_ui_asset",
      "description": "Retrieve one saved PixelLab UI asset and its generation status.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "uiAssetId": {
            "type": "string",
            "description": "The PixelLab UI asset identifier.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "required": [
          "uiAssetId"
        ],
        "description": "A PixelLab UI asset lookup."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "asset": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "UI asset identifier."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Friendly UI asset name."
              },
              "prompt": {
                "type": "string",
                "minLength": 1,
                "description": "Prompt used to generate the asset."
              },
              "size": {
                "type": "object",
                "properties": {
                  "width": {
                    "type": "integer",
                    "description": "Image width in pixels."
                  },
                  "height": {
                    "type": "integer",
                    "description": "Image height in pixels."
                  }
                },
                "additionalProperties": false,
                "required": [
                  "width",
                  "height"
                ],
                "description": "UI asset dimensions."
              },
              "imageUrl": {
                "type": "string",
                "description": "Public image URL when generation is complete.",
                "format": "uri"
              },
              "status": {
                "type": "string",
                "minLength": 1,
                "description": "Current UI asset status."
              },
              "createdAt": {
                "type": "string",
                "description": "When the UI asset was created.",
                "format": "date-time"
              },
              "progressPercent": {
                "type": "integer",
                "description": "Current generation progress percentage."
              },
              "etaSeconds": {
                "type": "integer",
                "description": "Estimated seconds remaining."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "prompt",
              "size",
              "createdAt"
            ],
            "description": "A saved PixelLab UI asset."
          }
        },
        "additionalProperties": false,
        "required": [
          "asset"
        ],
        "description": "A PixelLab UI asset."
      }
    },
    {
      "id": "pixellab.inpaint_image_legacy",
      "service": "pixellab",
      "name": "inpaint_image_legacy",
      "description": "Inpaint a masked area synchronously with PixelLab's original image model.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "description": "Description of what to generate in the masked area."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 200,
                "description": "Image width from 16 to 200 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 200,
                "description": "Image height from 16 to 200 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Image dimensions."
          },
          "inpaintingImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "The PNG or JPEG image to edit."
          },
          "maskImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "A mask where white is generated and black is preserved."
          },
          "textGuidanceScale": {
            "type": "number",
            "minimum": 1,
            "maximum": 10,
            "description": "How closely to follow the description.",
            "default": 3
          },
          "outline": {
            "type": "string",
            "enum": [
              "single color black outline",
              "single color outline",
              "selective outline",
              "lineless"
            ],
            "description": "Pixel-art outline style."
          },
          "shading": {
            "type": "string",
            "enum": [
              "flat shading",
              "basic shading",
              "medium shading",
              "detailed shading",
              "highly detailed shading"
            ],
            "description": "Pixel-art shading style."
          },
          "detail": {
            "type": "string",
            "enum": [
              "low detail",
              "medium detail",
              "highly detailed"
            ],
            "description": "Pixel-art detail level."
          },
          "view": {
            "type": "string",
            "enum": [
              "side",
              "low top-down",
              "high top-down"
            ],
            "description": "Camera view angle."
          },
          "direction": {
            "type": "string",
            "enum": [
              "north",
              "north-east",
              "east",
              "south-east",
              "south",
              "south-west",
              "west",
              "north-west"
            ],
            "description": "Direction the subject faces."
          },
          "isometric": {
            "type": "boolean",
            "description": "Whether to generate an isometric view.",
            "default": false
          },
          "obliqueProjection": {
            "type": "boolean",
            "description": "Whether to use oblique projection.",
            "default": false
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to generate a transparent background.",
            "default": false
          },
          "initImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional PNG or JPEG initial image."
          },
          "initImageStrength": {
            "type": "integer",
            "minimum": 1,
            "maximum": 999,
            "description": "Strength of the initial image influence.",
            "default": 300
          },
          "colorImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional PNG or JPEG palette image."
          },
          "seed": {
            "type": "integer",
            "description": "Seed for reproducible generation."
          }
        },
        "additionalProperties": false,
        "required": [
          "description",
          "imageSize",
          "inpaintingImage",
          "maskImage"
        ],
        "description": "A PixelLab original inpainting request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "image": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The local transit file identifier."
              },
              "downloadUrl": {
                "type": "string",
                "description": "The local URL used to download the generated image.",
                "format": "uri"
              },
              "sizeBytes": {
                "type": "integer",
                "minimum": 0,
                "description": "The generated image size in bytes."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The generated image filename."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "The generated image MIME type."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId",
              "downloadUrl",
              "sizeBytes",
              "name",
              "mimeType"
            ],
            "description": "A generated image stored in the local transit file service."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "image"
        ],
        "description": "A PixelLab image stored in the local transit file service."
      }
    },
    {
      "id": "pixellab.list_characters",
      "service": "pixellab",
      "name": "list_characters",
      "description": "List persisted PixelLab characters with offset pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Maximum characters to return.",
            "default": 50
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of characters to skip.",
            "default": 0
          }
        },
        "additionalProperties": false,
        "description": "PixelLab character list parameters."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "characters": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Character identifier."
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Character name."
                },
                "prompt": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Character creation prompt."
                },
                "size": {
                  "type": "object",
                  "properties": {
                    "width": {
                      "type": "integer",
                      "description": "Sprite width in pixels."
                    },
                    "height": {
                      "type": "integer",
                      "description": "Sprite height in pixels."
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "width",
                    "height"
                  ],
                  "description": "Character sprite dimensions."
                },
                "directions": {
                  "type": "integer",
                  "description": "Number of directional rotations."
                },
                "createdAt": {
                  "type": "string",
                  "description": "When the character was created.",
                  "format": "date-time"
                },
                "animationCount": {
                  "type": "integer",
                  "minimum": 0,
                  "description": "Number of stored character animations."
                },
                "templateId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Template used to create the character."
                },
                "view": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Camera view used for the character."
                },
                "previewUrl": {
                  "type": "string",
                  "description": "Public character preview URL.",
                  "format": "uri"
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": "User-defined character tags."
                },
                "groupId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Identifier grouping sibling character states."
                },
                "rotationUrls": {
                  "type": "object",
                  "additionalProperties": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "A public image URL when the resource is available.",
                        "format": "uri"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "description": "Rotation image URLs keyed by direction."
                },
                "animations": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "A character animation group."
                  },
                  "description": "Stored animation metadata."
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "name",
                "prompt",
                "size",
                "directions",
                "createdAt",
                "animationCount",
                "templateId"
              ],
              "description": "A persisted PixelLab character."
            },
            "description": "Persisted PixelLab characters."
          },
          "total": {
            "type": "integer",
            "minimum": 0,
            "description": "Total persisted characters."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "characters",
          "total"
        ],
        "description": "A page of PixelLab characters."
      },
      "followUpActions": [
        "pixellab.get_character"
      ]
    },
    {
      "id": "pixellab.list_objects",
      "service": "pixellab",
      "name": "list_objects",
      "description": "List persisted PixelLab objects with offset pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Maximum objects to return.",
            "default": 50
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of objects to skip.",
            "default": 0
          }
        },
        "additionalProperties": false,
        "description": "PixelLab object list parameters."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "objects": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Object identifier."
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Friendly object name."
                },
                "prompt": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Prompt used to create the object."
                },
                "size": {
                  "type": "object",
                  "properties": {
                    "width": {
                      "type": "integer",
                      "minimum": 1,
                      "description": "Sprite width in pixels."
                    },
                    "height": {
                      "type": "integer",
                      "minimum": 1,
                      "description": "Sprite height in pixels."
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "width",
                    "height"
                  ],
                  "description": "Object sprite dimensions."
                },
                "directions": {
                  "type": "integer",
                  "description": "Number of object directions."
                },
                "createdAt": {
                  "type": "string",
                  "description": "When the object was created.",
                  "format": "date-time"
                },
                "view": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Camera view used for the object."
                },
                "previewUrl": {
                  "type": "string",
                  "description": "Public object preview URL.",
                  "format": "uri"
                },
                "rotationUrls": {
                  "type": "object",
                  "additionalProperties": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "A public image URL when the resource is available.",
                        "format": "uri"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "description": "Rotation image URLs keyed by direction."
                },
                "storageUrls": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string",
                    "description": "A stored image URL or value."
                  },
                  "description": "Stored image URLs keyed by provider field."
                },
                "frameUrls": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": "Candidate image URLs while the object awaits review."
                },
                "styleSettings": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "Style settings used during generation."
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": "User-defined object tags."
                },
                "status": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Current object status."
                },
                "groupId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Identifier grouping sibling object states."
                },
                "progressPercent": {
                  "type": "integer",
                  "description": "Current generation progress percentage."
                },
                "etaSeconds": {
                  "type": "integer",
                  "description": "Estimated seconds remaining."
                },
                "animations": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "An object animation group."
                  },
                  "description": "Stored object animation groups."
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "prompt",
                "size",
                "directions",
                "createdAt"
              ],
              "description": "A persisted PixelLab object."
            },
            "description": "Persisted PixelLab objects."
          },
          "total": {
            "type": "integer",
            "minimum": 0,
            "description": "Total persisted objects."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "objects",
          "total"
        ],
        "description": "A page of PixelLab objects."
      },
      "followUpActions": [
        "pixellab.get_object"
      ]
    },
    {
      "id": "pixellab.list_ui_assets",
      "service": "pixellab",
      "name": "list_ui_assets",
      "description": "List saved PixelLab UI assets with offset pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Maximum assets to return.",
            "default": 50
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of assets to skip.",
            "default": 0
          }
        },
        "additionalProperties": false,
        "description": "PixelLab UI asset list parameters."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "assets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "UI asset identifier."
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Friendly UI asset name."
                },
                "prompt": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Prompt used to generate the asset."
                },
                "size": {
                  "type": "object",
                  "properties": {
                    "width": {
                      "type": "integer",
                      "description": "Image width in pixels."
                    },
                    "height": {
                      "type": "integer",
                      "description": "Image height in pixels."
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "width",
                    "height"
                  ],
                  "description": "UI asset dimensions."
                },
                "imageUrl": {
                  "type": "string",
                  "description": "Public image URL when generation is complete.",
                  "format": "uri"
                },
                "status": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Current UI asset status."
                },
                "createdAt": {
                  "type": "string",
                  "description": "When the UI asset was created.",
                  "format": "date-time"
                },
                "progressPercent": {
                  "type": "integer",
                  "description": "Current generation progress percentage."
                },
                "etaSeconds": {
                  "type": "integer",
                  "description": "Estimated seconds remaining."
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "prompt",
                "size",
                "createdAt"
              ],
              "description": "A saved PixelLab UI asset."
            },
            "description": "Saved UI assets."
          },
          "total": {
            "type": "integer",
            "minimum": 0,
            "description": "Total saved UI assets."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "assets",
          "total"
        ],
        "description": "A page of PixelLab UI assets."
      },
      "followUpActions": [
        "pixellab.get_ui_asset"
      ]
    },
    {
      "id": "pixellab.remove_background",
      "service": "pixellab",
      "name": "remove_background",
      "description": "Remove a pixel-art image background synchronously and return a transparent PNG.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "image": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "The PNG or JPEG source image."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 1,
                "maximum": 400,
                "description": "Image width from 1 to 400 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 1,
                "maximum": 400,
                "description": "Image height from 1 to 400 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Source image dimensions."
          },
          "backgroundRemovalTask": {
            "type": "string",
            "enum": [
              "remove_simple_background",
              "remove_complex_background"
            ],
            "description": "Background removal mode. Complex mode is slower but handles detailed edges better.",
            "default": "remove_simple_background"
          },
          "text": {
            "type": "string",
            "maxLength": 500,
            "description": "Optional description of the foreground object."
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          }
        },
        "additionalProperties": false,
        "required": [
          "image",
          "imageSize"
        ],
        "description": "A PixelLab background removal request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "image": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The local transit file identifier."
              },
              "downloadUrl": {
                "type": "string",
                "description": "The local URL used to download the generated image.",
                "format": "uri"
              },
              "sizeBytes": {
                "type": "integer",
                "minimum": 0,
                "description": "The generated image size in bytes."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The generated image filename."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "The generated image MIME type."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId",
              "downloadUrl",
              "sizeBytes",
              "name",
              "mimeType"
            ],
            "description": "A generated image stored in the local transit file service."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "image"
        ],
        "description": "A PixelLab image stored in the local transit file service."
      }
    },
    {
      "id": "pixellab.resize_image",
      "service": "pixellab",
      "name": "resize_image",
      "description": "Resize pixel art synchronously while preserving its pixel-art appearance.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Description of the depicted character or object."
          },
          "referenceImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "The PNG or JPEG pixel-art image to resize."
          },
          "referenceImageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 200,
                "description": "Image width from 16 to 200 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 200,
                "description": "Image height from 16 to 200 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Pixel-art image dimensions."
          },
          "targetSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 200,
                "description": "Image width from 16 to 200 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 200,
                "description": "Image height from 16 to 200 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Pixel-art image dimensions."
          },
          "view": {
            "type": "string",
            "enum": [
              "side",
              "low top-down",
              "high top-down"
            ],
            "description": "Camera view angle."
          },
          "direction": {
            "type": "string",
            "enum": [
              "north",
              "north-east",
              "east",
              "south-east",
              "south",
              "south-west",
              "west",
              "north-west"
            ],
            "description": "Direction the subject faces."
          },
          "isometric": {
            "type": "boolean",
            "description": "Whether the image uses isometric perspective.",
            "default": false
          },
          "obliqueProjection": {
            "type": "boolean",
            "description": "Whether the image uses oblique projection.",
            "default": false
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to remove the output background.",
            "default": false
          },
          "colorImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional PNG or JPEG palette image."
          },
          "initImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional PNG or JPEG initial output guide."
          },
          "initImageStrength": {
            "type": "number",
            "minimum": 0,
            "maximum": 999,
            "description": "Strength of the initial image influence.",
            "default": 150
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          }
        },
        "additionalProperties": false,
        "required": [
          "description",
          "referenceImage",
          "referenceImageSize",
          "targetSize"
        ],
        "description": "A PixelLab pixel-art resize request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "image": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The local transit file identifier."
              },
              "downloadUrl": {
                "type": "string",
                "description": "The local URL used to download the generated image.",
                "format": "uri"
              },
              "sizeBytes": {
                "type": "integer",
                "minimum": 0,
                "description": "The generated image size in bytes."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The generated image filename."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "The generated image MIME type."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId",
              "downloadUrl",
              "sizeBytes",
              "name",
              "mimeType"
            ],
            "description": "A generated image stored in the local transit file service."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "image"
        ],
        "description": "A PixelLab image stored in the local transit file service."
      }
    },
    {
      "id": "pixellab.rotate_image",
      "service": "pixellab",
      "name": "rotate_image",
      "description": "Rotate or tilt a pixel-art character or object synchronously.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 200,
                "description": "Image width from 16 to 200 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 200,
                "description": "Image height from 16 to 200 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Image dimensions."
          },
          "fromImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "The PNG or JPEG reference image to rotate."
          },
          "imageGuidanceScale": {
            "type": "number",
            "minimum": 1,
            "maximum": 20,
            "description": "How closely to follow the source image.",
            "default": 3
          },
          "viewChange": {
            "type": "integer",
            "minimum": -90,
            "maximum": 90,
            "description": "Tilt change in degrees."
          },
          "directionChange": {
            "type": "integer",
            "minimum": -180,
            "maximum": 180,
            "description": "Direction change in degrees."
          },
          "fromView": {
            "type": "string",
            "enum": [
              "side",
              "low top-down",
              "high top-down"
            ],
            "description": "Camera view angle."
          },
          "toView": {
            "type": "string",
            "enum": [
              "side",
              "low top-down",
              "high top-down"
            ],
            "description": "Camera view angle."
          },
          "fromDirection": {
            "type": "string",
            "enum": [
              "north",
              "north-east",
              "east",
              "south-east",
              "south",
              "south-west",
              "west",
              "north-west"
            ],
            "description": "Direction the subject faces."
          },
          "toDirection": {
            "type": "string",
            "enum": [
              "north",
              "north-east",
              "east",
              "south-east",
              "south",
              "south-west",
              "west",
              "north-west"
            ],
            "description": "Direction the subject faces."
          },
          "isometric": {
            "type": "boolean",
            "description": "Whether to generate an isometric view.",
            "default": false
          },
          "obliqueProjection": {
            "type": "boolean",
            "description": "Whether to use oblique projection.",
            "default": false
          },
          "initImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional PNG or JPEG initial image."
          },
          "initImageStrength": {
            "type": "integer",
            "minimum": 1,
            "maximum": 999,
            "description": "Strength of the initial image influence.",
            "default": 300
          },
          "maskImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional black-and-white inpainting mask."
          },
          "colorImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional PNG or JPEG palette image."
          },
          "seed": {
            "type": "integer",
            "description": "Seed for reproducible generation."
          }
        },
        "additionalProperties": false,
        "required": [
          "imageSize",
          "fromImage"
        ],
        "description": "A PixelLab rotation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "image": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The local transit file identifier."
              },
              "downloadUrl": {
                "type": "string",
                "description": "The local URL used to download the generated image.",
                "format": "uri"
              },
              "sizeBytes": {
                "type": "integer",
                "minimum": 0,
                "description": "The generated image size in bytes."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The generated image filename."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "The generated image MIME type."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId",
              "downloadUrl",
              "sizeBytes",
              "name",
              "mimeType"
            ],
            "description": "A generated image stored in the local transit file service."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "image"
        ],
        "description": "A PixelLab image stored in the local transit file service."
      }
    },
    {
      "id": "pixellab.select_object_frames",
      "service": "pixellab",
      "name": "select_object_frames",
      "description": "Keep selected candidate frames from a one-direction object review as individual objects.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string",
            "minLength": 1,
            "description": "Review-status PixelLab object identifier."
          },
          "indices": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 0,
              "description": "A frame index."
            },
            "description": "Zero-based candidate frame indices to keep.",
            "minItems": 1
          },
          "commonTag": {
            "type": "string",
            "minLength": 1,
            "description": "Optional tag applied to every created object."
          }
        },
        "additionalProperties": false,
        "required": [
          "objectId",
          "indices"
        ],
        "description": "A PixelLab object frame selection request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "createdObjectIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Identifiers of objects created from the selected frames."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "createdObjectIds"
        ],
        "description": "Objects created from selected candidate frames."
      },
      "followUpActions": [
        "pixellab.get_object"
      ]
    },
    {
      "id": "pixellab.start_animate_object",
      "service": "pixellab",
      "name": "start_animate_object",
      "description": "Submit one or more directional animation jobs for an existing PixelLab object.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string",
            "minLength": 1,
            "description": "Existing PixelLab object identifier."
          },
          "mode": {
            "type": "string",
            "enum": [
              "pro",
              "v3"
            ],
            "description": "Animation model. v3 is the recommended default.",
            "default": "v3"
          },
          "animationDescription": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1000,
            "description": "Motion to animate. May be omitted when extending an existing group."
          },
          "directions": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "north",
                "north-east",
                "east",
                "south-east",
                "south",
                "south-west",
                "west",
                "north-west"
              ],
              "description": "Direction the subject faces."
            },
            "description": "Directions to animate for an eight-direction object."
          },
          "animationGroupId": {
            "type": "string",
            "description": "Existing animation group to extend with additional directions.",
            "format": "uuid"
          },
          "displayName": {
            "type": "string",
            "minLength": 1,
            "description": "Friendly animation name used in exports."
          },
          "frameCount": {
            "type": "integer",
            "minimum": 1,
            "description": "Frames per direction. In v3 mode this must be even and between 4 and 16."
          },
          "replaceExisting": {
            "type": "boolean",
            "description": "Whether to regenerate directions already present in the animation group.",
            "default": false
          },
          "customStartFrame": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Custom starting pose for one direction in v3 mode."
          },
          "endFrame": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Interpolation target pose for one direction in v3 mode."
          },
          "keepFirstFrame": {
            "type": "boolean",
            "description": "Whether to store the input reference as frame zero in v3 mode.",
            "default": true
          },
          "enhancePrompt": {
            "type": "boolean",
            "description": "Whether to expand animationDescription before v3 generation.",
            "default": false
          }
        },
        "additionalProperties": false,
        "required": [
          "objectId"
        ],
        "description": "A PixelLab object animation request. Omit directions for one-direction objects."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "animationGroupId": {
            "type": "string",
            "description": "Animation group identifier used to add more directions later.",
            "format": "uuid"
          },
          "mode": {
            "type": "string",
            "enum": [
              "pro",
              "v3"
            ],
            "description": "Animation model used."
          },
          "frameCount": {
            "type": "integer",
            "minimum": 1,
            "description": "Frames generated for each submitted direction."
          },
          "displayName": {
            "type": "string",
            "minLength": 1,
            "description": "Friendly animation name."
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "description": "Motion description used for generation."
          },
          "objectId": {
            "type": "string",
            "minLength": 1,
            "description": "Animated object identifier."
          },
          "submissions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "direction": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Direction being animated."
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "queued",
                    "rate_limited"
                  ],
                  "description": "Submission status."
                },
                "jobId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Background job identifier when the direction was queued."
                },
                "animationId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Stored animation identifier when available."
                }
              },
              "additionalProperties": false,
              "required": [
                "direction",
                "status"
              ],
              "description": "One submitted object animation direction."
            },
            "description": "Per-direction background job submissions."
          },
          "enhancedPrompt": {
            "type": "string",
            "minLength": 1,
            "description": "Expanded motion description when prompt enhancement was requested."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          },
          "enhanceUsage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "animationGroupId",
          "mode",
          "frameCount",
          "description",
          "objectId",
          "submissions"
        ],
        "description": "Submitted PixelLab object animation jobs."
      },
      "followUpActions": [
        "pixellab.get_background_job",
        "pixellab.get_object"
      ]
    },
    {
      "id": "pixellab.start_convert_to_pixel_art_pro",
      "service": "pixellab",
      "name": "start_convert_to_pixel_art_pro",
      "description": "Start Pro conversion of a PNG or JPEG image to automatically scaled pixel art.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "image": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "The PNG or JPEG source image."
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Optional pixel-art style instructions."
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          }
        },
        "additionalProperties": false,
        "required": [
          "image"
        ],
        "description": "A PixelLab Pro image-to-pixel-art conversion request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The background job identifier used for polling."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "status"
        ],
        "description": "An accepted PixelLab background job."
      },
      "followUpActions": [
        "pixellab.get_background_job"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_convert_to_pixel_art_pro",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_create_character_4_directions",
      "service": "pixellab",
      "name": "start_create_character_4_directions",
      "description": "Start creation of a persisted PixelLab character with four directional rotations.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Character description and display prompt."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 128,
                "description": "Image width from 16 to 128 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 128,
                "description": "Image height from 16 to 128 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Character generation dimensions."
          },
          "textGuidanceScale": {
            "type": "number",
            "minimum": 1,
            "maximum": 20,
            "description": "How closely to follow the character description.",
            "default": 8
          },
          "outline": {
            "type": "string",
            "enum": [
              "single color black outline",
              "single color outline",
              "selective outline",
              "lineless"
            ],
            "description": "Pixel-art outline style."
          },
          "shading": {
            "type": "string",
            "enum": [
              "flat shading",
              "basic shading",
              "medium shading",
              "detailed shading",
              "highly detailed shading"
            ],
            "description": "Pixel-art shading style."
          },
          "detail": {
            "type": "string",
            "enum": [
              "low detail",
              "medium detail",
              "highly detailed"
            ],
            "description": "Pixel-art detail level."
          },
          "view": {
            "type": "string",
            "enum": [
              "low top-down",
              "high top-down",
              "side"
            ],
            "description": "Character camera view.",
            "default": "low top-down"
          },
          "isometric": {
            "type": "boolean",
            "description": "Whether to generate an isometric character.",
            "default": false
          },
          "colorImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional PNG or JPEG palette image."
          },
          "forceColors": {
            "type": "boolean",
            "description": "Whether to force colors from colorImage.",
            "default": false
          },
          "templateId": {
            "type": "string",
            "minLength": 1,
            "description": "Body template identifier, such as mannequin, bear, cat, dog, horse, or lion."
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          }
        },
        "additionalProperties": false,
        "required": [
          "description",
          "imageSize"
        ],
        "description": "A four-direction PixelLab character creation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "Background job identifier used for polling."
          },
          "characterId": {
            "type": "string",
            "minLength": 1,
            "description": "Character identifier available immediately."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "enhancedPrompt": {
            "type": "string",
            "minLength": 1,
            "description": "Enhanced character prompt when requested."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          },
          "enhanceUsage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "characterId",
          "status"
        ],
        "description": "An accepted PixelLab character creation job."
      },
      "followUpActions": [
        "pixellab.get_background_job",
        "pixellab.get_character"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_create_character_4_directions",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_create_character_8_directions",
      "service": "pixellab",
      "name": "start_create_character_8_directions",
      "description": "Start creation of a persisted PixelLab character with eight directional rotations.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Character description and display prompt."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 128,
                "description": "Image width from 16 to 128 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 128,
                "description": "Image height from 16 to 128 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Character generation dimensions."
          },
          "mode": {
            "type": "string",
            "enum": [
              "standard",
              "pro"
            ],
            "description": "Standard template generation or higher-quality Pro generation.",
            "default": "standard"
          },
          "textGuidanceScale": {
            "type": "number",
            "minimum": 1,
            "maximum": 20,
            "description": "How closely to follow the character description.",
            "default": 8
          },
          "outline": {
            "type": "string",
            "enum": [
              "single color black outline",
              "single color outline",
              "selective outline",
              "lineless"
            ],
            "description": "Pixel-art outline style."
          },
          "shading": {
            "type": "string",
            "enum": [
              "flat shading",
              "basic shading",
              "medium shading",
              "detailed shading",
              "highly detailed shading"
            ],
            "description": "Pixel-art shading style."
          },
          "detail": {
            "type": "string",
            "enum": [
              "low detail",
              "medium detail",
              "highly detailed"
            ],
            "description": "Pixel-art detail level."
          },
          "view": {
            "type": "string",
            "enum": [
              "low top-down",
              "high top-down",
              "side"
            ],
            "description": "Character camera view.",
            "default": "low top-down"
          },
          "isometric": {
            "type": "boolean",
            "description": "Whether to generate an isometric character.",
            "default": false
          },
          "colorImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional PNG or JPEG palette image."
          },
          "forceColors": {
            "type": "boolean",
            "description": "Whether to force colors from colorImage.",
            "default": false
          },
          "templateId": {
            "type": "string",
            "minLength": 1,
            "description": "Body template identifier, such as mannequin, bear, cat, dog, horse, or lion."
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          }
        },
        "additionalProperties": false,
        "required": [
          "description",
          "imageSize"
        ],
        "description": "An eight-direction PixelLab character creation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "Background job identifier used for polling."
          },
          "characterId": {
            "type": "string",
            "minLength": 1,
            "description": "Character identifier available immediately."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "enhancedPrompt": {
            "type": "string",
            "minLength": 1,
            "description": "Enhanced character prompt when requested."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          },
          "enhanceUsage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "characterId",
          "status"
        ],
        "description": "An accepted PixelLab character creation job."
      },
      "followUpActions": [
        "pixellab.get_background_job",
        "pixellab.get_character"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_create_character_8_directions",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_create_character_animation",
      "service": "pixellab",
      "name": "start_create_character_animation",
      "description": "Start one or more background jobs that add an animation to a persisted character.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "characterId": {
            "type": "string",
            "minLength": 1,
            "description": "Existing PixelLab character identifier."
          },
          "animationName": {
            "type": "string",
            "minLength": 1,
            "description": "Friendly name for the animation."
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Optional character description override."
          },
          "actionDescription": {
            "type": "string",
            "minLength": 1,
            "description": "Description of the custom action to animate."
          },
          "mode": {
            "type": "string",
            "enum": [
              "template",
              "v3",
              "pro"
            ],
            "description": "Animation mode."
          },
          "templateAnimationId": {
            "type": "string",
            "minLength": 1,
            "description": "Template animation identifier for template mode."
          },
          "frameCount": {
            "type": "integer",
            "minimum": 4,
            "maximum": 16,
            "description": "Number of v3 animation frames; must be even.",
            "default": 8
          },
          "customStartFrame": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional custom start frame for single-direction v3 mode."
          },
          "endFrame": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional interpolation target frame for single-direction v3 mode."
          },
          "keepFirstFrame": {
            "type": "boolean",
            "description": "Whether to store the reference as frame zero.",
            "default": true
          },
          "directions": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Directions to animate.",
            "minItems": 1
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          },
          "enhancePrompt": {
            "type": "boolean",
            "description": "Whether to enhance a v3 action prompt first.",
            "default": false
          }
        },
        "additionalProperties": false,
        "required": [
          "characterId"
        ],
        "description": "A PixelLab persisted character animation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Background job identifiers, one per direction."
          },
          "directions": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Directions being animated."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "enhancedPrompt": {
            "type": "string",
            "minLength": 1,
            "description": "Enhanced action description when requested."
          },
          "enhanceUsage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobIds",
          "directions",
          "status"
        ],
        "description": "Accepted PixelLab character animation jobs."
      },
      "followUpActions": [
        "pixellab.get_background_job",
        "pixellab.get_character"
      ]
    },
    {
      "id": "pixellab.start_create_character_pro",
      "service": "pixellab",
      "name": "start_create_character_pro",
      "description": "Start Pro creation of a persisted eight-direction PixelLab character.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Description of the character to generate."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 32,
                "maximum": 168,
                "description": "Image width from 32 to 168 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 32,
                "maximum": 168,
                "description": "Image height from 32 to 168 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Pro character frame dimensions."
          },
          "method": {
            "type": "string",
            "enum": [
              "create_with_style",
              "create_from_concept",
              "rotate_character"
            ],
            "description": "How PixelLab should use the supplied images.",
            "default": "create_with_style"
          },
          "view": {
            "type": "string",
            "enum": [
              "low top-down",
              "high top-down",
              "side"
            ],
            "description": "Character camera view.",
            "default": "low top-down"
          },
          "templateId": {
            "type": "string",
            "minLength": 1,
            "description": "Body template identifier."
          },
          "conceptImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional concept image, up to 1024 by 1024 pixels."
          },
          "referenceImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional style or character reference image."
          },
          "styleDescription": {
            "type": "string",
            "maxLength": 2000,
            "description": "Additional style guidance."
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to generate transparent frames.",
            "default": true
          }
        },
        "additionalProperties": false,
        "required": [
          "description",
          "imageSize"
        ],
        "description": "A PixelLab Pro character creation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "Background job identifier used for polling."
          },
          "characterId": {
            "type": "string",
            "minLength": 1,
            "description": "Character identifier available immediately."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "enhancedPrompt": {
            "type": "string",
            "minLength": 1,
            "description": "Enhanced character prompt when requested."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          },
          "enhanceUsage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "characterId",
          "status"
        ],
        "description": "An accepted PixelLab character creation job."
      },
      "followUpActions": [
        "pixellab.get_background_job",
        "pixellab.get_character"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_create_character_pro",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_create_character_state",
      "service": "pixellab",
      "name": "start_create_character_state",
      "description": "Start creation of an edited state for an existing persisted character.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "characterId": {
            "type": "string",
            "minLength": 1,
            "description": "Existing PixelLab character identifier."
          },
          "editDescription": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1000,
            "description": "Description of the new character state."
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to generate transparent frames.",
            "default": true
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          },
          "useColorPaletteFromReference": {
            "type": "boolean",
            "description": "Whether to preserve the source character palette.",
            "default": false
          }
        },
        "additionalProperties": false,
        "required": [
          "characterId",
          "editDescription"
        ],
        "description": "A PixelLab character state creation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "Background job identifier used for polling."
          },
          "characterId": {
            "type": "string",
            "minLength": 1,
            "description": "Character identifier available immediately."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "enhancedPrompt": {
            "type": "string",
            "minLength": 1,
            "description": "Enhanced character prompt when requested."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          },
          "enhanceUsage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "characterId",
          "status"
        ],
        "description": "An accepted PixelLab character creation job."
      },
      "followUpActions": [
        "pixellab.get_background_job",
        "pixellab.get_character"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_create_character_state",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_create_character_v3",
      "service": "pixellab",
      "name": "start_create_character_v3",
      "description": "Start v3 creation or rotation of a persisted eight-direction PixelLab character.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Character description and default display name."
          },
          "referenceImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional south-facing reference image, up to 256 by 256 pixels."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 32,
                "maximum": 256,
                "description": "Image width from 32 to 256 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 32,
                "maximum": 256,
                "description": "Image height from 32 to 256 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Character frame dimensions."
          },
          "view": {
            "type": "string",
            "enum": [
              "low top-down",
              "high top-down",
              "side"
            ],
            "description": "Character camera view.",
            "default": "low top-down"
          },
          "templateId": {
            "type": "string",
            "minLength": 1,
            "description": "Body template identifier."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Friendly character name."
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to generate transparent frames.",
            "default": true
          },
          "outline": {
            "type": "string",
            "minLength": 1,
            "description": "Outline guidance for from-scratch mode."
          },
          "detail": {
            "type": "string",
            "minLength": 1,
            "description": "Detail guidance for from-scratch mode."
          },
          "enhancePrompt": {
            "type": "boolean",
            "description": "Whether to enhance the prompt first.",
            "default": false
          }
        },
        "additionalProperties": false,
        "required": [
          "description"
        ],
        "description": "A PixelLab v3 character creation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "Background job identifier used for polling."
          },
          "characterId": {
            "type": "string",
            "minLength": 1,
            "description": "Character identifier available immediately."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "enhancedPrompt": {
            "type": "string",
            "minLength": 1,
            "description": "Enhanced character prompt when requested."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          },
          "enhanceUsage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "characterId",
          "status"
        ],
        "description": "An accepted PixelLab character creation job."
      },
      "followUpActions": [
        "pixellab.get_background_job",
        "pixellab.get_character"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_create_character_v3",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_create_object_1_direction",
      "service": "pixellab",
      "name": "start_create_object_1_direction",
      "description": "Start creation of a persisted one-direction PixelLab object.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Description of the object or object set to generate."
          },
          "size": {
            "type": "integer",
            "minimum": 32,
            "maximum": 256,
            "description": "Square output size. Smaller sizes can produce several candidates for review."
          },
          "view": {
            "type": "string",
            "enum": [
              "top-down",
              "sidescroller"
            ],
            "description": "Object camera view.",
            "default": "top-down"
          },
          "styleImages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "fileId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The transit file identifier returned by POST /api/files."
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Optional filename override to send to the provider."
                },
                "mimeType": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Optional MIME type override to send to the provider."
                }
              },
              "additionalProperties": false,
              "required": [
                "fileId"
              ],
              "description": "A PNG or JPEG style reference, up to 256 by 256 pixels."
            },
            "description": "PNG or JPEG style references. Their dimensions determine output size, so omit size when using them."
          },
          "itemDescriptions": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Descriptions for individual candidates in a multi-object result."
          }
        },
        "additionalProperties": false,
        "required": [
          "description"
        ],
        "description": "A one-direction PixelLab object creation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "Background job identifier used for polling."
          },
          "objectId": {
            "type": "string",
            "minLength": 1,
            "description": "Object identifier available immediately."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "candidateFrameCount": {
            "type": "integer",
            "minimum": 1,
            "description": "Number of candidate object frames being generated."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "objectId",
          "status",
          "candidateFrameCount"
        ],
        "description": "An accepted one-direction PixelLab object job."
      },
      "followUpActions": [
        "pixellab.get_background_job",
        "pixellab.get_object",
        "pixellab.select_object_frames"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_create_object_1_direction",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_create_object_8_directions",
      "service": "pixellab",
      "name": "start_create_object_8_directions",
      "description": "Start creation of a persisted PixelLab object with eight directional rotations.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Description of the object to generate."
          },
          "size": {
            "type": "integer",
            "minimum": 32,
            "maximum": 168,
            "description": "Square output size when no image reference is supplied."
          },
          "view": {
            "type": "string",
            "enum": [
              "low top-down",
              "high top-down",
              "side"
            ],
            "description": "Object camera view.",
            "default": "low top-down"
          },
          "referenceImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Exact object image to rotate into eight directions."
          },
          "styleImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Style image for a newly generated eight-direction object."
          }
        },
        "additionalProperties": false,
        "required": [
          "description"
        ],
        "description": "An eight-direction PixelLab object creation request. Supply at most one of size, referenceImage, or styleImage."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "Background job identifier used for polling."
          },
          "objectId": {
            "type": "string",
            "minLength": 1,
            "description": "Object identifier available immediately."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "objectId",
          "status"
        ],
        "description": "An accepted PixelLab object job."
      },
      "followUpActions": [
        "pixellab.get_background_job",
        "pixellab.get_object"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_create_object_8_directions",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_create_object_state",
      "service": "pixellab",
      "name": "start_create_object_state",
      "description": "Start creation of an edited state for an existing PixelLab object.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string",
            "minLength": 1,
            "description": "Existing PixelLab object identifier."
          },
          "editDescription": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1000,
            "description": "Description of the new object state."
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          }
        },
        "additionalProperties": false,
        "required": [
          "objectId",
          "editDescription"
        ],
        "description": "A PixelLab object state creation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "Background job identifier used for polling."
          },
          "objectId": {
            "type": "string",
            "minLength": 1,
            "description": "Object identifier available immediately."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "objectId",
          "status"
        ],
        "description": "An accepted PixelLab object job."
      },
      "followUpActions": [
        "pixellab.get_background_job",
        "pixellab.get_object"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_create_object_state",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_create_ui_asset",
      "service": "pixellab",
      "name": "start_create_ui_asset",
      "description": "Start creation of a saved PixelLab Pro UI panel asset.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Style description for the UI panel."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 192,
                "maximum": 688,
                "description": "Width from 192 to 688 pixels.",
                "default": 256
              },
              "height": {
                "type": "integer",
                "minimum": 192,
                "maximum": 688,
                "description": "Height from 192 to 688 pixels.",
                "default": 256
              }
            },
            "additionalProperties": false,
            "description": "UI panel dimensions."
          },
          "pieces": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Unique piece identifier."
                    },
                    "kind": {
                      "const": "rounded_rect",
                      "type": "string"
                    },
                    "label": {
                      "type": "string",
                      "description": "Optional piece label."
                    },
                    "x": {
                      "type": "number",
                      "description": "Left coordinate in the virtual canvas."
                    },
                    "y": {
                      "type": "number",
                      "description": "Top coordinate in the virtual canvas."
                    },
                    "w": {
                      "type": "number",
                      "description": "Rectangle width in the virtual canvas."
                    },
                    "h": {
                      "type": "number",
                      "description": "Rectangle height in the virtual canvas."
                    },
                    "radius": {
                      "type": "number",
                      "description": "Corner radius.",
                      "default": 0
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "kind",
                    "x",
                    "y",
                    "w",
                    "h"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Unique piece identifier."
                    },
                    "kind": {
                      "const": "circle",
                      "type": "string"
                    },
                    "label": {
                      "type": "string",
                      "description": "Optional piece label."
                    },
                    "x": {
                      "type": "number",
                      "description": "Center X coordinate in the virtual canvas."
                    },
                    "y": {
                      "type": "number",
                      "description": "Center Y coordinate in the virtual canvas."
                    },
                    "r": {
                      "type": "number",
                      "description": "Circle radius."
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "kind",
                    "x",
                    "y",
                    "r"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Unique piece identifier."
                    },
                    "kind": {
                      "const": "polygon",
                      "type": "string"
                    },
                    "label": {
                      "type": "string",
                      "description": "Optional piece label."
                    },
                    "x": {
                      "type": "number",
                      "description": "Center X coordinate in the virtual canvas."
                    },
                    "y": {
                      "type": "number",
                      "description": "Center Y coordinate in the virtual canvas."
                    },
                    "r": {
                      "type": "number",
                      "description": "Polygon radius."
                    },
                    "sides": {
                      "type": "integer",
                      "minimum": 3,
                      "description": "Number of polygon sides."
                    },
                    "phase": {
                      "type": "number",
                      "description": "Starting angle in radians.",
                      "default": 0
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "kind",
                    "x",
                    "y",
                    "r",
                    "sides"
                  ]
                }
              ],
              "description": "A rounded rectangle, circle, or regular polygon in the virtual UI canvas."
            },
            "description": "Custom shapes placed on the virtual UI canvas."
          },
          "elements": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "button",
                "icon_button",
                "toolbar",
                "tab",
                "panel",
                "window",
                "health_bar",
                "avatar",
                "triangle",
                "pentagon",
                "hexagon",
                "octagon"
              ],
              "description": "A supported UI element type."
            },
            "description": "Named UI elements to scaffold automatically."
          },
          "styleImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional PNG or JPEG style reference image."
          },
          "colorPalette": {
            "type": "string",
            "maxLength": 200,
            "description": "Optional palette specification."
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to remove the panel background.",
            "default": true
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Friendly name for the saved UI asset."
          },
          "projectId": {
            "type": "string",
            "minLength": 1,
            "description": "Optional PixelLab project identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "description"
        ],
        "description": "A PixelLab saved UI asset creation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "Background job identifier used for polling."
          },
          "uiAssetId": {
            "type": "string",
            "minLength": 1,
            "description": "UI asset identifier available immediately."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "uiAssetId",
          "status"
        ],
        "description": "An accepted PixelLab UI asset creation job."
      },
      "followUpActions": [
        "pixellab.get_background_job",
        "pixellab.get_ui_asset"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_create_ui_asset",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_edit_animation",
      "service": "pixellab",
      "name": "start_edit_animation",
      "description": "Start a consistent Pro text-guided edit across animation frames.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Edit instructions applied to every frame."
          },
          "frames": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "file": {
                  "type": "object",
                  "properties": {
                    "fileId": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The transit file identifier returned by POST /api/files."
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Optional filename override to send to the provider."
                    },
                    "mimeType": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Optional MIME type override to send to the provider."
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "fileId"
                  ],
                  "description": "The PNG or JPEG animation frame."
                },
                "width": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 512,
                  "description": "Frame width from 1 to 512 pixels."
                },
                "height": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 512,
                  "description": "Frame height from 1 to 512 pixels."
                }
              },
              "additionalProperties": false,
              "required": [
                "file",
                "width",
                "height"
              ],
              "description": "An animation frame with its source dimensions."
            },
            "description": "Animation frames to edit.",
            "minItems": 2,
            "maxItems": 16
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 256,
                "description": "Image width from 16 to 256 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 256,
                "description": "Image height from 16 to 256 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Animation output dimensions."
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to remove frame backgrounds.",
            "default": false
          }
        },
        "additionalProperties": false,
        "required": [
          "description",
          "frames",
          "imageSize"
        ],
        "description": "A PixelLab Pro animation edit request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The background job identifier used for polling."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "status"
        ],
        "description": "An accepted PixelLab background job."
      },
      "followUpActions": [
        "pixellab.get_background_job"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_edit_animation",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_edit_image_legacy",
      "service": "pixellab",
      "name": "start_edit_image_legacy",
      "description": "Start PixelLab's original text-guided image editing operation.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "image": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "The PNG or JPEG image to edit."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 400,
                "description": "Image width from 16 to 400 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 400,
                "description": "Image height from 16 to 400 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Image dimensions."
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500,
            "description": "Description of the edit to apply."
          },
          "width": {
            "type": "integer",
            "minimum": 16,
            "maximum": 400,
            "description": "Target canvas width from 16 to 400 pixels."
          },
          "height": {
            "type": "integer",
            "minimum": 16,
            "maximum": 400,
            "description": "Target canvas height from 16 to 400 pixels."
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to generate a transparent background.",
            "default": true
          },
          "textGuidanceScale": {
            "type": "number",
            "minimum": 1,
            "maximum": 10,
            "description": "How closely to follow the edit description.",
            "default": 8
          },
          "colorImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional color reference image."
          }
        },
        "additionalProperties": false,
        "required": [
          "image",
          "imageSize",
          "description",
          "width",
          "height"
        ],
        "description": "A PixelLab original image edit request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The background job identifier used for polling."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "status"
        ],
        "description": "An accepted PixelLab background job."
      },
      "followUpActions": [
        "pixellab.get_background_job"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_edit_image_legacy",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_edit_images",
      "service": "pixellab",
      "name": "start_edit_images",
      "description": "Start a consistent Pro edit across one or more pixel-art images.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "method": {
            "type": "string",
            "enum": [
              "edit_with_text",
              "edit_with_reference"
            ],
            "description": "Whether to guide the edit with text or a reference image.",
            "default": "edit_with_text"
          },
          "editImages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "file": {
                  "type": "object",
                  "properties": {
                    "fileId": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The transit file identifier returned by POST /api/files."
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Optional filename override to send to the provider."
                    },
                    "mimeType": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Optional MIME type override to send to the provider."
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "fileId"
                  ],
                  "description": "The PNG or JPEG image file."
                },
                "width": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 512,
                  "description": "Image width from 1 to 512 pixels."
                },
                "height": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 512,
                  "description": "Image height from 1 to 512 pixels."
                }
              },
              "additionalProperties": false,
              "required": [
                "file",
                "width",
                "height"
              ],
              "description": "A PNG or JPEG transit image up to 512 by 512 pixels."
            },
            "description": "Images to edit consistently.",
            "minItems": 1,
            "maxItems": 16
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 32,
                "maximum": 512,
                "description": "Image width from 32 to 512 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 32,
                "maximum": 512,
                "description": "Image height from 32 to 512 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Edited image output dimensions."
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Edit instructions required by edit_with_text."
          },
          "referenceImage": {
            "type": "object",
            "properties": {
              "file": {
                "type": "object",
                "properties": {
                  "fileId": {
                    "type": "string",
                    "minLength": 1,
                    "description": "The transit file identifier returned by POST /api/files."
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Optional filename override to send to the provider."
                  },
                  "mimeType": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Optional MIME type override to send to the provider."
                  }
                },
                "additionalProperties": false,
                "required": [
                  "fileId"
                ],
                "description": "The PNG or JPEG image file."
              },
              "width": {
                "type": "integer",
                "minimum": 1,
                "maximum": 512,
                "description": "Image width from 1 to 512 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 1,
                "maximum": 512,
                "description": "Image height from 1 to 512 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "file",
              "width",
              "height"
            ],
            "description": "A PNG or JPEG transit image up to 512 by 512 pixels."
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to remove edited image backgrounds.",
            "default": false
          }
        },
        "additionalProperties": false,
        "required": [
          "editImages",
          "imageSize"
        ],
        "description": "A PixelLab Pro multi-image edit request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The background job identifier used for polling."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "status"
        ],
        "description": "An accepted PixelLab background job."
      },
      "followUpActions": [
        "pixellab.get_background_job"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_edit_images",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_generate_image",
      "service": "pixellab",
      "name": "start_generate_image",
      "description": "Start Pro text-to-pixel-art generation with optional subject and style reference images.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Description of the image to generate."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 792,
                "description": "Image width from 16 to 792 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 688,
                "description": "Image height from 16 to 688 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Generated image dimensions."
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to remove the image background.",
            "default": true
          },
          "referenceImages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "file": {
                  "type": "object",
                  "properties": {
                    "fileId": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The transit file identifier returned by POST /api/files."
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Optional filename override to send to the provider."
                    },
                    "mimeType": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Optional MIME type override to send to the provider."
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "fileId"
                  ],
                  "description": "The PNG or JPEG reference image."
                },
                "width": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Reference image width in pixels."
                },
                "height": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Reference image height in pixels."
                },
                "usageDescription": {
                  "type": "string",
                  "maxLength": 500,
                  "description": "Optional instructions for how to use this reference."
                }
              },
              "additionalProperties": false,
              "required": [
                "file",
                "width",
                "height"
              ],
              "description": "A subject reference image and instructions for how PixelLab should use it."
            },
            "description": "Subject reference images, up to four.",
            "minItems": 1,
            "maxItems": 4
          },
          "styleImage": {
            "type": "object",
            "properties": {
              "file": {
                "type": "object",
                "properties": {
                  "fileId": {
                    "type": "string",
                    "minLength": 1,
                    "description": "The transit file identifier returned by POST /api/files."
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Optional filename override to send to the provider."
                  },
                  "mimeType": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Optional MIME type override to send to the provider."
                  }
                },
                "additionalProperties": false,
                "required": [
                  "fileId"
                ],
                "description": "The PNG or JPEG reference image."
              },
              "width": {
                "type": "integer",
                "minimum": 1,
                "description": "Reference image width in pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 1,
                "description": "Reference image height in pixels."
              },
              "usageDescription": {
                "type": "string",
                "maxLength": 500,
                "description": "Optional instructions for how to use this reference."
              }
            },
            "additionalProperties": false,
            "required": [
              "file",
              "width",
              "height"
            ],
            "description": "A subject reference image and instructions for how PixelLab should use it."
          },
          "styleOptions": {
            "type": "object",
            "properties": {
              "colorPalette": {
                "type": "boolean",
                "description": "Whether to copy the color palette.",
                "default": true
              },
              "outline": {
                "type": "boolean",
                "description": "Whether to copy the outline style.",
                "default": true
              },
              "detail": {
                "type": "boolean",
                "description": "Whether to copy the detail level.",
                "default": true
              },
              "shading": {
                "type": "boolean",
                "description": "Whether to copy the shading style.",
                "default": true
              }
            },
            "additionalProperties": false,
            "description": "Features to copy from the style image."
          }
        },
        "additionalProperties": false,
        "required": [
          "description",
          "imageSize"
        ],
        "description": "A PixelLab Pro image generation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The background job identifier used for polling."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "status"
        ],
        "description": "An accepted PixelLab background job."
      },
      "followUpActions": [
        "pixellab.get_background_job"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_generate_image",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_generate_rotations",
      "service": "pixellab",
      "name": "start_generate_rotations",
      "description": "Start generation of eight directional rotations from one reference character frame.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "firstFrame": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "The PNG or JPEG reference frame, up to 256 by 256 pixels."
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to remove generated frame backgrounds."
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation. Use 0 for random.",
            "default": 0
          }
        },
        "additionalProperties": false,
        "required": [
          "firstFrame"
        ],
        "description": "A PixelLab eight-rotation generation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The background job identifier used for polling."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "status"
        ],
        "description": "An accepted PixelLab background job."
      },
      "followUpActions": [
        "pixellab.get_background_job"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_generate_rotations",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_generate_rotations_pro",
      "service": "pixellab",
      "name": "start_generate_rotations_pro",
      "description": "Start Pro generation of eight directional rotations using a reference, style, or concept image.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "method": {
            "type": "string",
            "enum": [
              "rotate_character",
              "create_with_style",
              "create_from_concept"
            ],
            "description": "Rotation generation method.",
            "default": "rotate_character"
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 32,
                "maximum": 168,
                "description": "Image width from 32 to 168 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 32,
                "maximum": 168,
                "description": "Image height from 32 to 168 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Rotation frame dimensions."
          },
          "referenceImage": {
            "type": "object",
            "properties": {
              "file": {
                "type": "object",
                "properties": {
                  "fileId": {
                    "type": "string",
                    "minLength": 1,
                    "description": "The transit file identifier returned by POST /api/files."
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Optional filename override to send to the provider."
                  },
                  "mimeType": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Optional MIME type override to send to the provider."
                  }
                },
                "additionalProperties": false,
                "required": [
                  "fileId"
                ],
                "description": "The PNG or JPEG reference image."
              },
              "width": {
                "type": "integer",
                "minimum": 1,
                "maximum": 1024,
                "description": "Reference width from 1 to 1024 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 1,
                "maximum": 1024,
                "description": "Reference height from 1 to 1024 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "file",
              "width",
              "height"
            ],
            "description": "A rotation reference image with its dimensions."
          },
          "conceptImage": {
            "type": "object",
            "properties": {
              "file": {
                "type": "object",
                "properties": {
                  "fileId": {
                    "type": "string",
                    "minLength": 1,
                    "description": "The transit file identifier returned by POST /api/files."
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Optional filename override to send to the provider."
                  },
                  "mimeType": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Optional MIME type override to send to the provider."
                  }
                },
                "additionalProperties": false,
                "required": [
                  "fileId"
                ],
                "description": "The PNG or JPEG reference image."
              },
              "width": {
                "type": "integer",
                "minimum": 1,
                "maximum": 1024,
                "description": "Reference width from 1 to 1024 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 1,
                "maximum": 1024,
                "description": "Reference height from 1 to 1024 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "file",
              "width",
              "height"
            ],
            "description": "A rotation reference image with its dimensions."
          },
          "description": {
            "type": "string",
            "maxLength": 2000,
            "description": "Description of the character or object."
          },
          "styleDescription": {
            "type": "string",
            "maxLength": 500,
            "description": "Description of the desired visual style."
          },
          "view": {
            "type": "string",
            "enum": [
              "low top-down",
              "high top-down",
              "side"
            ],
            "description": "Camera perspective.",
            "default": "low top-down"
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to remove image backgrounds.",
            "default": true
          }
        },
        "additionalProperties": false,
        "required": [
          "imageSize"
        ],
        "description": "A PixelLab Pro eight-rotation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The background job identifier used for polling."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "status"
        ],
        "description": "An accepted PixelLab background job."
      },
      "followUpActions": [
        "pixellab.get_background_job"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_generate_rotations_pro",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_generate_ui",
      "service": "pixellab",
      "name": "start_generate_ui",
      "description": "Start Pro generation of a pixel-art game UI element.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Description of the UI element to generate."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 792,
                "description": "Image width from 16 to 792 pixels.",
                "default": 256
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 688,
                "description": "Image height from 16 to 688 pixels.",
                "default": 256
              }
            },
            "additionalProperties": false,
            "description": "Generated UI image dimensions."
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to remove the UI element background.",
            "default": true
          },
          "conceptImage": {
            "type": "object",
            "properties": {
              "file": {
                "type": "object",
                "properties": {
                  "fileId": {
                    "type": "string",
                    "minLength": 1,
                    "description": "The transit file identifier returned by POST /api/files."
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Optional filename override to send to the provider."
                  },
                  "mimeType": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Optional MIME type override to send to the provider."
                  }
                },
                "additionalProperties": false,
                "required": [
                  "fileId"
                ],
                "description": "The PNG or JPEG image file."
              },
              "width": {
                "type": "integer",
                "minimum": 1,
                "description": "Image width in pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 1,
                "description": "Image height in pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "file",
              "width",
              "height"
            ],
            "description": "A PNG or JPEG transit image with its pixel dimensions."
          },
          "colorPalette": {
            "type": "string",
            "maxLength": 200,
            "description": "Optional color palette specification."
          }
        },
        "additionalProperties": false,
        "required": [
          "description"
        ],
        "description": "A PixelLab Pro UI generation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The background job identifier used for polling."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "status"
        ],
        "description": "An accepted PixelLab background job."
      },
      "followUpActions": [
        "pixellab.get_background_job"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_generate_ui",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_generate_with_style",
      "service": "pixellab",
      "name": "start_generate_with_style",
      "description": "Start Pro pixel-art generation that matches one to four supplied style images.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "styleImages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "file": {
                  "type": "object",
                  "properties": {
                    "fileId": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The transit file identifier returned by POST /api/files."
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Optional filename override to send to the provider."
                    },
                    "mimeType": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Optional MIME type override to send to the provider."
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "fileId"
                  ],
                  "description": "The PNG or JPEG image file."
                },
                "width": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 512,
                  "description": "Image width from 1 to 512 pixels."
                },
                "height": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 512,
                  "description": "Image height from 1 to 512 pixels."
                }
              },
              "additionalProperties": false,
              "required": [
                "file",
                "width",
                "height"
              ],
              "description": "A PNG or JPEG transit image up to 512 by 512 pixels."
            },
            "description": "Style reference images to match.",
            "minItems": 1,
            "maxItems": 4
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Description of what to generate."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 512,
                "description": "Image width from 16 to 512 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 512,
                "description": "Image height from 16 to 512 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Generated image dimensions."
          },
          "styleDescription": {
            "type": "string",
            "maxLength": 500,
            "description": "Optional description of the style to match."
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to remove the image background.",
            "default": true
          }
        },
        "additionalProperties": false,
        "required": [
          "styleImages",
          "description",
          "imageSize"
        ],
        "description": "A PixelLab style-matched generation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The background job identifier used for polling."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "status"
        ],
        "description": "An accepted PixelLab background job."
      },
      "followUpActions": [
        "pixellab.get_background_job"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_generate_with_style",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_inpaint",
      "service": "pixellab",
      "name": "start_inpaint",
      "description": "Start Pro mask-guided inpainting of a pixel-art image.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Description of what to generate in the masked area."
          },
          "image": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "The PNG or JPEG image to edit."
          },
          "maskImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "A PNG or JPEG mask where white is generated and black is preserved."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 32,
                "maximum": 512,
                "description": "Image width from 32 to 512 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 32,
                "maximum": 512,
                "description": "Image height from 32 to 512 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Inpainting image dimensions."
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to remove the generated background.",
            "default": false
          },
          "cropToMask": {
            "type": "boolean",
            "description": "Whether to crop generated content to the mask boundary.",
            "default": true
          }
        },
        "additionalProperties": false,
        "required": [
          "description",
          "image",
          "maskImage",
          "imageSize"
        ],
        "description": "A PixelLab Pro inpainting request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The background job identifier used for polling."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "status"
        ],
        "description": "An accepted PixelLab background job."
      },
      "followUpActions": [
        "pixellab.get_background_job"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_inpaint",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_interpolation",
      "service": "pixellab",
      "name": "start_interpolation",
      "description": "Start Pro interpolation between two pixel-art keyframes.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "startImage": {
            "type": "object",
            "properties": {
              "file": {
                "type": "object",
                "properties": {
                  "fileId": {
                    "type": "string",
                    "minLength": 1,
                    "description": "The transit file identifier returned by POST /api/files."
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Optional filename override to send to the provider."
                  },
                  "mimeType": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Optional MIME type override to send to the provider."
                  }
                },
                "additionalProperties": false,
                "required": [
                  "fileId"
                ],
                "description": "The PNG or JPEG animation frame."
              },
              "width": {
                "type": "integer",
                "minimum": 1,
                "maximum": 512,
                "description": "Frame width from 1 to 512 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 1,
                "maximum": 512,
                "description": "Frame height from 1 to 512 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "file",
              "width",
              "height"
            ],
            "description": "An animation frame with its source dimensions."
          },
          "endImage": {
            "type": "object",
            "properties": {
              "file": {
                "type": "object",
                "properties": {
                  "fileId": {
                    "type": "string",
                    "minLength": 1,
                    "description": "The transit file identifier returned by POST /api/files."
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Optional filename override to send to the provider."
                  },
                  "mimeType": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Optional MIME type override to send to the provider."
                  }
                },
                "additionalProperties": false,
                "required": [
                  "fileId"
                ],
                "description": "The PNG or JPEG animation frame."
              },
              "width": {
                "type": "integer",
                "minimum": 1,
                "maximum": 512,
                "description": "Frame width from 1 to 512 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 1,
                "maximum": 512,
                "description": "Frame height from 1 to 512 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "file",
              "width",
              "height"
            ],
            "description": "An animation frame with its source dimensions."
          },
          "action": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500,
            "description": "Description of the transition between keyframes."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 32,
                "maximum": 256,
                "description": "Image width from 32 to 256 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 32,
                "maximum": 256,
                "description": "Image height from 32 to 256 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Animation output dimensions."
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to remove frame backgrounds.",
            "default": true
          }
        },
        "additionalProperties": false,
        "required": [
          "startImage",
          "endImage",
          "action",
          "imageSize"
        ],
        "description": "A PixelLab Pro keyframe interpolation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The background job identifier used for polling."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "status"
        ],
        "description": "An accepted PixelLab background job."
      },
      "followUpActions": [
        "pixellab.get_background_job"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_interpolation",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_pixflux_background",
      "service": "pixellab",
      "name": "start_pixflux_background",
      "description": "Start asynchronous Pixflux pixel-art image generation.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "description": "Description of the image to generate."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 16,
                "maximum": 400,
                "description": "Image width from 16 to 400 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 16,
                "maximum": 400,
                "description": "Image height from 16 to 400 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Pixflux output dimensions."
          },
          "textGuidanceScale": {
            "type": "number",
            "minimum": 1,
            "maximum": 20,
            "description": "How closely to follow the text description.",
            "default": 8
          },
          "outline": {
            "type": "string",
            "enum": [
              "single color black outline",
              "single color outline",
              "selective outline",
              "lineless"
            ],
            "description": "Pixel-art outline style."
          },
          "shading": {
            "type": "string",
            "enum": [
              "flat shading",
              "basic shading",
              "medium shading",
              "detailed shading",
              "highly detailed shading"
            ],
            "description": "Pixel-art shading style."
          },
          "detail": {
            "type": "string",
            "enum": [
              "low detail",
              "medium detail",
              "highly detailed"
            ],
            "description": "Pixel-art detail level."
          },
          "view": {
            "type": "string",
            "enum": [
              "side",
              "low top-down",
              "high top-down"
            ],
            "description": "Camera view angle."
          },
          "direction": {
            "type": "string",
            "enum": [
              "north",
              "north-east",
              "east",
              "south-east",
              "south",
              "south-west",
              "west",
              "north-west"
            ],
            "description": "Direction the subject faces."
          },
          "isometric": {
            "type": "boolean",
            "description": "Whether to generate an isometric view.",
            "default": false
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to generate a transparent background.",
            "default": false
          },
          "backgroundRemovalTask": {
            "type": "string",
            "enum": [
              "remove_simple_background",
              "remove_complex_background"
            ],
            "description": "Background removal mode. Complex mode is slower but handles detailed edges better.",
            "default": "remove_simple_background"
          },
          "initImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional PNG or JPEG initial image."
          },
          "initImageStrength": {
            "type": "integer",
            "minimum": 1,
            "maximum": 999,
            "description": "Strength of the initial image influence.",
            "default": 300
          },
          "colorImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "Optional PNG or JPEG palette image."
          },
          "seed": {
            "type": "integer",
            "description": "Seed for reproducible generation."
          }
        },
        "additionalProperties": false,
        "required": [
          "description",
          "imageSize"
        ],
        "description": "An asynchronous PixelLab Pixflux image request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The background job identifier used for polling."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "status"
        ],
        "description": "An accepted PixelLab background job."
      },
      "followUpActions": [
        "pixellab.get_background_job"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_pixflux_background",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_portrait_character_conversion",
      "service": "pixellab",
      "name": "start_portrait_character_conversion",
      "description": "Start Pro conversion between a bust portrait and a full-body character sprite.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "direction": {
            "type": "string",
            "enum": [
              "portrait_to_character",
              "character_to_portrait"
            ],
            "description": "Direction of the conversion.",
            "default": "portrait_to_character"
          },
          "image": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "The PNG or JPEG portrait or character image."
          },
          "view": {
            "type": "string",
            "enum": [
              "low top-down",
              "high top-down",
              "side"
            ],
            "description": "Character camera view.",
            "default": "low top-down"
          },
          "resultSize": {
            "oneOf": [
              {
                "const": 16,
                "type": "number"
              },
              {
                "const": 32,
                "type": "number"
              },
              {
                "const": 48,
                "type": "number"
              },
              {
                "const": 64,
                "type": "number"
              },
              {
                "const": 128,
                "type": "number"
              },
              {
                "const": 160,
                "type": "number"
              }
            ],
            "description": "Output sprite size in pixels.",
            "default": 64
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          }
        },
        "additionalProperties": false,
        "required": [
          "image"
        ],
        "description": "A PixelLab portrait and character conversion request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The background job identifier used for polling."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "status"
        ],
        "description": "An accepted PixelLab background job."
      },
      "followUpActions": [
        "pixellab.get_background_job"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_portrait_character_conversion",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_text_animation",
      "service": "pixellab",
      "name": "start_text_animation",
      "description": "Start an asynchronous PixelLab animation from a first frame and a text description of the character motion.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "firstFrame": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "The PNG or JPEG first frame to animate, up to 256 by 256 pixels."
          },
          "action": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1000,
            "description": "The motion to animate, such as walking, jumping, or attacking."
          },
          "lastFrame": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "An optional PNG or JPEG final frame used to guide interpolation, up to 256 by 256 pixels."
          },
          "frameCount": {
            "type": "integer",
            "minimum": 4,
            "maximum": 16,
            "description": "Number of frames to generate. The value must be even.",
            "default": 8
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation. Use 0 for a random seed.",
            "default": 0
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether PixelLab should remove the background from generated frames."
          },
          "enhancePrompt": {
            "type": "boolean",
            "description": "Whether PixelLab should expand the action into a richer motion description.",
            "default": false
          }
        },
        "additionalProperties": false,
        "required": [
          "firstFrame",
          "action"
        ],
        "description": "A PixelLab text-guided animation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The background job identifier used for polling."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "enhancedPrompt": {
            "type": "string",
            "minLength": 1,
            "description": "The expanded motion description when prompt enhancement was requested."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          },
          "enhanceUsage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "status"
        ],
        "description": "The accepted PixelLab background animation job."
      },
      "followUpActions": [
        "pixellab.get_background_job"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_text_animation",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_text_animation_pro",
      "service": "pixellab",
      "name": "start_text_animation_pro",
      "description": "Start Pro text-guided animation from a reference character image.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "referenceImage": {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The transit file identifier returned by POST /api/files."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Optional filename override to send to the provider."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "Optional MIME type override to send to the provider."
              }
            },
            "additionalProperties": false,
            "required": [
              "fileId"
            ],
            "description": "The PNG or JPEG character reference image."
          },
          "referenceImageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 32,
                "maximum": 256,
                "description": "Image width from 32 to 256 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 32,
                "maximum": 256,
                "description": "Image height from 32 to 256 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Animation output dimensions."
          },
          "action": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500,
            "description": "Description of the action to animate."
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 32,
                "maximum": 256,
                "description": "Image width from 32 to 256 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 32,
                "maximum": 256,
                "description": "Image height from 32 to 256 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Animation output dimensions."
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to remove frame backgrounds.",
            "default": true
          },
          "view": {
            "type": "string",
            "enum": [
              "none",
              "low top-down",
              "high top-down",
              "side"
            ],
            "description": "Character camera view.",
            "default": "none"
          },
          "direction": {
            "type": "string",
            "enum": [
              "none",
              "south",
              "east",
              "west",
              "north",
              "south-east",
              "south-west",
              "north-east",
              "north-west"
            ],
            "description": "Direction the character faces.",
            "default": "none"
          }
        },
        "additionalProperties": false,
        "required": [
          "referenceImage",
          "referenceImageSize",
          "action",
          "imageSize"
        ],
        "description": "A PixelLab Pro text animation request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The background job identifier used for polling."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "status"
        ],
        "description": "An accepted PixelLab background job."
      },
      "followUpActions": [
        "pixellab.get_background_job"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_text_animation_pro",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.start_transfer_outfit",
      "service": "pixellab",
      "name": "start_transfer_outfit",
      "description": "Start Pro transfer of an outfit or appearance across animation frames.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "referenceImage": {
            "type": "object",
            "properties": {
              "file": {
                "type": "object",
                "properties": {
                  "fileId": {
                    "type": "string",
                    "minLength": 1,
                    "description": "The transit file identifier returned by POST /api/files."
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Optional filename override to send to the provider."
                  },
                  "mimeType": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Optional MIME type override to send to the provider."
                  }
                },
                "additionalProperties": false,
                "required": [
                  "fileId"
                ],
                "description": "The PNG or JPEG animation frame."
              },
              "width": {
                "type": "integer",
                "minimum": 1,
                "maximum": 512,
                "description": "Frame width from 1 to 512 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 1,
                "maximum": 512,
                "description": "Frame height from 1 to 512 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "file",
              "width",
              "height"
            ],
            "description": "An animation frame with its source dimensions."
          },
          "frames": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "file": {
                  "type": "object",
                  "properties": {
                    "fileId": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The transit file identifier returned by POST /api/files."
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Optional filename override to send to the provider."
                    },
                    "mimeType": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Optional MIME type override to send to the provider."
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "fileId"
                  ],
                  "description": "The PNG or JPEG animation frame."
                },
                "width": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 512,
                  "description": "Frame width from 1 to 512 pixels."
                },
                "height": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 512,
                  "description": "Frame height from 1 to 512 pixels."
                }
              },
              "additionalProperties": false,
              "required": [
                "file",
                "width",
                "height"
              ],
              "description": "An animation frame with its source dimensions."
            },
            "description": "Animation frames that should receive the outfit.",
            "minItems": 2,
            "maxItems": 16
          },
          "imageSize": {
            "type": "object",
            "properties": {
              "width": {
                "type": "integer",
                "minimum": 32,
                "maximum": 256,
                "description": "Image width from 32 to 256 pixels."
              },
              "height": {
                "type": "integer",
                "minimum": 32,
                "maximum": 256,
                "description": "Image height from 32 to 256 pixels."
              }
            },
            "additionalProperties": false,
            "required": [
              "width",
              "height"
            ],
            "description": "Animation output dimensions."
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "description": "Seed for reproducible generation."
          },
          "noBackground": {
            "type": "boolean",
            "description": "Whether to remove frame backgrounds.",
            "default": false
          },
          "additionalInstructions": {
            "type": "string",
            "maxLength": 2000,
            "description": "Optional view, direction, or transfer guidance."
          }
        },
        "additionalProperties": false,
        "required": [
          "referenceImage",
          "frames",
          "imageSize"
        ],
        "description": "A PixelLab Pro outfit transfer request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The background job identifier used for polling."
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "processing",
              "completed",
              "failed"
            ],
            "description": "The current PixelLab background job status."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "status"
        ],
        "description": "An accepted PixelLab background job."
      },
      "followUpActions": [
        "pixellab.get_background_job"
      ],
      "asyncLifecycle": {
        "startActionId": "pixellab.start_transfer_outfit",
        "statusActionId": "pixellab.get_background_job"
      }
    },
    {
      "id": "pixellab.update_character_tags",
      "service": "pixellab",
      "name": "update_character_tags",
      "description": "Replace the user-defined tags on a persisted PixelLab character.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "characterId": {
            "type": "string",
            "minLength": 1,
            "description": "The PixelLab character identifier."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Replacement character tags, up to 20.",
            "maxItems": 20
          }
        },
        "additionalProperties": false,
        "required": [
          "characterId",
          "tags"
        ],
        "description": "A PixelLab character tag update."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Updated character tags."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "tags"
        ],
        "description": "Updated PixelLab character tags."
      }
    },
    {
      "id": "pixellab.update_object_tags",
      "service": "pixellab",
      "name": "update_object_tags",
      "description": "Replace the user-defined tags on a persisted PixelLab object.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string",
            "minLength": 1,
            "description": "The PixelLab object identifier."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Replacement object tags, up to 20.",
            "maxItems": 20
          }
        },
        "additionalProperties": false,
        "required": [
          "objectId",
          "tags"
        ],
        "description": "A PixelLab object tag update."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Updated object tags."
          },
          "usage": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "usd",
                  "generations"
                ],
                "description": "The unit used for this charge."
              },
              "usd": {
                "type": "number",
                "description": "The amount charged in US dollars."
              },
              "generations": {
                "type": "number",
                "description": "The number of subscription generations charged."
              }
            },
            "additionalProperties": false,
            "required": [
              "type"
            ],
            "description": "PixelLab usage charged for the operation."
          }
        },
        "additionalProperties": false,
        "required": [
          "tags"
        ],
        "description": "Updated PixelLab object tags."
      }
    }
  ]
}
