{
  "openapi" : "3.0.3",
  "info" : {
    "title" : "Vectorizer.AI API",
    "version" : "1.0.0",
    "description" : "OpenAPI 3.0 specification for the Vectorizer.AI image vectorization API. Authenticate with HTTP Basic auth, using your API Id as the username and your API Secret as the password.",
    "termsOfService" : "https://vectorizer.ai/policies/terms",
    "contact" : {
      "name" : "Vectorizer.AI Support",
      "url" : "https://vectorizer.ai/support",
      "email" : "support@vectorizer.ai"
    },
    "license" : {
      "name" : "Proprietary",
      "url" : "https://vectorizer.ai/policies/terms"
    }
  },
  "servers" : [ {
    "url" : "https://api.vectorizer.ai/api/v1",
    "description" : "Vectorizer.AI API v1 endpoint"
  } ],
  "tags" : [ {
    "name" : "vectorization",
    "description" : "Vectorize images, download retained results, and delete retained images."
  }, {
    "name" : "account",
    "description" : "Account status and API credit information."
  } ],
  "paths" : {
    "/vectorize" : {
      "post" : {
        "summary" : "Vectorize an image",
        "description" : "Submit exactly one image source as multipart form data: image, image.url, image.base64, or image.token. The response body is the generated SVG, EPS, PDF, DXF, or PNG file selected by output.file_format. Clients should allow an idle timeout of at least 180 seconds.",
        "operationId" : "postVectorize",
        "tags" : [ "vectorization" ],
        "x-group-parameters" : true,
        "requestBody" : {
          "required" : true,
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "description" : "Multipart form fields for vectorizing an image. Field names containing dots are literal form field names.",
                "additionalProperties" : false,
                "properties" : {
                  "image" : {
                    "type" : "string",
                    "format" : "binary",
                    "description" : "*Optional*\n\nBinary file upload of the image to vectorize. Accepts .bmp, .gif, .jpeg, .png, or .tiff files."
                  },
                  "image.url" : {
                    "type" : "string",
                    "description" : "*Optional*\n\nURL to fetch the input image from for vectorization.\n\n**Min:** 0",
                    "format" : "uri"
                  },
                  "image.base64" : {
                    "type" : "string",
                    "description" : "*Optional*\n\nBase64-encoded string of the input image. Maximum size 1 megabyte.\n\n**Min:** 0",
                    "format" : "byte"
                  },
                  "image.token" : {
                    "type" : "string",
                    "description" : "*Optional*\n\nAn Image Token returned from an earlier vectorization call with policy.retention_days > 0."
                  },
                  "mode" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "production", "preview", "test", "test_preview" ],
                    "default" : "production",
                    "description" : "Mode of operation, useful during integration work.\n\n**Allowed values:** [production, preview, test, test_preview].\n\n**Default:** production."
                  },
                  "input.max_pixels" : {
                    "type" : "integer",
                    "format" : "int32",
                    "default" : 2097252,
                    "minimum" : 100,
                    "maximum" : 3145828,
                    "description" : "Maximum input image size (width × height in pixels) before resizing.\n\n**Min:** 100  **Max:** 3145828\n\n**Default:** 2097252."
                  },
                  "policy.retention_days" : {
                    "type" : "integer",
                    "format" : "int32",
                    "default" : 0,
                    "minimum" : 0,
                    "maximum" : 30,
                    "description" : "Number of days to retain the uploaded image and its results for re-use.\n\n**Min:** 0  **Max:** 30\n\n**Default:** 0."
                  },
                  "processing.max_colors" : {
                    "type" : "integer",
                    "format" : "int32",
                    "default" : 0,
                    "minimum" : 0,
                    "maximum" : 256,
                    "description" : "Maximum number of colors allowed in the vectorization result. 0 means unlimited.\n\n**Min:** 0  **Max:** 256\n\n**Default:** 0."
                  },
                  "processing.shapes.min_area_px" : {
                    "type" : "number",
                    "format" : "float",
                    "default" : 0.125,
                    "minimum" : 0,
                    "maximum" : 100,
                    "description" : "Minimum shape area (in pixels) to keep in the result; smaller shapes are discarded.\n\n**Min:** 0.0  **Max:** 100.0\n\n**Default:** 0.125."
                  },
                  "processing.palette" : {
                    "type" : "string",
                    "description" : "Palette remapping and color control, using '[color][-> remapped][~ tolerance];' format.\n\n**Example:** #FF0000;#00FF00;#0000FF;."
                  },
                  "processing.color_profile.input" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "ignore", "preserve" ],
                    "default" : "ignore",
                    "description" : "How to handle ICC profiles embedded in input images.\n\n**Allowed values:** [ignore, preserve].\n\n**Default:** ignore."
                  },
                  "processing.color_profile.output" : {
                    "type" : "string",
                    "default" : "ignore",
                    "description" : "ICC profile behavior for output files: preserve, ignore.\n\n**Default:** ignore."
                  },
                  "processing.parameterizedShapes.ellipse.general.enabled" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Enable detection and parameterization of this parameterized shape type.\n\n**Default:** true."
                  },
                  "processing.parameterizedShapes.ellipse.circle.enabled" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Enable detection and parameterization of this parameterized shape type.\n\n**Default:** true."
                  },
                  "processing.parameterizedShapes.triangle.general.enabled" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Enable detection and parameterization of this parameterized shape type.\n\n**Default:** true."
                  },
                  "processing.parameterizedShapes.triangle.isosceles.enabled" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Enable detection and parameterization of this parameterized shape type.\n\n**Default:** true."
                  },
                  "processing.parameterizedShapes.quadrilateral.general.enabled" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Enable detection and parameterization of this parameterized shape type.\n\n**Default:** true."
                  },
                  "processing.parameterizedShapes.quadrilateral.rectangle.enabled" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Enable detection and parameterization of this parameterized shape type.\n\n**Default:** true."
                  },
                  "processing.parameterizedShapes.quadrilateral.bullet.enabled" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Enable detection and parameterization of this parameterized shape type.\n\n**Default:** true."
                  },
                  "processing.parameterizedShapes.star.N3.enabled" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Enable detection and parameterization of this parameterized shape type.\n\n**Default:** true."
                  },
                  "processing.parameterizedShapes.star.N4.enabled" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Enable detection and parameterization of this parameterized shape type.\n\n**Default:** true."
                  },
                  "processing.parameterizedShapes.star.N5.enabled" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Enable detection and parameterization of this parameterized shape type.\n\n**Default:** true."
                  },
                  "processing.parameterizedShapes.star.N6.enabled" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Enable detection and parameterization of this parameterized shape type.\n\n**Default:** true."
                  },
                  "output.file_format" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "svg", "eps", "pdf", "dxf", "png" ],
                    "default" : "svg",
                    "description" : "Output file format to generate.\n\n**Allowed values:** [svg, eps, pdf, dxf, png].\n\n**Default:** svg."
                  },
                  "output.shape_stacking" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "cutouts", "stacked" ],
                    "default" : "cutouts",
                    "description" : "Whether shapes are cut out of each other or stacked atop each other.\n\n**Allowed values:** [cutouts, stacked].\n\n**Default:** cutouts."
                  },
                  "output.group_by" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "none", "color", "parent", "layer" ],
                    "default" : "none",
                    "description" : "Grouping of shapes in output.\n\n**Allowed values:** [none, color, parent, layer].\n\n**Default:** none."
                  },
                  "output.draw_style" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "fill_shapes", "stroke_shapes", "stroke_edges" ],
                    "default" : "fill_shapes",
                    "description" : "How shapes are rendered.\n\n**Allowed values:** [fill_shapes, stroke_shapes, stroke_edges].\n\n**Default:** fill_shapes."
                  },
                  "output.strokes.stroke_width" : {
                    "type" : "number",
                    "format" : "float",
                    "default" : 1,
                    "minimum" : 0,
                    "maximum" : 5,
                    "description" : "Width of stroke for shape outlines (when enabled).\n\n**Min:** 0.0  **Max:** 5.0\n\n**Default:** 1.0."
                  },
                  "output.strokes.non_scaling_stroke" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Use non-scaling strokes when drawing shape outlines.\n\n**Default:** true."
                  },
                  "output.strokes.use_override_color" : {
                    "type" : "boolean",
                    "default" : false,
                    "description" : "Override shape color with a specific color.\n\n**Default:** false."
                  },
                  "output.strokes.override_color" : {
                    "type" : "string",
                    "default" : "#000000",
                    "description" : "Color value to override shape stroke color if enabled. Must be in '#RRGGBB' or 'rgba(r,g,b,a)' format.\n\n**Default:** #000000.\n\n**Example:** #FF00FF."
                  },
                  "output.gap_filler.enabled" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Enable filling small visual gaps caused by vector rendering artifacts.\n\n**Default:** true."
                  },
                  "output.gap_filler.non_scaling_stroke" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Use non-scaling strokes for gap filling.\n\n**Default:** true."
                  },
                  "output.gap_filler.clip" : {
                    "type" : "boolean",
                    "default" : false,
                    "description" : "Clip gap filler strokes to shape bounds when stacking shapes.\n\n**Default:** false."
                  },
                  "output.gap_filler.stroke_width" : {
                    "type" : "number",
                    "format" : "float",
                    "default" : 2,
                    "minimum" : 0,
                    "maximum" : 5,
                    "description" : "Width of the gap filler strokes (in output units).\n\n**Min:** 0.0  **Max:** 5.0\n\n**Default:** 2.0."
                  },
                  "output.parameterized_shapes.flatten" : {
                    "type" : "boolean",
                    "default" : false,
                    "description" : "Whether to flatten detected circles, rectangles, and stars to curves.\n\n**Default:** false."
                  },
                  "output.curves.line_fit_tolerance" : {
                    "type" : "number",
                    "format" : "float",
                    "default" : 0.1,
                    "minimum" : 0.001,
                    "maximum" : 1,
                    "description" : "Maximum allowed error when approximating curves with line segments.\n\n**Min:** 0.001  **Max:** 1.0\n\n**Default:** 0.1."
                  },
                  "output.curves.allowed.quadratic_bezier" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Allow quadratic Bézier curves in the output.\n\n**Default:** true."
                  },
                  "output.curves.allowed.cubic_bezier" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Allow cubic Bézier curves in the output.\n\n**Default:** true."
                  },
                  "output.curves.allowed.circular_arc" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Allow circular arcs in the output.\n\n**Default:** true."
                  },
                  "output.curves.allowed.elliptical_arc" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Allow elliptical arcs in the output.\n\n**Default:** true."
                  },
                  "output.svg.version" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "svg_1_0", "svg_1_1", "svg_tiny_1_2" ],
                    "default" : "svg_1_1",
                    "description" : "SVG version to declare in the SVG output.\n\n**Allowed values:** [svg_1_0, svg_1_1, svg_tiny_1_2].\n\n**Default:** svg_1_1."
                  },
                  "output.svg.fixed_size" : {
                    "type" : "boolean",
                    "default" : false,
                    "description" : "Whether to fix the SVG dimensions in the output file.\n\n**Default:** false."
                  },
                  "output.svg.adobe_compatibility_mode" : {
                    "type" : "boolean",
                    "default" : false,
                    "description" : "Enable Illustrator compatibility by disabling unsupported SVG features.\n\n**Default:** false."
                  },
                  "output.pdf.version" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "PDF_1_4" ],
                    "default" : "PDF_1_4",
                    "description" : "PDF version to generate for PDF output.\n\n**Allowed values:** [PDF_1_4].\n\n**Default:** PDF_1_4."
                  },
                  "output.pdf.compression_mode" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "None", "Deflate" ],
                    "default" : "Deflate",
                    "description" : "Compression method to apply to PDF output streams.\n\n**Allowed values:** [None, Deflate].\n\n**Default:** Deflate."
                  },
                  "output.eps.version" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "PS_3_0_EPSF_3_0" ],
                    "default" : "PS_3_0_EPSF_3_0",
                    "description" : "EPS format version for EPS output.\n\n**Allowed values:** [PS_3_0_EPSF_3_0].\n\n**Default:** PS_3_0_EPSF_3_0."
                  },
                  "output.dxf.compatibility_level" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "lines_only", "lines_and_arcs", "lines_arcs_and_splines" ],
                    "default" : "lines_and_arcs",
                    "description" : "Level of primitive support for DXF output.\n\n**Allowed values:** [lines_only, lines_and_arcs, lines_arcs_and_splines].\n\n**Default:** lines_and_arcs."
                  },
                  "output.bitmap.anti_aliasing_mode" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "anti_aliased", "aliased" ],
                    "default" : "anti_aliased",
                    "description" : "Anti-aliasing mode for bitmap (PNG) output.\n\n**Allowed values:** [anti_aliased, aliased].\n\n**Default:** anti_aliased."
                  },
                  "output.size.scale" : {
                    "type" : "number",
                    "format" : "float",
                    "minimum" : 0,
                    "maximum" : 1000,
                    "description" : "*Optional*\n\nOverall uniform scaling factor for the output image.\n\n**Min:** 0.0  **Max:** 1000.0\n\n**Example:** 1.0."
                  },
                  "output.size.width" : {
                    "type" : "number",
                    "format" : "float",
                    "minimum" : 0,
                    "maximum" : 1000000000000,
                    "description" : "*Optional*\n\nOutput width, in the selected unit (see output.size.unit).\n\n**Min:** 0.0\n\n**Example:** 100.0."
                  },
                  "output.size.height" : {
                    "type" : "number",
                    "format" : "float",
                    "minimum" : 0,
                    "maximum" : 1000000000000,
                    "description" : "*Optional*\n\nOutput height, in the selected unit (see output.size.unit).\n\n**Min:** 0.0\n\n**Example:** 100.0."
                  },
                  "output.size.unit" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "none", "px", "pt", "in", "cm", "mm" ],
                    "default" : "none",
                    "description" : "Measurement unit for output dimensions.\n\n**Allowed values:** [none, px, pt, in, cm, mm].\n\n**Default:** none."
                  },
                  "output.size.aspect_ratio" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "preserve_inset", "preserve_overflow", "stretch" ],
                    "default" : "preserve_inset",
                    "description" : "How to preserve or stretch aspect ratio.\n\n**Allowed values:** [preserve_inset, preserve_overflow, stretch].\n\n**Default:** preserve_inset."
                  },
                  "output.size.align_x" : {
                    "type" : "number",
                    "format" : "float",
                    "default" : 0.5,
                    "minimum" : 0,
                    "maximum" : 1,
                    "description" : "Horizontal alignment (0.0 = left, 0.5 = center, 1.0 = right) when aspect ratio is preserved.\n\n**Min:** 0.0  **Max:** 1.0\n\n**Default:** 0.5."
                  },
                  "output.size.align_y" : {
                    "type" : "number",
                    "format" : "float",
                    "default" : 0.5,
                    "minimum" : 0,
                    "maximum" : 1,
                    "description" : "Vertical alignment (0.0 = top, 0.5 = center, 1.0 = bottom) when aspect ratio is preserved.\n\n**Min:** 0.0  **Max:** 1.0\n\n**Default:** 0.5."
                  },
                  "output.size.input_dpi" : {
                    "type" : "number",
                    "format" : "float",
                    "minimum" : 1,
                    "maximum" : 1000000,
                    "description" : "*Optional*\n\nOverride the detected DPI of the input image for size computations.\n\n**Min:** 1.0  **Max:** 1000000.0\n\n**Example:** 300.0."
                  },
                  "output.size.output_dpi" : {
                    "type" : "number",
                    "format" : "float",
                    "minimum" : 1,
                    "maximum" : 1000000,
                    "description" : "*Optional*\n\nDPI setting for the output image.\n\n**Min:** 1.0  **Max:** 1000000.0\n\n**Example:** 300.0."
                  }
                },
                "oneOf" : [ {
                  "required" : [ "image" ]
                }, {
                  "required" : [ "image.url" ]
                }, {
                  "required" : [ "image.base64" ]
                }, {
                  "required" : [ "image.token" ]
                } ]
              },
              "encoding" : {
                "image" : {
                  "contentType" : "image/png, image/jpeg, image/webp, image/gif, image/bmp, image/tiff"
                }
              }
            }
          },
          "description" : "Multipart form body. Dotted property names are literal form field names."
        },
        "responses" : {
          "200" : {
            "description" : "The vectorized image file.",
            "content" : {
              "image/svg+xml" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                }
              },
              "application/postscript" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                }
              },
              "application/pdf" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                }
              },
              "application/dxf" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                }
              },
              "image/png" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                }
              }
            },
            "headers" : {
              "Content-Disposition" : {
                "description" : "Suggested filename for the generated result.",
                "schema" : {
                  "type" : "string"
                }
              },
              "Content-Encoding" : {
                "description" : "May be gzip for SVG, EPS, or DXF responses when the request allows gzip encoding.",
                "schema" : {
                  "type" : "string",
                  "enum" : [ "gzip" ]
                }
              },
              "X-Image-Token" : {
                "description" : "Returned by vectorize when policy.retention_days is greater than 0.",
                "schema" : {
                  "type" : "string"
                }
              },
              "X-Credits-Charged" : {
                "description" : "Credits charged for the request. This is 0 for test requests.",
                "schema" : {
                  "type" : "number",
                  "format" : "double"
                }
              },
              "X-Credits-Calculated" : {
                "description" : "Returned for test requests to show the credits that would have been charged for the equivalent non-test request.",
                "schema" : {
                  "type" : "number",
                  "format" : "double"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, image input, URL fetch, or Image Token.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            }
          },
          "401" : {
            "description" : "Missing or invalid API credentials.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            },
            "headers" : {
              "WWW-Authenticate" : {
                "description" : "HTTP Basic authentication challenge returned with 401 responses.",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "402" : {
            "description" : "The account does not have an API subscription, is past due, or is out of credits.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            }
          },
          "413" : {
            "description" : "The uploaded image, fetched image, or requested PNG output is too large.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            }
          },
          "429" : {
            "description" : "Rate limit exceeded. Back off before retrying.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            },
            "headers" : {
              "Retry-After" : {
                "description" : "Number of seconds to wait before retrying, when provided.",
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected internal error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            }
          },
          "503" : {
            "description" : "Temporary overload or internal processing timeout. Retry later.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            },
            "headers" : {
              "Retry-After" : {
                "description" : "Number of seconds to wait before retrying, when provided.",
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              }
            }
          }
        }
      }
    },
    "/download" : {
      "post" : {
        "summary" : "Download a retained result",
        "description" : "Download a production result from a retained Image Token, optionally changing output.file_format and other output options. Include receipt when downloading additional formats after upgrading a preview result.",
        "operationId" : "postDownload",
        "tags" : [ "vectorization" ],
        "x-group-parameters" : true,
        "requestBody" : {
          "required" : true,
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "description" : "Multipart form fields for downloading a retained result. The image.token field is required.",
                "additionalProperties" : false,
                "properties" : {
                  "image.token" : {
                    "type" : "string",
                    "description" : "Image Token returned from a vectorize request with policy.retention_days > 0."
                  },
                  "receipt" : {
                    "type" : "string",
                    "description" : "*Optional*\n\nReceipt returned in the X-Receipt response header when upgrading a preview result to production. Include it when downloading additional formats from that upgraded preview.\n\n**Min:** 0"
                  },
                  "output.file_format" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "svg", "eps", "pdf", "dxf", "png" ],
                    "default" : "svg",
                    "description" : "Output file format to generate.\n\n**Allowed values:** [svg, eps, pdf, dxf, png].\n\n**Default:** svg."
                  },
                  "output.shape_stacking" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "cutouts", "stacked" ],
                    "default" : "cutouts",
                    "description" : "Whether shapes are cut out of each other or stacked atop each other.\n\n**Allowed values:** [cutouts, stacked].\n\n**Default:** cutouts."
                  },
                  "output.group_by" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "none", "color", "parent", "layer" ],
                    "default" : "none",
                    "description" : "Grouping of shapes in output.\n\n**Allowed values:** [none, color, parent, layer].\n\n**Default:** none."
                  },
                  "output.draw_style" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "fill_shapes", "stroke_shapes", "stroke_edges" ],
                    "default" : "fill_shapes",
                    "description" : "How shapes are rendered.\n\n**Allowed values:** [fill_shapes, stroke_shapes, stroke_edges].\n\n**Default:** fill_shapes."
                  },
                  "output.strokes.stroke_width" : {
                    "type" : "number",
                    "format" : "float",
                    "default" : 1,
                    "minimum" : 0,
                    "maximum" : 5,
                    "description" : "Width of stroke for shape outlines (when enabled).\n\n**Min:** 0.0  **Max:** 5.0\n\n**Default:** 1.0."
                  },
                  "output.strokes.non_scaling_stroke" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Use non-scaling strokes when drawing shape outlines.\n\n**Default:** true."
                  },
                  "output.strokes.use_override_color" : {
                    "type" : "boolean",
                    "default" : false,
                    "description" : "Override shape color with a specific color.\n\n**Default:** false."
                  },
                  "output.strokes.override_color" : {
                    "type" : "string",
                    "default" : "#000000",
                    "description" : "Color value to override shape stroke color if enabled. Must be in '#RRGGBB' or 'rgba(r,g,b,a)' format.\n\n**Default:** #000000.\n\n**Example:** #FF00FF."
                  },
                  "output.gap_filler.enabled" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Enable filling small visual gaps caused by vector rendering artifacts.\n\n**Default:** true."
                  },
                  "output.gap_filler.non_scaling_stroke" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Use non-scaling strokes for gap filling.\n\n**Default:** true."
                  },
                  "output.gap_filler.clip" : {
                    "type" : "boolean",
                    "default" : false,
                    "description" : "Clip gap filler strokes to shape bounds when stacking shapes.\n\n**Default:** false."
                  },
                  "output.gap_filler.stroke_width" : {
                    "type" : "number",
                    "format" : "float",
                    "default" : 2,
                    "minimum" : 0,
                    "maximum" : 5,
                    "description" : "Width of the gap filler strokes (in output units).\n\n**Min:** 0.0  **Max:** 5.0\n\n**Default:** 2.0."
                  },
                  "output.parameterized_shapes.flatten" : {
                    "type" : "boolean",
                    "default" : false,
                    "description" : "Whether to flatten detected circles, rectangles, and stars to curves.\n\n**Default:** false."
                  },
                  "output.curves.line_fit_tolerance" : {
                    "type" : "number",
                    "format" : "float",
                    "default" : 0.1,
                    "minimum" : 0.001,
                    "maximum" : 1,
                    "description" : "Maximum allowed error when approximating curves with line segments.\n\n**Min:** 0.001  **Max:** 1.0\n\n**Default:** 0.1."
                  },
                  "output.curves.allowed.quadratic_bezier" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Allow quadratic Bézier curves in the output.\n\n**Default:** true."
                  },
                  "output.curves.allowed.cubic_bezier" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Allow cubic Bézier curves in the output.\n\n**Default:** true."
                  },
                  "output.curves.allowed.circular_arc" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Allow circular arcs in the output.\n\n**Default:** true."
                  },
                  "output.curves.allowed.elliptical_arc" : {
                    "type" : "boolean",
                    "default" : true,
                    "description" : "Allow elliptical arcs in the output.\n\n**Default:** true."
                  },
                  "output.svg.version" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "svg_1_0", "svg_1_1", "svg_tiny_1_2" ],
                    "default" : "svg_1_1",
                    "description" : "SVG version to declare in the SVG output.\n\n**Allowed values:** [svg_1_0, svg_1_1, svg_tiny_1_2].\n\n**Default:** svg_1_1."
                  },
                  "output.svg.fixed_size" : {
                    "type" : "boolean",
                    "default" : false,
                    "description" : "Whether to fix the SVG dimensions in the output file.\n\n**Default:** false."
                  },
                  "output.svg.adobe_compatibility_mode" : {
                    "type" : "boolean",
                    "default" : false,
                    "description" : "Enable Illustrator compatibility by disabling unsupported SVG features.\n\n**Default:** false."
                  },
                  "output.pdf.version" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "PDF_1_4" ],
                    "default" : "PDF_1_4",
                    "description" : "PDF version to generate for PDF output.\n\n**Allowed values:** [PDF_1_4].\n\n**Default:** PDF_1_4."
                  },
                  "output.pdf.compression_mode" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "None", "Deflate" ],
                    "default" : "Deflate",
                    "description" : "Compression method to apply to PDF output streams.\n\n**Allowed values:** [None, Deflate].\n\n**Default:** Deflate."
                  },
                  "output.eps.version" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "PS_3_0_EPSF_3_0" ],
                    "default" : "PS_3_0_EPSF_3_0",
                    "description" : "EPS format version for EPS output.\n\n**Allowed values:** [PS_3_0_EPSF_3_0].\n\n**Default:** PS_3_0_EPSF_3_0."
                  },
                  "output.dxf.compatibility_level" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "lines_only", "lines_and_arcs", "lines_arcs_and_splines" ],
                    "default" : "lines_and_arcs",
                    "description" : "Level of primitive support for DXF output.\n\n**Allowed values:** [lines_only, lines_and_arcs, lines_arcs_and_splines].\n\n**Default:** lines_and_arcs."
                  },
                  "output.bitmap.anti_aliasing_mode" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "anti_aliased", "aliased" ],
                    "default" : "anti_aliased",
                    "description" : "Anti-aliasing mode for bitmap (PNG) output.\n\n**Allowed values:** [anti_aliased, aliased].\n\n**Default:** anti_aliased."
                  },
                  "output.size.scale" : {
                    "type" : "number",
                    "format" : "float",
                    "minimum" : 0,
                    "maximum" : 1000,
                    "description" : "*Optional*\n\nOverall uniform scaling factor for the output image.\n\n**Min:** 0.0  **Max:** 1000.0\n\n**Example:** 1.0."
                  },
                  "output.size.width" : {
                    "type" : "number",
                    "format" : "float",
                    "minimum" : 0,
                    "maximum" : 1000000000000,
                    "description" : "*Optional*\n\nOutput width, in the selected unit (see output.size.unit).\n\n**Min:** 0.0\n\n**Example:** 100.0."
                  },
                  "output.size.height" : {
                    "type" : "number",
                    "format" : "float",
                    "minimum" : 0,
                    "maximum" : 1000000000000,
                    "description" : "*Optional*\n\nOutput height, in the selected unit (see output.size.unit).\n\n**Min:** 0.0\n\n**Example:** 100.0."
                  },
                  "output.size.unit" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "none", "px", "pt", "in", "cm", "mm" ],
                    "default" : "none",
                    "description" : "Measurement unit for output dimensions.\n\n**Allowed values:** [none, px, pt, in, cm, mm].\n\n**Default:** none."
                  },
                  "output.size.aspect_ratio" : {
                    "type" : "string",
                    "format" : "string",
                    "enum" : [ "preserve_inset", "preserve_overflow", "stretch" ],
                    "default" : "preserve_inset",
                    "description" : "How to preserve or stretch aspect ratio.\n\n**Allowed values:** [preserve_inset, preserve_overflow, stretch].\n\n**Default:** preserve_inset."
                  },
                  "output.size.align_x" : {
                    "type" : "number",
                    "format" : "float",
                    "default" : 0.5,
                    "minimum" : 0,
                    "maximum" : 1,
                    "description" : "Horizontal alignment (0.0 = left, 0.5 = center, 1.0 = right) when aspect ratio is preserved.\n\n**Min:** 0.0  **Max:** 1.0\n\n**Default:** 0.5."
                  },
                  "output.size.align_y" : {
                    "type" : "number",
                    "format" : "float",
                    "default" : 0.5,
                    "minimum" : 0,
                    "maximum" : 1,
                    "description" : "Vertical alignment (0.0 = top, 0.5 = center, 1.0 = bottom) when aspect ratio is preserved.\n\n**Min:** 0.0  **Max:** 1.0\n\n**Default:** 0.5."
                  },
                  "output.size.input_dpi" : {
                    "type" : "number",
                    "format" : "float",
                    "minimum" : 1,
                    "maximum" : 1000000,
                    "description" : "*Optional*\n\nOverride the detected DPI of the input image for size computations.\n\n**Min:** 1.0  **Max:** 1000000.0\n\n**Example:** 300.0."
                  },
                  "output.size.output_dpi" : {
                    "type" : "number",
                    "format" : "float",
                    "minimum" : 1,
                    "maximum" : 1000000,
                    "description" : "*Optional*\n\nDPI setting for the output image.\n\n**Min:** 1.0  **Max:** 1000000.0\n\n**Example:** 300.0."
                  }
                },
                "required" : [ "image.token" ]
              }
            }
          },
          "description" : "Multipart form body. The image.token field is required."
        },
        "responses" : {
          "200" : {
            "description" : "The requested output file.",
            "content" : {
              "image/svg+xml" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                }
              },
              "application/postscript" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                }
              },
              "application/pdf" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                }
              },
              "application/dxf" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                }
              },
              "image/png" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                }
              }
            },
            "headers" : {
              "Content-Disposition" : {
                "description" : "Suggested filename for the generated result.",
                "schema" : {
                  "type" : "string"
                }
              },
              "Content-Encoding" : {
                "description" : "May be gzip for SVG, EPS, or DXF responses when the request allows gzip encoding.",
                "schema" : {
                  "type" : "string",
                  "enum" : [ "gzip" ]
                }
              },
              "X-Receipt" : {
                "description" : "Returned when a preview Image Token is upgraded to a production result; use it for discounted additional format downloads.",
                "schema" : {
                  "type" : "string"
                }
              },
              "X-Credits-Charged" : {
                "description" : "Credits charged for the request. This is 0 for test requests.",
                "schema" : {
                  "type" : "number",
                  "format" : "double"
                }
              },
              "X-Credits-Calculated" : {
                "description" : "Returned for test requests to show the credits that would have been charged for the equivalent non-test request.",
                "schema" : {
                  "type" : "number",
                  "format" : "double"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, image input, URL fetch, or Image Token.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            }
          },
          "401" : {
            "description" : "Missing or invalid API credentials.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            },
            "headers" : {
              "WWW-Authenticate" : {
                "description" : "HTTP Basic authentication challenge returned with 401 responses.",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "402" : {
            "description" : "The account does not have an API subscription, is past due, or is out of credits.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            }
          },
          "413" : {
            "description" : "The uploaded image, fetched image, or requested PNG output is too large.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            }
          },
          "429" : {
            "description" : "Rate limit exceeded. Back off before retrying.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            },
            "headers" : {
              "Retry-After" : {
                "description" : "Number of seconds to wait before retrying, when provided.",
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected internal error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            }
          },
          "503" : {
            "description" : "Temporary overload or internal processing timeout. Retry later.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            },
            "headers" : {
              "Retry-After" : {
                "description" : "Number of seconds to wait before retrying, when provided.",
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              }
            }
          }
        }
      }
    },
    "/delete" : {
      "post" : {
        "summary" : "Delete a retained image",
        "description" : "Delete a retained image and result before its retention period expires.",
        "operationId" : "postDelete",
        "tags" : [ "vectorization" ],
        "x-group-parameters" : true,
        "requestBody" : {
          "required" : true,
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "description" : "Multipart form fields for deleting a retained image and result.",
                "additionalProperties" : false,
                "properties" : {
                  "image.token" : {
                    "type" : "string",
                    "description" : "Image Token to delete before its retention period expires."
                  }
                },
                "required" : [ "image.token" ]
              }
            }
          },
          "description" : "Multipart form body. The image.token field is required."
        },
        "responses" : {
          "200" : {
            "description" : "The Image Token was deleted.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "success" : {
                      "type" : "boolean",
                      "description" : "Always true when the Image Token has been deleted."
                    }
                  },
                  "required" : [ "success" ]
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, image input, URL fetch, or Image Token.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            }
          },
          "401" : {
            "description" : "Missing or invalid API credentials.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            },
            "headers" : {
              "WWW-Authenticate" : {
                "description" : "HTTP Basic authentication challenge returned with 401 responses.",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "402" : {
            "description" : "The account does not have an API subscription, is past due, or is out of credits.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            }
          },
          "413" : {
            "description" : "The uploaded image, fetched image, or requested PNG output is too large.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            }
          },
          "429" : {
            "description" : "Rate limit exceeded. Back off before retrying.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            },
            "headers" : {
              "Retry-After" : {
                "description" : "Number of seconds to wait before retrying, when provided.",
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected internal error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            }
          },
          "503" : {
            "description" : "Temporary overload or internal processing timeout. Retry later.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            },
            "headers" : {
              "Retry-After" : {
                "description" : "Number of seconds to wait before retrying, when provided.",
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              }
            }
          }
        }
      }
    },
    "/account" : {
      "get" : {
        "summary" : "Get account status",
        "description" : "Fetch the subscription state and remaining API credits for the authenticated account.",
        "operationId" : "getAccountStatus",
        "tags" : [ "account" ],
        "x-group-parameters" : true,
        "responses" : {
          "200" : {
            "description" : "Account status for the authenticated API credentials.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "subscriptionPlan" : {
                      "type" : "string",
                      "description" : "The subscription plan currently associated with the account, or 'none'."
                    },
                    "subscriptionState" : {
                      "type" : "string",
                      "description" : "The current subscription state: 'active', 'pastDue', or 'ended'."
                    },
                    "credits" : {
                      "type" : "number",
                      "format" : "double",
                      "description" : "The number of API credits left. Can be fractional, so parse as a double-precision number."
                    }
                  },
                  "required" : [ "subscriptionPlan", "subscriptionState", "credits" ]
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, image input, URL fetch, or Image Token.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            }
          },
          "401" : {
            "description" : "Missing or invalid API credentials.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            },
            "headers" : {
              "WWW-Authenticate" : {
                "description" : "HTTP Basic authentication challenge returned with 401 responses.",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "402" : {
            "description" : "The account does not have an API subscription, is past due, or is out of credits.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            }
          },
          "413" : {
            "description" : "The uploaded image, fetched image, or requested PNG output is too large.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            }
          },
          "429" : {
            "description" : "Rate limit exceeded. Back off before retrying.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            },
            "headers" : {
              "Retry-After" : {
                "description" : "Number of seconds to wait before retrying, when provided.",
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected internal error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            }
          },
          "503" : {
            "description" : "Temporary overload or internal processing timeout. Retry later.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "error" : {
                      "type" : "object",
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "code" : {
                          "type" : "integer",
                          "format" : "int32"
                        },
                        "message" : {
                          "type" : "string"
                        }
                      },
                      "required" : [ "status", "code", "message" ]
                    },
                    "dataReceived" : {
                      "description" : "Echo of the submitted request data when available. File uploads are summarized instead of echoed.",
                      "type" : "object",
                      "nullable" : true,
                      "additionalProperties" : true
                    }
                  },
                  "required" : [ "error", "dataReceived" ]
                }
              }
            },
            "headers" : {
              "Retry-After" : {
                "description" : "Number of seconds to wait before retrying, when provided.",
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              }
            }
          }
        }
      }
    }
  },
  "components" : {
    "schemas" : { },
    "securitySchemes" : {
      "basicAuth" : {
        "type" : "http",
        "scheme" : "basic"
      }
    }
  },
  "security" : [ {
    "basicAuth" : [ ]
  } ]
}