saasify-to-openapi
Version:
Converts Saasify deployments to OpenAPI specs.
8,106 lines • 290 kB
Markdown
# Snapshot report for `test.js`
The actual snapshot is saved in `test.js.snap`.
Generated by [AVA](https://ava.li).
## hello-world
> Snapshot 1
{
components: {
schemas: {},
},
info: {
title: 'hello-world',
version: 'v0.1.0',
},
openapi: '3.0.2',
paths: {
'/1/call/transitive-bullshit/hello-world@6ed513d4': {
get: {
parameters: [
{
in: 'query',
name: 'name',
schema: {
default: 'World',
type: 'string',
},
},
],
responses: {
200: {
content: {
'application/json': {
schema: {
type: 'string',
},
},
},
description: 'Success',
},
},
},
},
},
}
## hello-world-get
> Snapshot 1
{
components: {
schemas: {},
},
info: {
title: 'hello-world-get',
version: 'v1',
},
openapi: '3.0.2',
paths: {
'/': {
get: {
parameters: [
{
in: 'query',
name: 'name',
schema: {
default: 'World',
type: 'string',
},
},
],
responses: {
200: {
content: {
'application/json': {
schema: {
type: 'string',
},
},
},
description: 'Success',
},
},
},
},
},
}
## hello-world-required-query-param
> Snapshot 1
{
components: {
schemas: {},
},
info: {
title: 'hello-world-required-query-param',
version: 'v1',
},
openapi: '3.0.2',
paths: {
'/': {
get: {
parameters: [
{
in: 'query',
name: 'name',
required: true,
schema: {
type: 'string',
},
},
],
responses: {
200: {
content: {
'application/json': {
schema: {
type: 'string',
},
},
},
description: 'Success',
},
},
},
},
},
}
## imagemin
> Snapshot 1
{
components: {
schemas: {},
},
info: {
title: 'imagemin',
version: 'v1',
},
openapi: '3.0.2',
paths: {
'/': {
post: {
requestBody: {
content: {
'application/json': {
schema: {
additionalProperties: false,
properties: {
image: {
type: 'string',
},
},
required: [
'image',
],
type: 'object',
},
},
},
required: true,
},
responses: {
200: {
content: {
'application/json': {
schema: {
type: 'string',
},
},
},
description: 'Success',
},
},
},
},
},
}
## puppeteer-example
> Snapshot 1
{
components: {
schemas: {
ImageFormat: {
enum: [
'jpg',
'png',
],
type: 'string',
},
},
},
info: {
title: 'puppeteer',
version: 'v1',
},
openapi: '3.0.2',
paths: {
'/': {
post: {
requestBody: {
content: {
'application/json': {
schema: {
additionalProperties: false,
properties: {
type: {
default: 'png',
enum: [
'jpg',
'png',
],
type: 'string',
},
url: {
type: 'string',
},
},
required: [
'url',
],
type: 'object',
},
},
},
required: true,
},
responses: {
200: {
content: {
'application/json': {
schema: {
type: 'string',
},
},
},
description: 'Success',
},
},
},
},
},
}
## sharp
> Snapshot 1
{
components: {
schemas: {
Create: {
additionalProperties: false,
properties: {
background: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
description: 'Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.',
},
channels: {
description: 'Number of bands e.g. 3 for RGB, 4 for RGBA',
enum: [
3,
4,
],
type: 'number',
},
height: {
description: 'Number of pixels high.',
type: 'number',
},
width: {
description: 'Number of pixels wide.',
type: 'number',
},
},
required: [
'background',
'channels',
'height',
'width',
],
type: 'object',
},
ExtendOptions: {
additionalProperties: false,
properties: {
background: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
description: 'Background colour, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1})',
},
bottom: {
type: 'number',
},
left: {
type: 'number',
},
right: {
type: 'number',
},
top: {
type: 'number',
},
},
type: 'object',
},
FlattenOptions: {
additionalProperties: false,
properties: {
background: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
description: 'background colour, parsed by the color module, defaults to black. (optional, default {r:0,g:0,b:0})',
},
},
type: 'object',
},
ImageOperation: {
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationBandBool: {
additionalProperties: false,
properties: {
boolOp: {
type: 'string',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'boolOp',
'op',
],
type: 'object',
},
ImageOperationBlur: {
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
sigma: {
type: 'number',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationBoolean: {
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
operand: {
type: 'string',
},
operator: {
type: 'string',
},
options: {
additionalProperties: false,
properties: {
raw: {
additionalProperties: false,
properties: {
channels: {
enum: [
1,
2,
3,
4,
],
type: 'number',
},
height: {
type: 'number',
},
width: {
type: 'number',
},
},
required: [
'channels',
'height',
'width',
],
type: 'object',
},
},
required: [
'raw',
],
type: 'object',
},
},
required: [
'op',
'operand',
'operator',
],
type: 'object',
},
ImageOperationComposite: {
additionalProperties: false,
properties: {
images: {
items: {
additionalProperties: false,
properties: {
blend: {
description: 'how to blend this image with the image below. (optional, default `\'over\'`)',
enum: [
'add',
'atop',
'clear',
'colour-burn',
'colour-dodge',
'darken',
'dest',
'dest-atop',
'dest-in',
'dest-out',
'dest-over',
'difference',
'exclusion',
'hard-light',
'in',
'lighten',
'multiply',
'out',
'over',
'overlay',
'saturate',
'screen',
'soft-light',
'source',
'xor',
],
type: 'string',
},
density: {
description: 'number representing the DPI for vector overlay image. (optional, default 72)',
type: 'number',
},
gravity: {
description: 'gravity at which to place the overlay. (optional, default \'centre\')',
type: 'string',
},
input: {
anyOf: [
{
description: `Raw data is stored in instances of the Buffer class.␊
A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap. A Buffer cannot be resized.␊
Valid string encodings: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex'`,
items: {
type: 'number',
},
type: 'array',
},
{
additionalProperties: false,
properties: {
create: {
additionalProperties: false,
properties: {
background: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
description: 'Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.',
},
channels: {
description: 'Number of bands e.g. 3 for RGB, 4 for RGBA',
enum: [
3,
4,
],
type: 'number',
},
height: {
description: 'Number of pixels high.',
type: 'number',
},
width: {
description: 'Number of pixels wide.',
type: 'number',
},
},
required: [
'background',
'channels',
'height',
'width',
],
type: 'object',
},
},
required: [
'create',
],
type: 'object',
},
{
type: 'string',
},
],
description: 'Buffer containing image data, String containing the path to an image file, or Create object',
},
left: {
description: 'the pixel offset from the left edge.',
type: 'number',
},
premultiplied: {
description: 'Set to true to avoid premultipling the image below. Equivalent to the --premultiplied vips option.',
type: 'boolean',
},
raw: {
additionalProperties: false,
description: 'describes overlay when using raw pixel data.',
properties: {
channels: {
enum: [
1,
2,
3,
4,
],
type: 'number',
},
height: {
type: 'number',
},
width: {
type: 'number',
},
},
required: [
'channels',
'height',
'width',
],
type: 'object',
},
tile: {
description: 'set to true to repeat the overlay image across the entire image with the given gravity. (optional, default false)',
type: 'boolean',
},
top: {
description: 'the pixel offset from the top edge.',
type: 'number',
},
},
type: 'object',
},
type: 'array',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'images',
'op',
],
type: 'object',
},
ImageOperationConvolve: {
additionalProperties: false,
properties: {
kernel: {
additionalProperties: false,
properties: {
height: {
description: 'height of the kernel in pixels.',
type: 'number',
},
kernel: {
description: 'Array of length width*height containing the kernel values.',
items: {
type: 'number',
},
type: 'array',
},
offset: {
description: 'the offset of the kernel in pixels. (optional, default 0)',
type: 'number',
},
scale: {
description: 'the scale of the kernel in pixels. (optional, default sum)',
type: 'number',
},
width: {
description: 'width of the kernel in pixels.',
type: 'number',
},
},
required: [
'height',
'kernel',
'width',
],
type: 'object',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'kernel',
'op',
],
type: 'object',
},
ImageOperationEnsureAlpha: {
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationExtend: {
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
background: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
description: 'Background colour, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1})',
},
bottom: {
type: 'number',
},
left: {
type: 'number',
},
right: {
type: 'number',
},
top: {
type: 'number',
},
},
type: 'object',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationExtract: {
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
region: {
additionalProperties: false,
properties: {
height: {
description: 'dimension of extracted image',
type: 'number',
},
left: {
description: 'zero-indexed offset from left edge',
type: 'number',
},
top: {
description: 'zero-indexed offset from top edge',
type: 'number',
},
width: {
description: 'dimension of extracted image',
type: 'number',
},
},
required: [
'height',
'left',
'top',
'width',
],
type: 'object',
},
},
required: [
'op',
'region',
],
type: 'object',
},
ImageOperationExtractChannel: {
additionalProperties: false,
properties: {
channel: {
type: 'number',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'channel',
'op',
],
type: 'object',
},
ImageOperationFlatten: {
additionalProperties: false,
properties: {
flatten: {
anyOf: [
{
additionalProperties: false,
properties: {
background: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
description: 'background colour, parsed by the color module, defaults to black. (optional, default {r:0,g:0,b:0})',
},
},
type: 'object',
},
{
type: 'boolean',
},
],
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationFlip: {
additionalProperties: false,
properties: {
flip: {
type: 'boolean',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationFlop: {
additionalProperties: false,
properties: {
flop: {
type: 'boolean',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationGamma: {
additionalProperties: false,
properties: {
gamma: {
type: 'number',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationGreyscale: {
additionalProperties: false,
properties: {
greyscale: {
type: 'boolean',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationJpeg: {
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
chromaSubsampling: {
description: 'Set to \'4:4:4\' to prevent chroma subsampling when quality <= 90 (optional, default \'4:2:0\')',
type: 'string',
},
force: {
description: 'Force format output, otherwise attempt to use input format (optional, default true)',
type: 'boolean',
},
optimiseCoding: {
description: 'Optimise Huffman coding tables (optional, default true)',
type: 'boolean',
},
optimiseScans: {
description: 'Optimise progressive scans, forces progressive, requires mozjpeg (optional, default false)',
type: 'boolean',
},
optimizeCoding: {
description: 'Alternative spelling of optimiseCoding (optional, default true)',
type: 'boolean',
},
optimizeScans: {
description: 'Alternative spelling of optimiseScans (optional, default false)',
type: 'boolean',
},
overshootDeringing: {
description: 'Apply overshoot deringing, requires mozjpeg (optional, default false)',
type: 'boolean',
},
progressive: {
description: 'Use progressive (interlace) scan (optional, default false)',
type: 'boolean',
},
quality: {
description: 'Quality, integer 1-100 (optional, default 80)',
type: 'number',
},
quantisationTable: {
description: 'Quantization table to use, integer 0-8, requires mozjpeg (optional, default 0)',
type: 'number',
},
quantizationTable: {
description: 'Alternative spelling of quantisationTable (optional, default 0)',
type: 'number',
},
trellisQuantisation: {
description: 'Apply trellis quantisation, requires mozjpeg (optional, default false)',
type: 'boolean',
},
},
type: 'object',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationLimitInputPixels: {
additionalProperties: false,
properties: {
limit: {
type: 'number',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'limit',
'op',
],
type: 'object',
},
ImageOperationLinear: {
additionalProperties: false,
properties: {
a: {
type: 'number',
},
b: {
type: 'number',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationMedian: {
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
size: {
type: 'number',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationModulate: {
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
brightness: {
type: 'number',
},
hue: {
type: 'number',
},
saturation: {
type: 'number',
},
},
type: 'object',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationNegate: {
additionalProperties: false,
properties: {
negate: {
type: 'boolean',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationNormalize: {
additionalProperties: false,
properties: {
normalize: {
type: 'boolean',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationPng: {
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
adaptiveFiltering: {
description: 'use adaptive row filtering (optional, default false)',
type: 'boolean',
},
colors: {
description: 'Alternative Spelling of "colours". Maximum number of palette entries, requires libimagequant (optional, default 256)',
type: 'number',
},
colours: {
description: 'Maximum number of palette entries, requires libimagequant (optional, default 256)',
type: 'number',
},
compressionLevel: {
description: 'zlib compression level, 0-9 (optional, default 9)',
type: 'number',
},
dither: {
description: 'Level of Floyd-Steinberg error diffusion, requires libimagequant (optional, default 1.0)',
type: 'number',
},
force: {
description: 'Force PNG output, otherwise attempt to use input format (optional, default true)',
type: 'boolean',
},
palette: {
description: 'Quantise to a palette-based image with alpha transparency support, requires libimagequant (optional, default false)',
type: 'boolean',
},
progressive: {
description: 'Use progressive (interlace) scan (optional, default false)',
type: 'boolean',
},
quality: {
description: 'use the lowest number of colours needed to achieve given quality, requires libimagequant (optional, default `100`)',
type: 'number',
},
},
type: 'object',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationRecomb: {
additionalProperties: false,
properties: {
inputMatrix: {
items: {
type: 'number',
},
minItems: 3,
type: 'array',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'inputMatrix',
'op',
],
type: 'object',
},
ImageOperationRemoveAlpha: {
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationResize: {
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
background: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
description: 'Background colour when using a fit of contain, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1})',
},
fastShrinkOnLoad: {
description: 'Take greater advantage of the JPEG and WebP shrink-on-load feature, which can lead to a slight moiré pattern on some images. (optional, default true)',
type: 'boolean',
},
fit: {
description: 'How the image should be resized to fit both provided dimensions, one of cover, contain, fill, inside or outside. (optional, default \'cover\')',
enum: [
'contain',
'cover',
'fill',
'inside',
'outside',
],
type: 'string',
},
height: {
description: 'Alternative means of specifying height. If both are present this take priority.',
type: 'number',
},
kernel: {
description: 'The kernel to use for image reduction. (optional, default \'lanczos3\')',
enum: [
'cubic',
'lanczos2',
'lanczos3',
'mitchell',
'nearest',
],
type: 'string',
},
position: {
description: 'Position, gravity or strategy to use when fit is cover or contain. (optional, default \'centre\')',
type: 'string',
},
width: {
description: 'Alternative means of specifying width. If both are present this take priority.',
type: 'number',
},
withoutEnlargement: {
description: 'Do not enlarge if the width or height are already less than the specified dimensions, equivalent to GraphicsMagick\'s > geometry option. (optional, default false)',
type: 'boolean',
},
},
type: 'object',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationRotate: {
additionalProperties: false,
properties: {
angle: {
type: 'number',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
background: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
description: 'parsed by the color module to extract values for red, green, blue and alpha. (optional, default "#000000")',
},
},
type: 'object',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationSharpen: {
additionalProperties: false,
properties: {
flat: {
type: 'number',
},
jagged: {
type: 'number',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
sigma: {
type: 'number',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationThreshold: {
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
grayscale: {
description: 'alternative spelling for greyscale. (optional, default true)',
type: 'boolean',
},
greyscale: {
description: 'convert to single channel greyscale. (optional, default true)',
type: 'boolean',
},
},
type: 'object',
},
threshold: {
type: 'number',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationTiff: {
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
compression: {
description: 'Compression options: lzw, deflate, jpeg, ccittfax4 (optional, default \'jpeg\')',
type: 'string',
},
force: {
description: 'Force format output, otherwise attempt to use input format (optional, default true)',
type: 'boolean',
},
predictor: {
description: 'Compression predictor options: none, horizontal, float (optional, default \'horizontal\')',
type: 'string',
},
quality: {
description: 'Quality, integer 1-100 (optional, default 80)',
type: 'number',
},
squash: {
description: 'Squash 8-bit images down to 1 bit (optional, default false)',
type: 'boolean',
},
xres: {
description: 'Horizontal resolution in pixels/mm (optional, default 1.0)',
type: 'number',
},
yres: {
description: 'Vertical resolution in pixels/mm (optional, default 1.0)',
type: 'number',
},
},
type: 'object',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationTint: {
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
rgb: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
},
},
required: [
'op',
'rgb',
],
type: 'object',
},
ImageOperationToColorSpace: {
additionalProperties: false,
properties: {
colorSpace: {
type: 'string',
},
colorspace: {
type: 'string',
},
colourSpace: {
type: 'string',
},
colourspace: {
type: 'string',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationTrim: {
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
threshold: {
type: 'number',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationType: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
ImageOperationWebp: {
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
alphaQuality: {
description: 'Quality of alpha layer, number from 0-100 (optional, default 100)',
type: 'number',
},
force: {
description: 'Force format output, otherwise attempt to use input format (optional, default true)',
type: 'boolean',
},
lossless: {
description: 'Use lossless compression mode (optional, default false)',
type: 'boolean',
},
nearLossless: {
description: 'Use near_lossless compression mode (optional, default false)',
type: 'boolean',
},
quality: {
description: 'Quality, integer 1-100 (optional, default 80)',
type: 'number',
},
reductionEffort: {
description: 'Level of CPU effort to reduce file size, integer 0-6 (optional, default 4)',
type: 'number',
},
smartSubsample: {
description: 'Use high quality chroma subsampling (optional, default false)',
type: 'boolean',
},
},
type: 'object',
},
},
required: [
'op',
],
type: 'object',
},
ImageOperationWithMetadata: {
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
orientation: {
description: 'Number value of the EXIF Orientation header, if present',
type: 'number',
},
},
type: 'object',
},
},
required: [
'op',
],
type: 'object',
},
JpegOptions: {
additionalProperties: false,
properties: {
chromaSubsampling: {
description: 'Set to \'4:4:4\' to prevent chroma subsampling when quality <= 90 (optional, default \'4:2:0\')',
type: 'string',
},
force: {
description: 'Force format output, otherwise attempt to use input format (optional, default true)',
type: 'boolean',
},
optimiseCoding: {
description: 'Optimise Huffman coding tables (optional, default true)',
type: 'boolean',
},
optimiseScans: {
description: 'Optimise progressive scans, forces progressive, requires mozjpeg (optional, default false)',
type: 'boolean',
},
optimizeCoding: {
description: 'Alternative spelling of optimiseCoding (optional, default true)',
type: 'boolean',
},
optimizeScans: {
description: 'Alternative spelling of optimiseScans (optional, default false)',
type: 'boolean',
},
overshootDeringing: {
description: 'Apply overshoot deringing, requires mozjpeg (optional, default false)',
type: 'boolean',
},
progressive: {
description: 'Use progressive (interlace) scan (optional, default false)',
type: 'boolean',
},
quality: {
description: 'Quality, integer 1-100 (optional, default 80)',
type: 'number',
},
quantisationTable: {
description: 'Quantization table to use, integer 0-8, requires mozjpeg (optional, default 0)',
type: 'number',
},
quantizationTable: {
description: 'Alternative spelling of quantisationTable (optional, default 0)',
type: 'number',
},
trellisQuantisation: {
description: 'Apply trellis quantisation, requires mozjpeg (optional, default false)',
type: 'boolean',
},
},
type: 'object',
},
Kernel: {
additionalProperties: false,
properties: {
height: {
description: 'height of the kernel in pixels.',
type: 'number',
},
kernel: {
description: 'Array of length width*height containing the kernel values.',
items: {
type: 'number',
},
type: 'array',
},
offset: {
description: 'the offset of the kernel in pixels. (optional, default 0)',
type: 'number',
},
scale: {
description: 'the scale of the kernel in pixels. (optional, default sum)',
type: 'number',
},
width: {
description: 'width of the kernel in pixels.',
type: 'number',
},
},
required: [
'height',
'kernel',
'width',
],
type: 'object',
},
OverlayOptions: {
additionalProperties: false,
properties: {
blend: {
description: 'how to blend this image with the image below. (optional, default `\'over\'`)',
enum: [
'add',
'atop',
'clear',
'colour-burn',
'colour-dodge',
'darken',
'dest',
'dest-atop',
'dest-in',
'dest-out',
'dest-over',
'difference',
'exclusion',
'hard-light',
'in',
'lighten',
'multiply',
'out',
'over',
'overlay',
'saturate',
'screen',
'soft-light',
'source',
'xor',
],
type: 'string',
},
density: {
description: 'number representing the DPI for vector overlay image. (optional, default 72)',
type: 'number',
},
gravity: {
description: 'gravity at which to place the overlay. (optional, default \'centre\')',
type: 'string',
},
input: {
anyOf: [
{
description: `Raw data is stored in instances of the Buffer class.␊
A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap. A Buffer cannot be resized.␊
Valid string encodings: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex'`,
items: {
type: 'number',
},
type: 'array',
},
{
additionalProperties: false,
properties: {
create: {
additionalProperties: false,
properties: {
background: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
description: 'Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.',
},
channels: {
description: 'Number of bands e.g. 3 for RGB, 4 for RGBA',
enum: [
3,
4,
],
type: 'number',
},
height: {
description: 'Number of pixels high.',
type: 'number',
},
width: {
description: 'Number of pixels wide.',
type: 'number',
},
},
required: [
'background',
'channels',
'height',
'width',
],
type: 'object',
},
},
required: [
'create',
],
type: 'object',
},
{
type: 'string',
},
],
description: 'Buffer containing image data, String containing the path to an image file, or Create object',
},
left: {
description: 'the pixel offset from the left edge.',
type: 'number',
},
premultiplied: {
description: 'Set to true to avoid premultipling the image below. Equivalent to the --premultiplied vips option.',
type: 'boolean',
},
raw: {
additionalProperties: false,
description: 'describes overlay when using raw pixel data.',
properties: {
channels: {
enum: [
1,
2,
3,
4,
],
type: 'number',
},
height: {
type: 'number',
},
width: {
type: 'number',
},
},
required: [
'channels',
'height',
'width',
],
type: 'object',
},
tile: {
description: 'set to true to repeat the overlay image across the entire image with the given gravity. (optional, default false)',
type: 'boolean',
},
top: {
description: 'the pixel offset from the top edge.',
type: 'number',
},
},
type: 'object',
},
PngOptions: {
additionalProperties: false,
properties: {
adaptiveFiltering: {
description: 'use adaptive row filtering (optional, default false)',
type: 'boolean',
},
colors: {
description: 'Alternative Spelling of "colours". Maximum number of palette entries, requires libimagequant (optional, default 256)',
type: 'number',
},
colours: {
description: 'Maximum number of palette entries, requires libimagequant (optional, default 256)',
type: 'number',
},
compressionLevel: {
description: 'zlib compression level, 0-9 (optional, default 9)',
type: 'number',
},
dither: {
description: 'Level of Floyd-Steinberg error diffusion, requires libimagequant (optional, default 1.0)',
type: 'number',
},
force: {
description: 'Force PNG output, otherwise attempt to use input format (optional, default true)',
type: 'boolean',
},
palette: {
description: 'Quantise to a palette-based image with alpha transparency support, requires libimagequant (optional, default false)',
type: 'boolean',
},
progressive: {
description: 'Use progressive (interlace) scan (optional, default false)',
type: 'boolean',
},
quality: {
description: 'use the lowest number of colours needed to achieve given quality, requires libimagequant (optional, default `100`)',
type: 'number',
},
},
type: 'object',
},
RGBA: {
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
Raw: {
additionalProperties: false,
properties: {
channels: {
enum: [
1,
2,
3,
4,
],
type: 'number',
},
height: {
type: 'number',
},
width: {
type: 'number',
},
},
required: [
'channels',
'height',
'width',
],
type: 'object',
},
Region: {
additionalProperties: false,
properties: {
height: {
description: 'dimension of extracted image',
type: 'number',
},
left: {
description: 'zero-indexed offset from left edge',
type: 'number',
},
top: {
description: 'zero-indexed offset from top edge',
type: 'number',
},
width: {
description: 'dimension of extracted image',
type: 'number',
},
},
required: [
'height',
'left',
'top',
'width',
],
type: 'object',
},
ResizeOptions: {
additionalProperties: false,
properties: {
background: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
description: 'Background colour when using a fit of contain, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1})',
},
fastShrinkOnLoad: {
description: 'Take greater advantage of the JPEG and WebP shrink-on-load feature, which can lead to a slight moiré pattern on some images. (optional, default true)',
type: 'boolean',
},
fit: {
description: 'How the image should be resized to fit both provided dimensions, one of cover, contain, fill, inside or outside. (optional, default \'cover\')',
enum: [
'contain',
'cover',
'fill',
'inside',
'outside',
],
type: 'string',
},
height: {
description: 'Alternative means of specifying height. If both are present this take priority.',
type: 'number',
},
kernel: {
description: 'The kernel to use for image reduction. (optional, default \'lanczos3\')',
enum: [
'cubic',
'lanczos2',
'lanczos3',
'mitchell',
'nearest',
],
type: 'string',
},
position: {
description: 'Position, gravity or strategy to use when fit is cover or contain. (optional, default \'centre\')',
type: 'string',
},
width: {
description: 'Alternative means of specifying width. If both are present this take priority.',
type: 'number',
},
withoutEnlargement: {
description: 'Do not enlarge if the width or height are already less than the specified dimensions, equivalent to GraphicsMagick\'s > geometry option. (optional, default false)',
type: 'boolean',
},
},
type: 'object',
},
RotateOptions: {
additionalProperties: false,
properties: {
background: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
description: 'parsed by the color module to extract values for red, green, blue and alpha. (optional, default "#000000")',
},
},
type: 'object',
},
SharpOptions: {
additionalProperties: false,
properties: {
create: {
additionalProperties: false,
description: 'Describes a new image to be created.',
properties: {
background: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
description: 'Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.',
},
channels: {
description: 'Number of bands e.g. 3 for RGB, 4 for RGBA',
enum: [
3,
4,
],
type: 'number',
},
height: {
description: 'Number of pixels high.',
type: 'number',
},
width: {
description: 'Number of pixels wide.',
type: 'number',
},
},
required: [
'background',
'channels',
'height',
'width',
],
type: 'object',
},
density: {
description: 'Number representing the DPI for vector images. (optional, default 72)',
type: 'number',
},
failOnError: {
description: `By default halt processing and raise an error when loading invalid images.␊
Set this flag to false if you'd rather apply a "best effort" to decode images,␊
even if the data is corrupt or invalid. (optional, default true)␊
(optional, default true)`,
type: 'boolean',
},
page: {
description: 'Page number to start extracting from for multi-page input (GIF, TIFF, PDF), zero based. (optional, default 0)',
type: 'number',
},
pages: {
description: 'Number of pages to extract for multi-page input (GIF, TIFF, PDF), use -1 for all pages',
type: 'number',
},
raw: {
additionalProperties: false,
description: 'Describes raw pixel input image data. See raw() for pixel ordering.',
properties: {
channels: {
enum: [
1,
2,
3,
4,
],
type: 'number',
},
height: {
type: 'number',
},
width: {
type: 'number',
},
},
required: [
'channels',
'height',
'width',
],
type: 'object',
},
},
type: 'object',
},
ThresholdOptions: {
additionalProperties: false,
properties: {
grayscale: {
description: 'alternative spelling for greyscale. (optional, default true)',
type: 'boolean',
},
greyscale: {
description: 'convert to single channel greyscale. (optional, default true)',
type: 'boolean',
},
},
type: 'object',
},
TiffOptions: {
additionalProperties: false,
properties: {
compression: {
description: 'Compression options: lzw, deflate, jpeg, ccittfax4 (optional, default \'jpeg\')',
type: 'string',
},
force: {
description: 'Force format output, otherwise attempt to use input format (optional, default true)',
type: 'boolean',
},
predictor: {
description: 'Compression predictor options: none, horizontal, float (optional, default \'horizontal\')',
type: 'string',
},
quality: {
description: 'Quality, integer 1-100 (optional, default 80)',
type: 'number',
},
squash: {
description: 'Squash 8-bit images down to 1 bit (optional, default false)',
type: 'boolean',
},
xres: {
description: 'Horizontal resolution in pixels/mm (optional, default 1.0)',
type: 'number',
},
yres: {
description: 'Vertical resolution in pixels/mm (optional, default 1.0)',
type: 'number',
},
},
type: 'object',
},
WebpOptions: {
additionalProperties: false,
properties: {
alphaQuality: {
description: 'Quality of alpha layer, number from 0-100 (optional, default 100)',
type: 'number',
},
force: {
description: 'Force format output, otherwise attempt to use input format (optional, default true)',
type: 'boolean',
},
lossless: {
description: 'Use lossless compression mode (optional, default false)',
type: 'boolean',
},
nearLossless: {
description: 'Use near_lossless compression mode (optional, default false)',
type: 'boolean',
},
quality: {
description: 'Quality, integer 1-100 (optional, default 80)',
type: 'number',
},
reductionEffort: {
description: 'Level of CPU effort to reduce file size, integer 0-6 (optional, default 4)',
type: 'number',
},
smartSubsample: {
description: 'Use high quality chroma subsampling (optional, default false)',
type: 'boolean',
},
},
type: 'object',
},
WriteableMetadata: {
additionalProperties: false,
properties: {
orientation: {
description: 'Number value of the EXIF Orientation header, if present',
type: 'number',
},
},
type: 'object',
},
'sharp.Blend': {
enum: [
'add',
'atop',
'clear',
'colour-burn',
'colour-dodge',
'darken',
'dest',
'dest-atop',
'dest-in',
'dest-out',
'dest-over',
'difference',
'exclusion',
'hard-light',
'in',
'lighten',
'multiply',
'out',
'over',
'overlay',
'saturate',
'screen',
'soft-light',
'source',
'xor',
],
type: 'string',
},
},
},
info: {
title: 'sharp',
version: 'v0.1.0',
},
openapi: '3.0.2',
paths: {
'/1/call/transitive-bullshit/sharp@d90e513e': {
get: {
parameters: [
{
in: 'query',
name: 'input',
schema: {
example: 'https://octodex.github.com/images/original.png',
type: 'string',
},
},
{
in: 'query',
name: 'options',
schema: {
additionalProperties: false,
properties: {
create: {
additionalProperties: false,
description: 'Describes a new image to be created.',
properties: {
background: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
description: 'Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.',
},
channels: {
description: 'Number of bands e.g. 3 for RGB, 4 for RGBA',
enum: [
3,
4,
],
type: 'number',
},
height: {
description: 'Number of pixels high.',
type: 'number',
},
width: {
description: 'Number of pixels wide.',
type: 'number',
},
},
required: [
'background',
'channels',
'height',
'width',
],
type: 'object',
},
density: {
description: 'Number representing the DPI for vector images. (optional, default 72)',
type: 'number',
},
failOnError: {
description: `By default halt processing and raise an error when loading invalid images.␊
Set this flag to false if you'd rather apply a "best effort" to decode images,␊
even if the data is corrupt or invalid. (optional, default true)␊
(optional, default true)`,
type: 'boolean',
},
page: {
description: 'Page number to start extracting from for multi-page input (GIF, TIFF, PDF), zero based. (optional, default 0)',
type: 'number',
},
pages: {
description: 'Number of pages to extract for multi-page input (GIF, TIFF, PDF), use -1 for all pages',
type: 'number',
},
raw: {
additionalProperties: false,
description: 'Describes raw pixel input image data. See raw() for pixel ordering.',
properties: {
channels: {
enum: [
1,
2,
3,
4,
],
type: 'number',
},
height: {
type: 'number',
},
width: {
type: 'number',
},
},
required: [
'channels',
'height',
'width',
],
type: 'object',
},
},
type: 'object',
},
},
{
in: 'query',
name: 'ops',
schema: {
example: [
{
op: 'resize',
options: {
width: 220,
},
},
{
op: 'webp',
},
],
items: {
anyOf: [
{
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
limit: {
type: 'number',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'limit',
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
orientation: {
description: 'Number value of the EXIF Orientation header, if present',
type: 'number',
},
},
type: 'object',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
chromaSubsampling: {
description: 'Set to \'4:4:4\' to prevent chroma subsampling when quality <= 90 (optional, default \'4:2:0\')',
type: 'string',
},
force: {
description: 'Force format output, otherwise attempt to use input format (optional, default true)',
type: 'boolean',
},
optimiseCoding: {
description: 'Optimise Huffman coding tables (optional, default true)',
type: 'boolean',
},
optimiseScans: {
description: 'Optimise progressive scans, forces progressive, requires mozjpeg (optional, default false)',
type: 'boolean',
},
optimizeCoding: {
description: 'Alternative spelling of optimiseCoding (optional, default true)',
type: 'boolean',
},
optimizeScans: {
description: 'Alternative spelling of optimiseScans (optional, default false)',
type: 'boolean',
},
overshootDeringing: {
description: 'Apply overshoot deringing, requires mozjpeg (optional, default false)',
type: 'boolean',
},
progressive: {
description: 'Use progressive (interlace) scan (optional, default false)',
type: 'boolean',
},
quality: {
description: 'Quality, integer 1-100 (optional, default 80)',
type: 'number',
},
quantisationTable: {
description: 'Quantization table to use, integer 0-8, requires mozjpeg (optional, default 0)',
type: 'number',
},
quantizationTable: {
description: 'Alternative spelling of quantisationTable (optional, default 0)',
type: 'number',
},
trellisQuantisation: {
description: 'Apply trellis quantisation, requires mozjpeg (optional, default false)',
type: 'boolean',
},
},
type: 'object',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
adaptiveFiltering: {
description: 'use adaptive row filtering (optional, default false)',
type: 'boolean',
},
colors: {
description: 'Alternative Spelling of "colours". Maximum number of palette entries, requires libimagequant (optional, default 256)',
type: 'number',
},
colours: {
description: 'Maximum number of palette entries, requires libimagequant (optional, default 256)',
type: 'number',
},
compressionLevel: {
description: 'zlib compression level, 0-9 (optional, default 9)',
type: 'number',
},
dither: {
description: 'Level of Floyd-Steinberg error diffusion, requires libimagequant (optional, default 1.0)',
type: 'number',
},
force: {
description: 'Force PNG output, otherwise attempt to use input format (optional, default true)',
type: 'boolean',
},
palette: {
description: 'Quantise to a palette-based image with alpha transparency support, requires libimagequant (optional, default false)',
type: 'boolean',
},
progressive: {
description: 'Use progressive (interlace) scan (optional, default false)',
type: 'boolean',
},
quality: {
description: 'use the lowest number of colours needed to achieve given quality, requires libimagequant (optional, default `100`)',
type: 'number',
},
},
type: 'object',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
alphaQuality: {
description: 'Quality of alpha layer, number from 0-100 (optional, default 100)',
type: 'number',
},
force: {
description: 'Force format output, otherwise attempt to use input format (optional, default true)',
type: 'boolean',
},
lossless: {
description: 'Use lossless compression mode (optional, default false)',
type: 'boolean',
},
nearLossless: {
description: 'Use near_lossless compression mode (optional, default false)',
type: 'boolean',
},
quality: {
description: 'Quality, integer 1-100 (optional, default 80)',
type: 'number',
},
reductionEffort: {
description: 'Level of CPU effort to reduce file size, integer 0-6 (optional, default 4)',
type: 'number',
},
smartSubsample: {
description: 'Use high quality chroma subsampling (optional, default false)',
type: 'boolean',
},
},
type: 'object',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
compression: {
description: 'Compression options: lzw, deflate, jpeg, ccittfax4 (optional, default \'jpeg\')',
type: 'string',
},
force: {
description: 'Force format output, otherwise attempt to use input format (optional, default true)',
type: 'boolean',
},
predictor: {
description: 'Compression predictor options: none, horizontal, float (optional, default \'horizontal\')',
type: 'string',
},
quality: {
description: 'Quality, integer 1-100 (optional, default 80)',
type: 'number',
},
squash: {
description: 'Squash 8-bit images down to 1 bit (optional, default false)',
type: 'boolean',
},
xres: {
description: 'Horizontal resolution in pixels/mm (optional, default 1.0)',
type: 'number',
},
yres: {
description: 'Vertical resolution in pixels/mm (optional, default 1.0)',
type: 'number',
},
},
type: 'object',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
background: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
description: 'Background colour when using a fit of contain, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1})',
},
fastShrinkOnLoad: {
description: 'Take greater advantage of the JPEG and WebP shrink-on-load feature, which can lead to a slight moiré pattern on some images. (optional, default true)',
type: 'boolean',
},
fit: {
description: 'How the image should be resized to fit both provided dimensions, one of cover, contain, fill, inside or outside. (optional, default \'cover\')',
enum: [
'contain',
'cover',
'fill',
'inside',
'outside',
],
type: 'string',
},
height: {
description: 'Alternative means of specifying height. If both are present this take priority.',
type: 'number',
},
kernel: {
description: 'The kernel to use for image reduction. (optional, default \'lanczos3\')',
enum: [
'cubic',
'lanczos2',
'lanczos3',
'mitchell',
'nearest',
],
type: 'string',
},
position: {
description: 'Position, gravity or strategy to use when fit is cover or contain. (optional, default \'centre\')',
type: 'string',
},
width: {
description: 'Alternative means of specifying width. If both are present this take priority.',
type: 'number',
},
withoutEnlargement: {
description: 'Do not enlarge if the width or height are already less than the specified dimensions, equivalent to GraphicsMagick\'s > geometry option. (optional, default false)',
type: 'boolean',
},
},
type: 'object',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
background: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
description: 'Background colour, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1})',
},
bottom: {
type: 'number',
},
left: {
type: 'number',
},
right: {
type: 'number',
},
top: {
type: 'number',
},
},
type: 'object',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
region: {
additionalProperties: false,
properties: {
height: {
description: 'dimension of extracted image',
type: 'number',
},
left: {
description: 'zero-indexed offset from left edge',
type: 'number',
},
top: {
description: 'zero-indexed offset from top edge',
type: 'number',
},
width: {
description: 'dimension of extracted image',
type: 'number',
},
},
required: [
'height',
'left',
'top',
'width',
],
type: 'object',
},
},
required: [
'op',
'region',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
threshold: {
type: 'number',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
images: {
items: {
additionalProperties: false,
properties: {
blend: {
description: 'how to blend this image with the image below. (optional, default `\'over\'`)',
enum: [
'add',
'atop',
'clear',
'colour-burn',
'colour-dodge',
'darken',
'dest',
'dest-atop',
'dest-in',
'dest-out',
'dest-over',
'difference',
'exclusion',
'hard-light',
'in',
'lighten',
'multiply',
'out',
'over',
'overlay',
'saturate',
'screen',
'soft-light',
'source',
'xor',
],
type: 'string',
},
density: {
description: 'number representing the DPI for vector overlay image. (optional, default 72)',
type: 'number',
},
gravity: {
description: 'gravity at which to place the overlay. (optional, default \'centre\')',
type: 'string',
},
input: {
anyOf: [
{
description: `Raw data is stored in instances of the Buffer class.␊
A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap. A Buffer cannot be resized.␊
Valid string encodings: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex'`,
items: {
type: 'number',
},
type: 'array',
},
{
additionalProperties: false,
properties: {
create: {
additionalProperties: false,
properties: {
background: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
description: 'Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.',
},
channels: {
description: 'Number of bands e.g. 3 for RGB, 4 for RGBA',
enum: [
3,
4,
],
type: 'number',
},
height: {
description: 'Number of pixels high.',
type: 'number',
},
width: {
description: 'Number of pixels wide.',
type: 'number',
},
},
required: [
'background',
'channels',
'height',
'width',
],
type: 'object',
},
},
required: [
'create',
],
type: 'object',
},
{
type: 'string',
},
],
description: 'Buffer containing image data, String containing the path to an image file, or Create object',
},
left: {
description: 'the pixel offset from the left edge.',
type: 'number',
},
premultiplied: {
description: 'Set to true to avoid premultipling the image below. Equivalent to the --premultiplied vips option.',
type: 'boolean',
},
raw: {
additionalProperties: false,
description: 'describes overlay when using raw pixel data.',
properties: {
channels: {
enum: [
1,
2,
3,
4,
],
type: 'number',
},
height: {
type: 'number',
},
width: {
type: 'number',
},
},
required: [
'channels',
'height',
'width',
],
type: 'object',
},
tile: {
description: 'set to true to repeat the overlay image across the entire image with the given gravity. (optional, default false)',
type: 'boolean',
},
top: {
description: 'the pixel offset from the top edge.',
type: 'number',
},
},
type: 'object',
},
type: 'array',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'images',
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
angle: {
type: 'number',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
background: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
description: 'parsed by the color module to extract values for red, green, blue and alpha. (optional, default "#000000")',
},
},
type: 'object',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
flip: {
type: 'boolean',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
flop: {
type: 'boolean',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
flat: {
type: 'number',
},
jagged: {
type: 'number',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
sigma: {
type: 'number',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
size: {
type: 'number',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
sigma: {
type: 'number',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
flatten: {
anyOf: [
{
additionalProperties: false,
properties: {
background: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
description: 'background colour, parsed by the color module, defaults to black. (optional, default {r:0,g:0,b:0})',
},
},
type: 'object',
},
{
type: 'boolean',
},
],
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
gamma: {
type: 'number',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
negate: {
type: 'boolean',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
normalize: {
type: 'boolean',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
kernel: {
additionalProperties: false,
properties: {
height: {
description: 'height of the kernel in pixels.',
type: 'number',
},
kernel: {
description: 'Array of length width*height containing the kernel values.',
items: {
type: 'number',
},
type: 'array',
},
offset: {
description: 'the offset of the kernel in pixels. (optional, default 0)',
type: 'number',
},
scale: {
description: 'the scale of the kernel in pixels. (optional, default sum)',
type: 'number',
},
width: {
description: 'width of the kernel in pixels.',
type: 'number',
},
},
required: [
'height',
'kernel',
'width',
],
type: 'object',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'kernel',
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
grayscale: {
description: 'alternative spelling for greyscale. (optional, default true)',
type: 'boolean',
},
greyscale: {
description: 'convert to single channel greyscale. (optional, default true)',
type: 'boolean',
},
},
type: 'object',
},
threshold: {
type: 'number',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
operand: {
type: 'string',
},
operator: {
type: 'string',
},
options: {
additionalProperties: false,
properties: {
raw: {
additionalProperties: false,
properties: {
channels: {
enum: [
1,
2,
3,
4,
],
type: 'number',
},
height: {
type: 'number',
},
width: {
type: 'number',
},
},
required: [
'channels',
'height',
'width',
],
type: 'object',
},
},
required: [
'raw',
],
type: 'object',
},
},
required: [
'op',
'operand',
'operator',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
a: {
type: 'number',
},
b: {
type: 'number',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
inputMatrix: {
items: {
type: 'number',
},
minItems: 3,
type: 'array',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'inputMatrix',
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
options: {
additionalProperties: false,
properties: {
brightness: {
type: 'number',
},
hue: {
type: 'number',
},
saturation: {
type: 'number',
},
},
type: 'object',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
rgb: {
anyOf: [
{
additionalProperties: false,
properties: {
alpha: {
type: 'number',
},
b: {
type: 'number',
},
g: {
type: 'number',
},
r: {
type: 'number',
},
},
type: 'object',
},
{
type: 'string',
},
],
},
},
required: [
'op',
'rgb',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
greyscale: {
type: 'boolean',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
colorSpace: {
type: 'string',
},
colorspace: {
type: 'string',
},
colourSpace: {
type: 'string',
},
colourspace: {
type: 'string',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
channel: {
type: 'number',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'channel',
'op',
],
type: 'object',
},
{
additionalProperties: false,
properties: {
boolOp: {
type: 'string',
},
op: {
enum: [
'bandBool',
'bandbool',
'blur',
'boolean',
'composite',
'convolve',
'ensureAlpha',
'extend',
'extract',
'extractChannel',
'flatten',
'flip',
'flop',
'gamma',
'grayscale',
'greyscale',
'jpeg',
'limitInputPixels',
'linear',
'median',
'meta',
'metadata',
'modulate',
'negate',
'normalise',
'normalize',
'png',
'raw',
'recomb',
'removeAlpha',
'resize',
'rotate',
'sharpen',
'stats',
'threshold',
'tiff',
'tint',
'toColorSpace',
'toColorspace',
'toColourSpace',
'toColourspace',
'trim',
'webp',
'withMetadata',
],
type: 'string',
},
},
required: [
'boolOp',
'op',
],
type: 'object',
},
],
},
type: 'array',
},
},
],
responses: {
200: {
content: {
'*/*': {
schema: {
description: 'Raw HTTP response body which can be interpreted using the standard `Content-Type` header.',
format: 'binary',
type: 'string',
},
},
},
description: 'Success',
},
},
},
},
},
}
## ta11y
> Snapshot 1
{
components: {
schemas: {
AuditResults: {
additionalProperties: false,
properties: {
results: {
$ref: '#/components/schemas/AuditResultsPageMap',
},
summary: {
$ref: '#/components/schemas/AuditResultsSummary',
},
},
type: 'object',
},
AuditResultsPage: {
additionalProperties: false,
properties: {
depth: {
type: 'number',
},
error: {
type: 'string',
},
rules: {
items: {
$ref: '#/components/schemas/AuditResultsPageRule',
},
type: 'array',
},
summary: {
$ref: '#/components/schemas/AuditResultsPageSummary',
},
url: {
type: 'string',
},
},
type: 'object',
},
AuditResultsPageMap: {
additionalProperties: {
$ref: '#/components/schemas/AuditResultsPage',
},
type: 'object',
},
AuditResultsPageRule: {
additionalProperties: false,
properties: {
context: {
type: 'string',
},
description: {
type: 'string',
},
firstColumn: {
type: 'number',
},
firstLine: {
type: 'number',
},
help: {
type: 'string',
},
helpUrl: {
type: 'string',
},
id: {
type: 'string',
},
impact: {
type: 'string',
},
lastColumn: {
type: 'number',
},
lastLine: {
type: 'number',
},
tags: {
items: {
type: 'string',
},
type: 'array',
},
type: {
type: 'string',
},
},
type: 'object',
},
AuditResultsPageSummary: {
additionalProperties: false,
properties: {
errors: {
type: 'number',
},
infos: {
type: 'number',
},
pass: {
type: 'boolean',
},
warnings: {
type: 'number',
},
},
type: 'object',
},
AuditResultsSummary: {
additionalProperties: false,
properties: {
errors: {
type: 'number',
},
infos: {
type: 'number',
},
numPages: {
type: 'number',
},
numPagesFail: {
type: 'number',
},
numPagesPass: {
type: 'number',
},
suites: {
items: {
enum: [
'best-practice',
'html',
'section508',
'wcag2a',
'wcag2aa',
'wcag2aaa',
],
type: 'string',
},
type: 'array',
},
warnings: {
type: 'number',
},
},
type: 'object',
},
AuditRuleStatus: {
enum: [
0,
1,
2,
],
type: 'number',
},
AuditRulesMap: {
additionalProperties: {
enum: [
0,
1,
2,
],
type: 'number',
},
type: 'object',
},
DirectNavigationOptions: {
additionalProperties: false,
description: 'Navigation options for `page.goto`.',
properties: {
referer: {
description: `Referer header value.␊
If provided it will take preference over the referer header value set by␊
[page.setExtraHTTPHeaders()](#pagesetextrahttpheadersheaders).`,
type: 'string',
},
timeout: {
default: 30000,
description: 'Maximum navigation time in milliseconds, pass 0 to disable timeout.',
type: 'number',
},
waitUntil: {
anyOf: [
{
items: {
enum: [
'domcontentloaded',
'load',
'networkidle0',
'networkidle2',
],
type: 'string',
},
type: 'array',
},
{
enum: [
'domcontentloaded',
'load',
'networkidle0',
'networkidle2',
],
type: 'string',
},
],
default: 'load Navigation is consider when the `load` event is fired.',
description: 'When to consider navigation succeeded.',
},
},
type: 'object',
},
ExtractResults: {
additionalProperties: false,
properties: {
results: {
$ref: '#/components/schemas/ExtractResultsPageMap',
},
summary: {
$ref: '#/components/schemas/ExtractResultsSummary',
},
},
type: 'object',
},
ExtractResultsPage: {
additionalProperties: false,
properties: {
content: {
type: 'string',
},
depth: {
type: 'number',
},
error: {
type: 'string',
},
url: {
type: 'string',
},
},
type: 'object',
},
ExtractResultsPageMap: {
additionalProperties: {
$ref: '#/components/schemas/ExtractResultsPage',
},
type: 'object',
},
ExtractResultsSummary: {
additionalProperties: false,
properties: {
error: {
type: 'number',
},
root: {
type: 'string',
},
success: {
type: 'number',
},
visited: {
type: 'number',
},
},
type: 'object',
},
Viewport: {
additionalProperties: false,
properties: {
deviceScaleFactor: {
default: 1,
description: 'Specify device scale factor (can be thought of as dpr).',
type: 'number',
},
hasTouch: {
default: false,
description: 'Specifies if viewport supports touch events.',
type: 'boolean',
},
height: {
description: 'The page height in pixels.',
type: 'number',
},
isLandscape: {
default: false,
description: 'Specifies if viewport is in landscape mode.',
type: 'boolean',
},
isMobile: {
default: false,
description: 'Whether the `meta viewport` tag is taken into account.',
type: 'boolean',
},
width: {
description: 'The page width in pixels.',
type: 'number',
},
},
required: [
'height',
'width',
],
type: 'object',
},
},
},
info: {
title: 'ta11y',
version: 'v0.1.15',
},
openapi: '3.0.2',
paths: {
'/dev/ta11y@c5c47a32/audit': {
get: {
description: `Runs an accessibility audit against the given URL or raw HTML, optionally crawling the␊
site to discover additional pages and auditing those too.␊
␊
Must provide either `url` or `html`.␊
␊
Defaults to running all audit suites.`,
parameters: [
{
description: 'URL to process.',
in: 'query',
name: 'url',
schema: {
description: 'URL to process.',
example: 'https://example.com',
type: 'string',
},
},
{
description: 'Raw HTML to process.',
in: 'query',
name: 'html',
schema: {
description: 'Raw HTML to process.',
type: 'string',
},
},
{
description: 'Audit suites to run.',
in: 'query',
name: 'suites',
schema: {
description: 'Audit suites to run.',
items: {
enum: [
'best-practice',
'html',
'section508',
'wcag2a',
'wcag2aa',
'wcag2aaa',
],
type: 'string',
},
type: 'array',
},
},
{
in: 'query',
name: 'rules',
schema: {
additionalProperties: {
enum: [
0,
1,
2,
],
type: 'number',
},
type: 'object',
},
},
{
description: 'Whether or not to crawl additional pages.',
in: 'query',
name: 'crawl',
schema: {
default: false,
description: 'Whether or not to crawl additional pages.',
type: 'boolean',
},
},
{
description: 'Maximum crawl depth while crawling.',
in: 'query',
name: 'maxDepth',
schema: {
default: 16,
description: 'Maximum crawl depth while crawling.',
type: 'number',
},
},
{
description: 'Maximum number of pages to visit while crawling.',
in: 'query',
name: 'maxVisit',
schema: {
description: 'Maximum number of pages to visit while crawling.',
type: 'number',
},
},
{
description: 'Whether or not to only consider crawling links with the same origin as the root URL.',
in: 'query',
name: 'sameOrigin',
schema: {
default: true,
description: 'Whether or not to only consider crawling links with the same origin as the root URL.',
type: 'boolean',
},
},
{
description: 'Optional blacklist of URL [glob patterns](https://github.com/micromatch/micromatch) to ignore.',
in: 'query',
name: 'blacklist',
schema: {
description: 'Optional blacklist of URL [glob patterns](https://github.com/micromatch/micromatch) to ignore.',
items: {
type: 'string',
},
type: 'array',
},
},
{
description: 'Optional whitelist of URL [glob patterns](https://github.com/micromatch/micromatch) to only include.',
in: 'query',
name: 'whitelist',
schema: {
description: 'Optional whitelist of URL [glob patterns](https://github.com/micromatch/micromatch) to only include.',
items: {
type: 'string',
},
type: 'array',
},
},
{
description: 'Customize the `Page.goto` navigation options.',
in: 'query',
name: 'gotoOptions',
schema: {
additionalProperties: false,
description: 'Customize the `Page.goto` navigation options.',
properties: {
referer: {
description: `Referer header value.␊
If provided it will take preference over the referer header value set by␊
[page.setExtraHTTPHeaders()](#pagesetextrahttpheadersheaders).`,
type: 'string',
},
timeout: {
default: 30000,
description: 'Maximum navigation time in milliseconds, pass 0 to disable timeout.',
type: 'number',
},
waitUntil: {
anyOf: [
{
items: {
enum: [
'domcontentloaded',
'load',
'networkidle0',
'networkidle2',
],
type: 'string',
},
type: 'array',
},
{
enum: [
'domcontentloaded',
'load',
'networkidle0',
'networkidle2',
],
type: 'string',
},
],
default: 'load Navigation is consider when the `load` event is fired.',
description: 'When to consider navigation succeeded.',
},
},
type: 'object',
},
},
{
description: 'Set the browser window\'s viewport dimensions and/or resolution.',
in: 'query',
name: 'viewport',
schema: {
additionalProperties: false,
description: 'Set the browser window\'s viewport dimensions and/or resolution.',
properties: {
deviceScaleFactor: {
default: 1,
description: 'Specify device scale factor (can be thought of as dpr).',
type: 'number',
},
hasTouch: {
default: false,
description: 'Specifies if viewport supports touch events.',
type: 'boolean',
},
height: {
description: 'The page height in pixels.',
type: 'number',
},
isLandscape: {
default: false,
description: 'Specifies if viewport is in landscape mode.',
type: 'boolean',
},
isMobile: {
default: false,
description: 'Whether the `meta viewport` tag is taken into account.',
type: 'boolean',
},
width: {
description: 'The page width in pixels.',
type: 'number',
},
},
required: [
'height',
'width',
],
type: 'object',
},
},
{
description: 'Set the browser\'s [user-agent](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent).',
in: 'query',
name: 'userAgent',
schema: {
description: 'Set the browser\'s [user-agent](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent).',
type: 'string',
},
},
{
description: `Emulate a specific device type.␊
- Use the `name` property from one of the built-in [devices](https://github.com/GoogleChrome/puppeteer/blob/master/lib/DeviceDescriptors.js).␊
- Overrides `viewport` and `userAgent`.`,
in: 'query',
name: 'emulateDevice',
schema: {
description: `Emulate a specific device type.␊
- Use the `name` property from one of the built-in [devices](https://github.com/GoogleChrome/puppeteer/blob/master/lib/DeviceDescriptors.js).␊
- Overrides `viewport` and `userAgent`.`,
type: 'string',
},
},
],
responses: {
200: {
content: {
'application/json': {
schema: {
additionalProperties: false,
properties: {
results: {
$ref: '#/components/schemas/AuditResultsPageMap',
},
summary: {
$ref: '#/components/schemas/AuditResultsSummary',
},
},
type: 'object',
},
},
},
description: 'Success',
},
},
},
},
'/dev/ta11y@c5c47a32/auditExtractResults': {
post: {
description: `Runs an accessibility audit against previously extracted website contents from␊
[`@ta11y/extract`](https://github.com/saasify-sh/ta11y/tree/master/packages/ta11y-extract).␊
␊
Defaults to running all audit suites.`,
requestBody: {
content: {
'application/json': {
schema: {
additionalProperties: false,
properties: {
extractResults: {
additionalProperties: false,
description: 'Previously extracted website contents.',
example: {
results: {
'https://example.com': {
content: `<!DOCTYPE html><html><head>␊
<title>Example Domain</title>␊
␊
<meta charset="utf-8">␊
<meta http-equiv="Content-type" content="text/html; charset=utf-8">␊
<meta name="viewport" content="width=device-width, initial-scale=1">␊
<style type="text/css">␊
body {␊
background-color: #f0f0f2;␊
margin: 0;␊
padding: 0;␊
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;␊
␊
}␊
div {␊
width: 600px;␊
margin: 5em auto;␊
padding: 2em;␊
background-color: #fdfdff;␊
border-radius: 0.5em;␊
box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);␊
}␊
a:link, a:visited {␊
color: #38488f;␊
text-decoration: none;␊
}␊
@media (max-width: 700px) {␊
div {␊
margin: 0 auto;␊
width: auto;␊
}␊
}␊
</style> ␊
</head>␊
␊
<body>␊
<div>␊
<h1>Example Domain</h1>␊
<p>This domain is for use in illustrative examples in documents. You may use this␊
domain in literature without prior coordination or asking for permission.</p>␊
<p><a href="https://www.iana.org/domains/example">More information...</a></p>␊
</div>␊
␊
␊
</body></html>`,
depth: 0,
url: 'https://example.com',
},
},
summary: {
error: 0,
root: 'https://example.com',
success: 1,
visited: 1,
},
},
properties: {
results: {
additionalProperties: {
additionalProperties: false,
properties: {
content: {
type: 'string',
},
depth: {
type: 'number',
},
error: {
type: 'string',
},
url: {
type: 'string',
},
},
required: [
'depth',
'url',
],
type: 'object',
},
type: 'object',
},
summary: {
additionalProperties: false,
properties: {
error: {
type: 'number',
},
root: {
type: 'string',
},
success: {
type: 'number',
},
visited: {
type: 'number',
},
},
required: [
'error',
'root',
'success',
'visited',
],
type: 'object',
},
},
required: [
'results',
'summary',
],
type: 'object',
},
rules: {
additionalProperties: {
enum: [
0,
1,
2,
],
type: 'number',
},
type: 'object',
},
suites: {
description: 'Audit suites to run.',
items: {
enum: [
'best-practice',
'html',
'section508',
'wcag2a',
'wcag2aa',
'wcag2aaa',
],
type: 'string',
},
type: 'array',
},
},
required: [
'extractResults',
],
type: 'object',
},
},
},
required: true,
},
responses: {
200: {
content: {
'application/json': {
schema: {
additionalProperties: false,
properties: {
results: {
$ref: '#/components/schemas/AuditResultsPageMap',
},
summary: {
$ref: '#/components/schemas/AuditResultsSummary',
},
},
type: 'object',
},
},
},
description: 'Success',
},
},
},
},
'/dev/ta11y@c5c47a32/extract': {
get: {
description: `Extracts the content of a given URL or raw HTML, optionally crawling the site to␊
discover additional pages and extracting those too.␊
␊
Must provide either `url` or `html`.`,
parameters: [
{
description: 'URL to process.',
in: 'query',
name: 'url',
schema: {
description: 'URL to process.',
example: 'https://example.com',
type: 'string',
},
},
{
description: 'Raw HTML to process.',
in: 'query',
name: 'html',
schema: {
description: 'Raw HTML to process.',
type: 'string',
},
},
{
description: 'Whether or not to crawl additional pages.',
in: 'query',
name: 'crawl',
schema: {
default: false,
description: 'Whether or not to crawl additional pages.',
type: 'boolean',
},
},
{
description: 'Maximum crawl depth while crawling.',
in: 'query',
name: 'maxDepth',
schema: {
default: 16,
description: 'Maximum crawl depth while crawling.',
type: 'number',
},
},
{
description: 'Maximum number of pages to visit while crawling.',
in: 'query',
name: 'maxVisit',
schema: {
description: 'Maximum number of pages to visit while crawling.',
type: 'number',
},
},
{
description: 'Whether or not to only consider crawling links with the same origin as the root URL.',
in: 'query',
name: 'sameOrigin',
schema: {
default: true,
description: 'Whether or not to only consider crawling links with the same origin as the root URL.',
type: 'boolean',
},
},
{
description: 'Optional blacklist of URL [glob patterns](https://github.com/micromatch/micromatch) to ignore.',
in: 'query',
name: 'blacklist',
schema: {
description: 'Optional blacklist of URL [glob patterns](https://github.com/micromatch/micromatch) to ignore.',
items: {
type: 'string',
},
type: 'array',
},
},
{
description: 'Optional whitelist of URL [glob patterns](https://github.com/micromatch/micromatch) to only include.',
in: 'query',
name: 'whitelist',
schema: {
description: 'Optional whitelist of URL [glob patterns](https://github.com/micromatch/micromatch) to only include.',
items: {
type: 'string',
},
type: 'array',
},
},
{
description: 'Customize the `Page.goto` navigation options.',
in: 'query',
name: 'gotoOptions',
schema: {
additionalProperties: false,
description: 'Customize the `Page.goto` navigation options.',
properties: {
referer: {
description: `Referer header value.␊
If provided it will take preference over the referer header value set by␊
[page.setExtraHTTPHeaders()](#pagesetextrahttpheadersheaders).`,
type: 'string',
},
timeout: {
default: 30000,
description: 'Maximum navigation time in milliseconds, pass 0 to disable timeout.',
type: 'number',
},
waitUntil: {
anyOf: [
{
items: {
enum: [
'domcontentloaded',
'load',
'networkidle0',
'networkidle2',
],
type: 'string',
},
type: 'array',
},
{
enum: [
'domcontentloaded',
'load',
'networkidle0',
'networkidle2',
],
type: 'string',
},
],
default: 'load Navigation is consider when the `load` event is fired.',
description: 'When to consider navigation succeeded.',
},
},
type: 'object',
},
},
{
description: 'Set the browser window\'s viewport dimensions and/or resolution.',
in: 'query',
name: 'viewport',
schema: {
additionalProperties: false,
description: 'Set the browser window\'s viewport dimensions and/or resolution.',
properties: {
deviceScaleFactor: {
default: 1,
description: 'Specify device scale factor (can be thought of as dpr).',
type: 'number',
},
hasTouch: {
default: false,
description: 'Specifies if viewport supports touch events.',
type: 'boolean',
},
height: {
description: 'The page height in pixels.',
type: 'number',
},
isLandscape: {
default: false,
description: 'Specifies if viewport is in landscape mode.',
type: 'boolean',
},
isMobile: {
default: false,
description: 'Whether the `meta viewport` tag is taken into account.',
type: 'boolean',
},
width: {
description: 'The page width in pixels.',
type: 'number',
},
},
required: [
'height',
'width',
],
type: 'object',
},
},
{
description: 'Set the browser\'s [user-agent](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent).',
in: 'query',
name: 'userAgent',
schema: {
description: 'Set the browser\'s [user-agent](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent).',
type: 'string',
},
},
{
description: `Emulate a specific device type.␊
- Use the `name` property from one of the built-in [devices](https://github.com/GoogleChrome/puppeteer/blob/master/lib/DeviceDescriptors.js).␊
- Overrides `viewport` and `userAgent`.`,
in: 'query',
name: 'emulateDevice',
schema: {
description: `Emulate a specific device type.␊
- Use the `name` property from one of the built-in [devices](https://github.com/GoogleChrome/puppeteer/blob/master/lib/DeviceDescriptors.js).␊
- Overrides `viewport` and `userAgent`.`,
type: 'string',
},
},
],
responses: {
200: {
content: {
'application/json': {
schema: {
additionalProperties: false,
properties: {
results: {
$ref: '#/components/schemas/ExtractResultsPageMap',
},
summary: {
$ref: '#/components/schemas/ExtractResultsSummary',
},
},
type: 'object',
},
},
},
description: 'Success',
},
},
},
},
},
}
## wordcloud
> Snapshot 1
{
components: {
schemas: {
HTTPValidationError: {
properties: {
detail: {
items: {
$ref: '#/components/schemas/ValidationError',
},
title: 'Detail',
type: 'array',
},
},
title: 'HTTPValidationError',
type: 'object',
},
StyleCloudRequest: {
properties: {
background_color: {
default: 'white',
format: 'color',
title: 'Background_Color',
type: 'string',
},
gradient: {
description: 'Direction of gradient',
enum: [
'horizontal',
'vertical',
],
title: 'Gradient',
type: 'string',
},
icon: {
default: 'fas fa-flag',
description: '[Font Awesome](https://fontawesome.com/icons?d=gallery&m=free) icon mask',
enum: [
'fas fa-ad',
'fas fa-address-book',
'fas fa-address-card',
'fas fa-adjust',
],
title: 'Icon',
type: 'string',
},
max_font_size: {
default: 200,
title: 'Max_Font_Size',
type: 'integer',
},
max_words: {
default: 2000,
description: 'Maximum number of words to include in the stylecloud',
title: 'Max_Words',
type: 'integer',
},
palette: {
default: 'cartocolors.qualitative.Bold_6',
description: 'Color palette to use from [palettable](https://jiffyclub.github.io/palettable/)',
enum: [
'cartocolors.diverging.ArmyRose_2',
'cartocolors.diverging.Geyser_7',
'cartocolors.diverging.ArmyRose_2_r',
'cartocolors.diverging.Geyser_7_r',
],
title: 'Palette',
type: 'string',
},
size: {
default: 512,
description: 'Output width and height in pixels',
title: 'Size',
type: 'integer',
},
stopwords: {
default: true,
description: 'Boolean to filter out common stopwords',
title: 'Stopwords',
type: 'boolean',
},
text: {
description: 'Source text',
title: 'Text',
type: 'string',
},
url: {
description: 'URL of webpage to extract text',
title: 'Url',
type: 'string',
},
},
title: 'StyleCloudRequest',
type: 'object',
},
ValidationError: {
properties: {
loc: {
items: {
type: 'string',
},
title: 'Location',
type: 'array',
},
msg: {
title: 'Message',
type: 'string',
},
type: {
title: 'Error Type',
type: 'string',
},
},
required: [
'loc',
'msg',
'type',
],
title: 'ValidationError',
type: 'object',
},
},
},
info: {
title: 'Fast API',
version: '0.1.0',
},
openapi: '3.0.2',
paths: {
'/stylecloud': {
post: {
operationId: 'stylecloud_stylecloud_post',
requestBody: {
content: {
'application/json': {
schema: {
$ref: '#/components/schemas/StyleCloudRequest',
},
},
},
required: true,
},
responses: {
200: {
content: {
'application/json': {
schema: {},
},
'image/png': {},
},
description: 'Successful Response',
},
422: {
content: {
'application/json': {
schema: {
$ref: '#/components/schemas/HTTPValidationError',
},
},
},
description: 'Validation Error',
},
},
summary: 'Stylecloud',
},
},
},
}