typescript-imgix-url-params
Version:
TypeScript definitions of imgix's URL parameters
1,345 lines (1,209 loc) • 35.7 kB
TypeScript
export namespace ImgixUrl {
export type HexColor = `#${string}`;
export type ColorKeywordValue =
| "aliceblue"
| "antiquewhite"
| "aqua"
| "aquamarine"
| "azure"
| "beige"
| "bisque"
| "black"
| "blanchedalmond"
| "blue"
| "blueviolet"
| "brown"
| "burlywood"
| "cadetblue"
| "chartreuse"
| "chocolate"
| "coral"
| "cornflowerblue"
| "cornsilk"
| "crimson"
| "cyan"
| "darkblue"
| "darkcyan"
| "darkgoldenrod"
| "darkgray"
| "darkgreen"
| "darkgrey"
| "darkkhaki"
| "darkmagenta"
| "darkolivegreen"
| "darkorange"
| "darkorchid"
| "darkred"
| "darksalmon"
| "darkseagreen"
| "darkslateblue"
| "darkslategray"
| "darkslategrey"
| "darkturquoise"
| "darkviolet"
| "deeppink"
| "deepskyblue"
| "dimgray"
| "dimgrey"
| "dodgerblue"
| "firebrick"
| "floralwhite"
| "forestgreen"
| "fuchsia"
| "gainsboro"
| "ghostwhite"
| "gold"
| "goldenrod"
| "gray"
| "green"
| "greenyellow"
| "grey"
| "honeydew"
| "hotpink"
| "imgixorange"
| "imgixblue"
| "indianred"
| "indigo"
| "ivory"
| "khaki"
| "lavender"
| "lavenderblush"
| "lawngreen"
| "lemonchiffon"
| "lightblue"
| "lightcoral"
| "lightcyan"
| "lightgoldenrodyellow"
| "lightgray"
| "lightgreen"
| "lightgrey"
| "lightpink"
| "lightsalmon"
| "lightseagreen"
| "lightskyblue"
| "lightslategray"
| "lightslategrey"
| "lightsteelblue"
| "lightyellow"
| "lime"
| "limegreen"
| "linen"
| "magenta"
| "maroon"
| "mediumaquamarine"
| "mediumblue"
| "mediumorchid"
| "mediumpurple"
| "mediumseagreen"
| "mediumslateblue"
| "mediumspringgreen"
| "mediumturquoise"
| "mediumvioletred"
| "midnightblue"
| "mintcream"
| "mistyrose"
| "moccasin"
| "navajowhite"
| "navy"
| "oldlace"
| "olive"
| "olivedrab"
| "orange"
| "orangered"
| "orchid"
| "palegoldenrod"
| "palegreen"
| "paleturquoise"
| "palevioletred"
| "papayawhip"
| "peachpuff"
| "peru"
| "pink"
| "plum"
| "powderblue"
| "purple"
| "rebeccapurple"
| "red"
| "rosybrown"
| "royalblue"
| "saddlebrown"
| "salmon"
| "sandybrown"
| "seagreen"
| "seashell"
| "sienna"
| "silver"
| "skyblue"
| "slateblue"
| "slategray"
| "slategrey"
| "snow"
| "springgreen"
| "steelblue"
| "tan"
| "teal"
| "thistle"
| "tomato"
| "turquoise"
| "violet"
| "wheat"
| "white"
| "whitesmoke"
| "yellow"
| "yellowgreen";
export type FontValue =
| "serif"
| "sans-serif"
| "monospace"
| "cursive"
| "fantasy"
| "serif,bold"
| "sans-serif,bold"
| "monospace,bold"
| "fantasy,bold"
| "serif,italic"
| "sans-serif,italic"
| "monospace,italic"
| "serif,bold,italic"
| "sans-serif,bold,italic"
| "monospace,bold,italic"
| "American Typewriter"
| "American Typewriter Condensed"
| "American Typewriter Condensed Light"
| "American Typewriter Condensed,Bold"
| "American Typewriter Light"
| "American Typewriter,Bold"
| "AndaleMono"
| "Arial Narrow"
| "Arial Narrow,Bold"
| "Arial Narrow,BoldItalic"
| "Arial Narrow,Italic"
| "Arial Rounded MT,Bold"
| "Arial UnicodeMS"
| "Arial,BoldItalicMT"
| "Arial,BoldMT"
| "Arial,ItalicMT"
| "Arial-Black"
| "ArialMT"
| "Athelas,Bold"
| "Athelas,BoldItalic"
| "Athelas,Italic"
| "Athelas-Regular"
| "Avenir Next Condensed Demi,Bold"
| "Avenir Next Condensed Demi,BoldItalic"
| "Avenir Next Condensed Heavy"
| "Avenir Next Condensed Heavy,Italic"
| "Avenir Next Condensed Medium"
| "Avenir Next Condensed Medium,Italic"
| "Avenir Next Condensed Regular"
| "Avenir Next Condensed Ultra Light"
| "Avenir Next Condensed Ultra Light,Italic"
| "Avenir Next Condensed,Bold"
| "Avenir Next Condensed,BoldItalic"
| "Avenir Next Condensed,Italic"
| "Avenir Next Demi,Bold"
| "Avenir Next Demi,BoldItalic"
| "Avenir Next Heavy"
| "Avenir Next Heavy,Italic"
| "Avenir Next Medium"
| "Avenir Next Medium,Italic"
| "Avenir Next Regular"
| "Avenir Next Ultra Light"
| "Avenir Next Ultra Light,Italic"
| "Avenir Next,Bold"
| "Avenir Next,BoldItalic"
| "Avenir Next,Italic"
| "Avenir-Black"
| "Avenir-BlackOblique"
| "Avenir-Book"
| "Avenir-BookOblique"
| "Avenir-Heavy"
| "Avenir-HeavyOblique"
| "Avenir-Light"
| "Avenir-LightOblique"
| "Avenir-Medium"
| "Avenir-MediumOblique"
| "Avenir-Oblique"
| "Avenir-Roman"
| "Baskerville"
| "Baskerville,Bold"
| "Baskerville,BoldItalic"
| "Baskerville,Italic"
| "BigCaslon-Medium"
| "BrushScriptMT"
| "Chalkboard"
| "Chalkboard SE Light"
| "Chalkboard SE Regular"
| "Chalkboard SE,Bold"
| "Chalkboard,Bold"
| "Chalkduster"
| "CharcoalCY"
| "Charter Black,Italic"
| "Charter,Bold"
| "Charter,BoldItalic"
| "Charter,Italic"
| "Charter-Black"
| "Charter-Roman"
| "Cochin"
| "Cochin,Bold"
| "Cochin,BoldItalic"
| "Cochin,Italic"
| "Comic Sans MS,Bold"
| "ComicSansMS"
| "Copperplate"
| "Copperplate,Bold"
| "Copperplate-Light"
| "Courier"
| "Courier New,Bold"
| "Courier New,BoldItalic"
| "Courier New,Italic"
| "Courier,Bold"
| "Courier-Oblique"
| "CourierNewPSMT"
| "DIN Alternate,Bold"
| "DIN Condensed,Bold"
| "Didot"
| "Didot,Bold"
| "Didot,Italic"
| "Futura Medium,Italic"
| "Futura-CondensedMedium"
| "Futura-Medium"
| "Geneva"
| "GenevaCyr"
| "Georgia"
| "Georgia,Bold"
| "Georgia,BoldItalic"
| "Georgia,Italic"
| "Gill Sans"
| "Gill Sans Light,Italic"
| "Gill Sans,Bold"
| "Gill Sans,BoldItalic"
| "Gill Sans,UltraBold"
| "GillSans,Italic"
| "GillSans-Light"
| "Helvetica"
| "Helvetica CY,Bold"
| "Helvetica Neue"
| "Helvetica Neue Condensed Black"
| "Helvetica Neue Condensed,Bold"
| "Helvetica Neue Light"
| "Helvetica Neue Light,Italic"
| "Helvetica Neue Medium"
| "Helvetica Neue Medium,Italic"
| "Helvetica Neue Thin"
| "Helvetica Neue Thin,Italic"
| "Helvetica Neue UltraLight"
| "Helvetica Neue UltraLight,Italic"
| "Helvetica Neue,Bold"
| "Helvetica Neue,BoldItalic"
| "Helvetica Neue,Italic"
| "Helvetica,Bold"
| "Helvetica-Light"
| "Helvetica-LightOblique"
| "Helvetica-Oblique"
| "HelveticaCY-Oblique"
| "HelveticaCY-Plain"
| "Herculanum"
| "Hoefler Text Black,Italic"
| "Hoefler Text,Italic"
| "HoeflerText-Black"
| "HoeflerText-Ornaments"
| "HoeflerText-Regular"
| "Impact"
| "Iowan Old Style Black,Italic"
| "Iowan Old Style,Bold"
| "Iowan Old Style,BoldItalic"
| "Iowan Old Style,Italic"
| "IowanOldStyle-Black"
| "IowanOldStyle-Roman"
| "IowanOldStyle-Titling"
| "Lucida Grande"
| "Lucida Grande,Bold"
| "Marion,Bold"
| "Marion,Italic"
| "Marion-Regular"
| "Marker Felt Thin"
| "Marker Felt Wide"
| "Menlo,Bold"
| "Menlo,BoldItalic"
| "Menlo,Italic"
| "Menlo-Regular"
| "Monaco"
| "Noteworthy,Bold"
| "Noteworthy-Light"
| "Optima,Bold"
| "Optima,BoldItalic"
| "Optima,Italic"
| "Optima-ExtraBlack"
| "Optima-Regular"
| "PT Mono,Bold"
| "PT Sans Caption,Bold"
| "PT Sans Narrow,Bold"
| "PT Sans,Bold"
| "PT Sans,BoldItalic"
| "PT Sans,Italic"
| "PT Serif Caption,Italic"
| "PT Serif,Bold"
| "PT Serif,BoldItalic"
| "PT Serif,Italic"
| "PTMono-Regular"
| "PTSans-Caption"
| "PTSans-Narrow"
| "PTSans-Regular"
| "PTSerif-Caption"
| "PTSerif-Regular"
| "Palatino,Bold"
| "Palatino,BoldItalic"
| "Palatino,Italic"
| "Palatino-Roman"
| "Papyrus"
| "Papyrus-Condensed"
| "PlantagenetCherokee"
| "STBaoli-SC-Regular"
| "STYuanti-SC-Light"
| "STYuanti-SC-Regular"
| "SavoyeLetPlain"
| "Seravek"
| "Seravek ExtraLight, Italic"
| "Seravek Light,Italic"
| "Seravek Medium,Italic"
| "Seravek,Bold"
| "Seravek,BoldItalic"
| "Seravek,Italic"
| "Seravek-ExtraLight"
| "Seravek-Light"
| "Seravek-Medium"
| "Skia-Regular"
| "Skia-Regular_Black"
| "Skia-Regular_Black-Condensed"
| "Skia-Regular_Black-Extended"
| "Skia-Regular_Condensed"
| "Skia-Regular_Extended"
| "Skia-Regular_Light"
| "Skia-Regular_Light-Condensed"
| "Skia-Regular_Light-Extended"
| "Snell Roundhand,Bold"
| "SnellRoundhand"
| "SnellRoundhand-Black"
| "Superclarendon Black,Italic"
| "Superclarendon Light,Italic"
| "Superclarendon,Bold"
| "Superclarendon,BoldItalic"
| "Superclarendon,Italic"
| "Superclarendon-Black"
| "Superclarendon-Light"
| "Superclarendon-Regular"
| "Tahoma"
| "Tahoma,Bold"
| "Times New Roman,Bold"
| "Times New Roman,BoldItalic"
| "Times New Roman,Italic"
| "Times,Bold"
| "Times,BoldItalic"
| "Times,Italic"
| "Times-Roman"
| "TimesNewRomanPSMT"
| "Trebuchet MS,Bold"
| "Trebuchet MS,BoldItalic"
| "Trebuchet MS,Italic"
| "TrebuchetMS"
| "Verdana"
| "Verdana,Bold"
| "Verdana,BoldItalic"
| "Verdana,Italic"
| "Waseem"
| "WaseemLight"
| "Webdings"
| "Wingdings-Regular"
| "Wingdings2"
| "Wingdings3"
| "Yuanti SC,Bold"
| "YuppySC-Regular"
| "Zapf Dingbats"
| "Zapfino";
/** @see {@link https://docs.imgix.com/apis/rendering/adjustment} */
export type AdjustmentParams = Partial<{
/**
* Adjusts the brightness of the source image.
* @see {@link https://docs.imgix.com/apis/url/adjustment/bri}
*/
bri: number;
/**
* Adjusts the contrast of the source image.
* @see {@link https://docs.imgix.com/apis/url/adjustment/con}
*/
con: number;
/**
* Adjusts the exposure of the output image.
* @see {@link https://docs.imgix.com/apis/url/adjustment/exp}
*/
exp: number;
/**
* Adjusts the gamma of the source image.
* @see {@link https://docs.imgix.com/apis/url/adjustment/gam}
*/
gam: number;
/**
* Adjusts the highlights of the source image.
* @see {@link https://docs.imgix.com/apis/url/adjustment/high}
*/
high: number;
/**
* Adjusts the hue of the source image.
* @see {@link https://docs.imgix.com/apis/url/adjustment/hue}
*/
hue: number;
/**
* Inverts the colors on the source image.
* @see {@link https://docs.imgix.com/apis/url/adjustment/invert}
*/
invert: boolean;
/**
* Adjusts the saturation of an image.
* @see {@link https://docs.imgix.com/apis/url/adjustment/sat}
*/
sat: number;
/**
* Adjusts the highlights of the source image.
* @see {@link https://docs.imgix.com/apis/url/adjustment/shad}
*/
shad: number;
/**
* Adjusts the sharpness of the source image.
* @see {@link https://docs.imgix.com/apis/url/adjustment/sharp}
*/
sharp: number;
/**
* Sharpens the source image using an unsharp mask.
* @see {@link https://docs.imgix.com/apis/url/adjustment/usm}
*/
usm: number;
/**
* Specifies the radius for an unsharp mask operation.
* @see {@link https://docs.imgix.com/apis/url/adjustment/usmrad}
*/
usmrad: number;
/**
* Adjusts the vibrance of an image.
* @see {@link https://docs.imgix.com/apis/url/adjustment/vib}
*/
vib: number;
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/animation} */
export type AnimationParams = Partial<{}>;
/** @see {@link https://docs.imgix.com/apis/rendering/auto} */
export type AutoParams = Partial<{
/**
* Applies automatic enhancements to images.
* @see {@link https://docs.imgix.com/apis/url/auto}
*/
auto: "enhance" | "format" | "redeye" | "compress" | "true";
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/blending} */
export type BlendingParams = Partial<{
/**
* Changes the blend alignment relative to the parent image.
* @see {@link https://docs.imgix.com/apis/url/blending/blend-align}
*/
"blend-align": "top" | "bottom" | "middle" | "left" | "right" | "center";
/**
* Changes the alpha of the blend image.
* @see {@link https://docs.imgix.com/apis/url/blending/blend-alpha}
*/
"blend-alpha": number;
/**
* Specifies a color to use when applying the blend.
* @see {@link https://docs.imgix.com/apis/url/blending/blend-color}
*/
"blend-color": HexColor | ColorKeywordValue;
/**
* Specifies the type of crop for blend images.
* @see {@link https://docs.imgix.com/apis/url/blending/blend-crop}
*/
"blend-crop": "top" | "bottom" | "left" | "right" | "faces";
/**
* Specifies the fit mode for blend images.
* @see {@link https://docs.imgix.com/apis/url/blending/blend-fit}
*/
"blend-fit": "clamp" | "clip" | "crop" | "scale" | "max";
/**
* Adjusts the height of the blend image.
* @see {@link https://docs.imgix.com/apis/url/blending/blend-h}
*/
"blend-h": number;
/**
* Sets the blend mode for a blend image.
* @see {@link https://docs.imgix.com/apis/url/blending/blend-mode}
*/
"blend-mode":
| "color"
| "burn"
| "dodge"
| "darken"
| "difference"
| "exclusion"
| "hardlight"
| "hue"
| "lighten"
| "luminosity"
| "multiply"
| "overlay"
| "saturation"
| "screen"
| "softlight"
| "normal";
/**
* Applies padding to the blend image.
* @see {@link https://docs.imgix.com/apis/url/blending/blend-pad}
*/
"blend-pad": number;
/**
* Adjusts the size of the blend image.
* @see {@link https://docs.imgix.com/apis/url/blending/blend-size}
*/
"blend-size": "inherit";
/**
* Adjusts the width of the blend image.
* @see {@link https://docs.imgix.com/apis/url/blending/blend-w}
*/
"blend-w": number;
/**
* Adjusts the x-offset of the blend image relative to its parent.
* @see {@link https://docs.imgix.com/apis/url/blending/blend-x}
*/
"blend-x": number;
/**
* Adjusts the y-offset of the blend image relative to its parent.
* @see {@link https://docs.imgix.com/apis/url/blending/blend-y}
*/
"blend-y": number;
/**
* Specifies the location of the blend image.
* @see {@link https://docs.imgix.com/apis/url/blending/blend}
*/
blend: HexColor | ColorKeywordValue | string;
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/border-and-padding} */
export type BorderAndPaddingParams = Partial<{
/**
* Sets bottom border of an image.
* @see {@link https://docs.imgix.com/apis/url/border-and-padding/border-bottom}
*/
"border-bottom": number;
/**
* Sets left border of an image.
* @see {@link https://docs.imgix.com/apis/url/border-and-padding/border-left}
*/
"border-left": number;
/**
* Sets the inner radius of the image's border in pixels.
* @see {@link https://docs.imgix.com/apis/url/border-and-padding/border-radius-inner}
*/
"border-radius-inner": number;
/**
* Sets the outer radius of the image's border in pixels.
* @see {@link https://docs.imgix.com/apis/url/border-and-padding/border-radius}
*/
"border-radius": number;
/**
* Sets right border of an image.
* @see {@link https://docs.imgix.com/apis/url/border-and-padding/border-right}
*/
"border-right": number;
/**
* Sets top border of an image.
* @see {@link https://docs.imgix.com/apis/url/border-and-padding/border-top}
*/
"border-top": number;
/**
* Applies a border to an image.
* @see {@link https://docs.imgix.com/apis/url/border-and-padding/border}
*/
border: unknown;
/**
* Sets bottom padding of an image.
* @see {@link https://docs.imgix.com/apis/url/border-and-padding/pad-bottom}
*/
"pad-bottom": number;
/**
* Sets left padding of an image.
* @see {@link https://docs.imgix.com/apis/url/border-and-padding/pad-left}
*/
"pad-left": number;
/**
* Sets right padding of an image.
* @see {@link https://docs.imgix.com/apis/url/border-and-padding/pad-right}
*/
"pad-right": number;
/**
* Sets top padding of an image.
* @see {@link https://docs.imgix.com/apis/url/border-and-padding/pad-top}
*/
"pad-top": number;
/**
* Pads an image.
* @see {@link https://docs.imgix.com/apis/url/border-and-padding/pad}
*/
pad: number;
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/color-palette} */
export type ColorPaletteParams = Partial<{
/**
* Specifies how many colors to include in a palette-extraction response.
* @see {@link https://docs.imgix.com/apis/url/color-palette/colors}
*/
colors: number;
/**
* Specifies an output format for palette-extraction.
* @see {@link https://docs.imgix.com/apis/url/color-palette/palette}
*/
palette: "css" | "json";
/**
* Specifies a CSS prefix for all classes in palette-extraction.
* @see {@link https://docs.imgix.com/apis/url/color-palette/prefix}
*/
prefix: string;
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/expiration} */
export type ExpirationParams = Partial<{
/**
* A Unix timestamp specifying a UTC time. Requests made to this URL after that time will output a 404 status code.
* @see {@link https://docs.imgix.com/apis/url/expires}
*/
expires: string;
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/face-detection} */
export type FaceDetectionParams = Partial<{
/**
* Selects a face to crop to.
* @see {@link https://docs.imgix.com/apis/url/face-detection/faceindex}
*/
faceindex: number;
/**
* Adjusts padding around a selected face.
* @see {@link https://docs.imgix.com/apis/url/face-detection/facepad}
*/
facepad: number;
/**
* Specifies that face data should be included in output when combined with `fm=json`.
* @see {@link https://docs.imgix.com/apis/url/face-detection/faces}
*/
faces: number;
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/fill} */
export type FillParams = Partial<{
/**
* Colors the background of padded and partially-transparent images.
* @see {@link https://docs.imgix.com/apis/url/bg}
*/
bg: HexColor | ColorKeywordValue;
/**
* Sets the fill color for images with additional space created by the fit setting
* @see {@link https://docs.imgix.com/apis/url/fill/fill-color}
*/
"fill-color": HexColor | ColorKeywordValue;
/**
* Determines how to fill in additional space created by the fit setting
* @see {@link https://docs.imgix.com/apis/url/fill/fill}
*/
fill: "solid" | "blur";
/**
* Sets grid colors for the transparency checkerboard grid.
*/
"grid-colors": unknown;
/**
* Sets grid size for the transparency checkerboard grid.
*/
"grid-size": number;
/**
* Adds checkerboard behind images which support transparency.
* @see {@link https://docs.imgix.com/apis/url/fill/transparency}
*/
transparency: "grid";
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/focalpoint-crop} */
export type FocalpointCropParams = Partial<{
/**
* Displays crosshairs identifying the location of the set focal point
* @see {@link https://docs.imgix.com/apis/url/focalpoint-crop/fp-debug}
*/
"fp-debug": boolean;
/**
* Sets the relative horizontal value for the focal point of an image
* @see {@link https://docs.imgix.com/apis/url/focalpoint-crop/fp-x}
*/
"fp-x": number;
/**
* Sets the relative vertical value for the focal point of an image
* @see {@link https://docs.imgix.com/apis/url/focalpoint-crop/fp-y}
*/
"fp-y": number;
/**
* Sets the relative zoom value for the focal point of an image
* @see {@link https://docs.imgix.com/apis/url/focalpoint-crop/fp-z}
*/
"fp-z": number;
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/format} */
export type FormatParams = Partial<{
/**
* Sets one or more Client-Hints headers
* @see {@link https://docs.imgix.com/apis/url/format/ch}
*/
ch: "width" | "dpr" | "save-data";
/**
* Specifies the output chroma subsampling rate.
* @see {@link https://docs.imgix.com/apis/url/format/chromasub}
*/
chromasub: number;
/**
* Limits the number of unique colors in an image.
* @see {@link https://docs.imgix.com/apis/url/format/colorquant}
*/
colorquant: number;
/**
* Specifies the color space of the output image.
* @see {@link https://docs.imgix.com/apis/url/format/cs}
*/
cs: "srgb" | "adobergb1998" | "tinysrgb" | "strip";
/**
* Forces a URL to use send-file in its response.
* @see {@link https://docs.imgix.com/apis/url/format/dl}
*/
dl: string;
/**
* Sets the DPI value in the EXIF header.
* @see {@link https://docs.imgix.com/apis/url/format/dpi}
*/
dpi: number;
/**
* Changes the format of the output image.
* @see {@link https://docs.imgix.com/apis/url/format/fm}
*/
fm:
| "gif"
| "jpg"
| "jp2"
| "json"
| "jxr"
| "pjpg"
| "mp4"
| "png"
| "png8"
| "png32"
| "webp"
| "webm"
| "blurhash"
| "avif";
/**
* Determine if IPTC data should be passed for JPEG images.
*/
iptc: "allow" | "block";
/**
* Specifies that the output image should be a lossless variant.
* @see {@link https://docs.imgix.com/apis/url/format/lossless}
*/
lossless: boolean;
/**
* Adjusts the quality of an output image.
* @see {@link https://docs.imgix.com/apis/url/format/q}
*/
q: number;
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/mask} */
export type MaskParams = Partial<{
/**
* Specifies the radius value for a rounded corner mask.
* @see {@link https://docs.imgix.com/apis/url/mask/corner-radius}
*/
"corner-radius": number;
/**
* Colors the background of the transparent mask area of images
* @see {@link https://docs.imgix.com/apis/url/mask/mask-bg}
*/
"mask-bg": HexColor | ColorKeywordValue;
/**
* Defines the type of mask and specifies the URL if that type is selected.
* @see {@link https://docs.imgix.com/apis/url/mask}
*/
mask: "ellipse" | "corners" | string;
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/misc} */
export type MiscParams = Partial<{}>;
/** @see {@link https://docs.imgix.com/apis/rendering/noise-reduction} */
export type NoiseReductionParams = Partial<{
/**
* Reduces the noise in an image.
* @see {@link https://docs.imgix.com/apis/url/noise-reduction/nr}
*/
nr: number;
/**
* Provides a threshold by which to sharpen an image.
* @see {@link https://docs.imgix.com/apis/url/noise-reduction/nrs}
*/
nrs: number;
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/pdf} */
export type PdfParams = Partial<{
/**
* Selects a page from a PDF for display.
* @see {@link https://docs.imgix.com/apis/url/pdf/page}
*/
page: number;
/**
* Enables or disables PDF annotation.
* @see {@link https://docs.imgix.com/apis/url/pdf/pdf-annotation}
*/
"pdf-annotation": boolean;
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/pixel-density} */
export type PixelDensityParams = Partial<{
/**
* Adjusts the device-pixel ratio of the output image.
* @see {@link https://docs.imgix.com/apis/url/dpr}
*/
dpr: number;
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/rotation} */
export type RotationParams = Partial<{
/**
* Flips an image on a specified axis.
* @see {@link https://docs.imgix.com/apis/url/rotation/flip}
*/
flip: "h" | "v" | "hv";
/**
* Changes the image orientation.
* @see {@link https://docs.imgix.com/apis/url/rotation/orient}
*/
orient: number;
/**
* Rotates an image by a specified number of degrees.
* @see {@link https://docs.imgix.com/apis/url/rotation/rot}
*/
rot: number;
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/size} */
export type SizeParams = Partial<{
/**
* Specifies an aspect ratio to maintain when resizing and cropping the image
* @see {@link https://docs.imgix.com/apis/url/size/ar}
*/
ar: number;
/**
* Specifies how to crop an image.
* @see {@link https://docs.imgix.com/apis/url/size/crop}
*/
crop:
| "top"
| "bottom"
| "left"
| "right"
| "faces"
| "entropy"
| "edges"
| "focalpoint";
/**
* Specifies how to map the source image to the output image dimensions.
* @see {@link https://docs.imgix.com/apis/url/size/fit}
*/
fit:
| "clamp"
| "clip"
| "crop"
| "facearea"
| "fill"
| "fillmax"
| "max"
| "min"
| "scale";
/**
* Adjusts the height of the output image.
* @see {@link https://docs.imgix.com/apis/url/size/h}
*/
h: number;
/**
* Specifies the maximum height of the output image in pixels.
* @see {@link https://docs.imgix.com/apis/url/size/max-height}
*/
"max-h": number;
/**
* Specifies the maximum width of the output image in pixels.
* @see {@link https://docs.imgix.com/apis/url/size/max-width}
*/
"max-w": number;
/**
* Specifies the minimum height of the output image in pixels.
* @see {@link https://docs.imgix.com/apis/url/size/min-height}
*/
"min-h": number;
/**
* Specifies the minimum width of the output image in pixels.
* @see {@link https://docs.imgix.com/apis/url/size/min-width}
*/
"min-w": number;
/**
* Crops an image to a specified rectangle.
* @see {@link https://docs.imgix.com/apis/url/size/rect}
*/
rect: unknown;
/**
* Adjusts the width of the output image.
* @see {@link https://docs.imgix.com/apis/url/size/w}
*/
w: number;
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/stylize} */
export type StylizeParams = Partial<{
/**
* Applies a gaussian blur to an image.
* @see {@link https://docs.imgix.com/apis/url/stylize/blur}
*/
blur: number;
/**
* Changes the alpha of the duotone effect atop the source image.
* @see {@link https://docs.imgix.com/apis/url/stylize/duotone-alpha}
*/
"duotone-alpha": number;
/**
* Applies a duotone effect to the source image.
* @see {@link https://docs.imgix.com/apis/url/stylize/duotone}
*/
duotone: unknown;
/**
* Applies a half-tone effect to the source image.
* @see {@link https://docs.imgix.com/apis/url/stylize/htn}
*/
htn: number;
/**
* Applies a monochrome effect to the source image.
* @see {@link https://docs.imgix.com/apis/url/stylize/monochrome}
*/
monochrome: HexColor | ColorKeywordValue;
/**
* Applies a pixelation effect to an image.
* @see {@link https://docs.imgix.com/apis/url/stylize/px}
*/
px: number;
/**
* Applies a sepia effect to an image.
* @see {@link https://docs.imgix.com/apis/url/stylize/sepia}
*/
sepia: number;
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/text} */
export type TextParams = Partial<{
/**
* Sets the vertical and horizontal alignment of rendered text relative to the base image.
* @see {@link https://docs.imgix.com/apis/url/text/txt-align}
*/
"txt-align": "top" | "middle" | "bottom" | "left" | "center" | "right";
/**
* Sets the clipping properties of rendered text.
* @see {@link https://docs.imgix.com/apis/url/text/txt-clip}
*/
"txt-clip": "start" | "middle" | "end" | "ellipsis";
/**
* Specifies the color of rendered text.
* @see {@link https://docs.imgix.com/apis/url/text/txt-color}
*/
"txt-color": HexColor | ColorKeywordValue;
/**
* Specifies the fit approach for rendered text.
* @see {@link https://docs.imgix.com/apis/url/text/txt-fit}
*/
"txt-fit": "max";
/**
* Selects a font for rendered text.
* @see {@link https://docs.imgix.com/apis/url/text/txt-font}
*/
"txt-font": FontValue;
/**
* Controls the level of ligature substitution
* @see {@link https://docs.imgix.com/apis/url/text/txt-lig}
*/
"txt-lig": number;
/**
* Specifies a text outline color.
* @see {@link https://docs.imgix.com/apis/url/text/txt-line-color}
*/
"txt-line-color": HexColor | ColorKeywordValue;
/**
* Outlines the rendered text with a specified color.
* @see {@link https://docs.imgix.com/apis/url/text/txt-line}
*/
"txt-line": number;
/**
* Specifies the padding (in device-independent pixels) between a textbox and the edges of the base image.
* @see {@link https://docs.imgix.com/apis/url/text/txt-pad}
*/
"txt-pad": number;
/**
* Applies a shadow to rendered text.
* @see {@link https://docs.imgix.com/apis/url/text/txt-shad}
*/
"txt-shad": number;
/**
* Sets the font size of rendered text.
* @see {@link https://docs.imgix.com/apis/url/text/txt-size}
*/
"txt-size": number;
/**
* Sets the width of rendered text.
* @see {@link https://docs.imgix.com/apis/url/text/txt-width}
*/
"txt-width": number;
/**
* Sets the horizontal (x) position of the text in pixels relative to the left edge of the base image.
* @see {@link https://docs.imgix.com/apis/url/text/txt-x}
*/
"txt-x": number;
/**
* Sets the vertical (y) position of the text in pixels relative to the top edge of the base image.
* @see {@link https://docs.imgix.com/apis/url/text/txt-y}
*/
"txt-y": number;
/**
* Sets the text string to render.
* @see {@link https://docs.imgix.com/apis/url/text/txt}
*/
txt: string;
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/typesetting} */
export type TypesettingParams = Partial<{
/**
* Sets the leading (line spacing) for rendered text. Only works on the multi-line text endpoint.
* @see {@link https://docs.imgix.com/apis/url/typesetting/txt-lead}
*/
"txt-lead": number;
/**
* Sets the tracking (letter spacing) for rendered text. Only works on the multi-line text endpoint.
* @see {@link https://docs.imgix.com/apis/url/typesetting/txt-track}
*/
"txt-track": number;
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/trim} */
export type TrimParams = Partial<{
/**
* Specifies a trim color on a trim operation.
* @see {@link https://docs.imgix.com/apis/url/trim/trim-color}
*/
"trim-color": HexColor | ColorKeywordValue;
/**
* Specifies the mean difference on a trim operation.
* @see {@link https://docs.imgix.com/apis/url/trim/trim-md}
*/
"trim-md": number;
/**
* Pads the area of the source image before trimming.
* @see {@link https://docs.imgix.com/apis/url/trim/trim-pad}
*/
"trim-pad": number;
/**
* Specifies the standard deviation on a trim operation.
* @see {@link https://docs.imgix.com/apis/url/trim/trim-sd}
*/
"trim-sd": number;
/**
* Specifies the tolerance on a trim operation.
* @see {@link https://docs.imgix.com/apis/url/trim/trim-tol}
*/
"trim-tol": number;
/**
* Trims the source image.
* @see {@link https://docs.imgix.com/apis/url/trim/trim}
*/
trim: "auto" | "color";
}>;
/** @see {@link https://docs.imgix.com/apis/rendering/watermark} */
export type WatermarkParams = Partial<{
/**
* Changes the watermark alignment relative to the parent image.
* @see {@link https://docs.imgix.com/apis/url/watermark/mark-align}
*/
"mark-align": "top" | "middle" | "bottom" | "left" | "center" | "right";
/**
* Changes the alpha of the watermark image.
* @see {@link https://docs.imgix.com/apis/url/watermark/mark-alpha}
*/
"mark-alpha": number;
/**
* Changes base URL of the watermark image.
* @see {@link https://docs.imgix.com/apis/url/watermark/mark-base}
*/
"mark-base": string;
/**
* Specifies the fit mode for watermark images.
* @see {@link https://docs.imgix.com/apis/url/watermark/mark-fit}
*/
"mark-fit": "clip" | "crop" | "fill" | "max" | "scale";
/**
* Adjusts the height of the watermark image.
* @see {@link https://docs.imgix.com/apis/url/watermark/mark-h}
*/
"mark-h": number;
/**
* Applies padding to the watermark image.
* @see {@link https://docs.imgix.com/apis/url/watermark/mark-pad}
*/
"mark-pad": number;
/**
* Rotates a watermark or tiled watermarks by a specified number of degrees.
* @see {@link https://docs.imgix.com/apis/url/watermark/mark-rot}
*/
"mark-rot": number;
/**
* Adjusts the scale of the watermark image.
* @see {@link https://docs.imgix.com/apis/url/watermark/mark-scale}
*/
"mark-scale": number;
/**
* Adds tiled watermark.
* @see {@link https://docs.imgix.com/apis/url/watermark/mark-tile}
*/
"mark-tile": "grid";
/**
* Adjusts the width of the watermark image.
* @see {@link https://docs.imgix.com/apis/url/watermark/mark-w}
*/
"mark-w": number;
/**
* Adjusts the x-offset of the watermark image relative to its parent.
* @see {@link https://docs.imgix.com/apis/url/watermark/mark-x}
*/
"mark-x": number;
/**
* Adjusts the y-offset of the watermark image relative to its parent.
* @see {@link https://docs.imgix.com/apis/url/watermark/mark-y}
*/
"mark-y": number;
/**
* Specifies the location of the watermark image.
* @see {@link https://docs.imgix.com/apis/url/watermark/mark}
*/
mark: string;
}>;
/** @see {@link https://docs.imgix.com/apis/rendering} */
export type Params = AdjustmentParams &
AnimationParams &
AutoParams &
BlendingParams &
BorderAndPaddingParams &
ColorPaletteParams &
ExpirationParams &
FaceDetectionParams &
FillParams &
FocalpointCropParams &
FormatParams &
MaskParams &
MiscParams &
NoiseReductionParams &
PdfParams &
PixelDensityParams &
RotationParams &
SizeParams &
StylizeParams &
TextParams &
TypesettingParams &
TrimParams &
WatermarkParams;
}