Transloadit
Pricing
  • File Uploads
  • File Importing
  • Batch Processing
  • Video Encoding
  • Audio Encoding
  • Image Processing
  • Document Processing
  • Artificial Intelligence
  • File Filtering & Security
  • Media Cataloging
  • File Compression
  • Code Evaluation
  • File Exporting
  • Smart CDN
  • View all services
  • Explore integrations
  • Explore live demos
  • Uppy
  • TransloaditKit
  • Android SDK
  • Node.js SDK
  • Python SDK
  • Ruby SDK
  • Go SDK
  • Java SDK
  • PHP SDK
  • Zapier
  • MCP Server
  • Transloadit CLI
  • Terraform
  • Essentials
  • Best Practices
  • FAQ
  • Robots
  • API
  • Formats
  • Build your first app
  • About
  • Comparisons
  • Open Source
  • Testimonials
  • Jobs
  • Security
  • Posts
  • DevTimes
  • DevTips
  • Press
  • Research
  • Case Studies
  • Solutions
  • Guides
  • Glossary
  • Legal
  • Tools
  • Helping Coursera bring education to millions around the world
  • Transloadit Support
  • Open Source Support
  • Service level agreement
EssentialsRobotsFAQAPIFormatsBest Practices
Getting started
  • Overview
  • My first App
  • Saving result files
Topics
  • Assembly Instructions
  • Assembly Variables
  • Dynamic Evaluation
  • Templates
  • Webhooks
  • Third party Credentials
  • Builtin Templates
  • Resize Strategies
  • Assembly Execution Progress
  • Workspaces
  • AI Agents
  • Advanced use Parameter
  • The ignore_errors Parameter
Software Development Kits
  • Overview
  • Android SDK
  • Browsers
  • Convex
  • cURL
  • Go SDK
  • Java SDK
  • MCP Server
  • Multipart Form
  • Node.js SDK
  • PHP SDK
  • Python SDK
  • Ruby SDK
  • Terraform
  • TransloaditKit
  • Zapier Integration
Migration
  • Migration guides
  • Migrate from Cloudinary to Transloadit
  • Migrate from Uploadcare to Transloadit
  • Migrate from Mux to Transloadit
  • Migrate from Filestack to Transloadit

Builtin Templates

Templates are usually something you create and manage in your own Workspace. Builtin Templates are different: they are maintained by Transloadit, live inside API2, and can be referenced by template_id like any other Template.

Use Builtin Templates when you want a stable, versioned starting point for common transformations without having to create a Template first.

Names starting with builtin/ are reserved for Builtin Templates. You cannot create, edit, or delete Templates with that name prefix.

Use a Builtin Template

Set template_id to a builtin slug:

{
  "template_id": "builtin/encode-hls-video",
  "steps": {}
}

Notes:

  • steps is optional. Step overrides are allowed unless the Builtin’s Instructions below set allow_steps_override to false.
  • Use builtin/<name> to resolve to the latest known version.
  • Use builtin/<name>@latest for an explicit alias to the latest known version.
  • Use builtin/<name>@<version> to pin to a specific version.

List Builtin Templates

Builtin Templates can be included in GET /templates using the include_builtin query parameter. See the Templates list API for details.

Available Builtin Templates

SlugDescriptionRequired fieldsOptional fields
builtin/caption-video
builtin/caption-video@0.0.2
Input
Upload
Transcribe uploaded videos and burn plain captions (default) or social captions with uppercase Poppins text and active-word highlighting. Returns the captioned video and SRT cues; social also returns timestamped JSON from the same transcription. Set highlight_color for the social accent. Omit font_size for automatic social fitting; plain defaults to 16. vocabulary supplies spelling hints with Replicate or GCP; AWS rejects nonempty vocabulary. On the CLI, run transloadit assemblies create --template builtin/caption-video@0.0.2 --field style=social --field vocabulary=Transloadit -i video.mp4 -o out/. For multiple hints, use --field vocabulary=Transloadit,Uppy; repeated vocabulary flags replace earlier values. API callers can pass an array, including terms containing commas. Language fields describe speech, never translation.Nonefields.border_color (default "000000"), fields.font_color (default "FFFFFF"), fields.font_size, fields.highlight_color (default "FFD60A"), fields.position (default "bottom"), fields.provider (default "auto"), fields.source_language (default "en-US"), fields.style (default "plain"), fields.target_language, and fields.vocabulary (default [])
builtin/capture-webpage
builtin/capture-webpage@0.0.1
Input
Upload
Capture a public HTTP(S) webpage or uploaded HTML as PNG, JPEG or PDF. Defaults to a full-page PNG at 1024 pixels wide. Set fullpage to false for a fixed viewport. A URL takes precedence over uploaded HTML. Custom request headers, browser actions and credentials are not sent by this Builtin.Nonefields.delay (default 0), fields.format (default "png"), fields.fullpage (default true), fields.height (default 768), fields.url (default null), fields.wait_until (default "networkidle"), and fields.width (default 1024)
builtin/convert-to-pdf
builtin/convert-to-pdf@0.0.1
Input
Upload
Convert uploaded Office documents, HTML, Markdown and text to PDF using the document conversion Robot. Markdown uses the existing format and theme settings. Paper size, margins and background printing apply to HTML and Markdown rendering; Office and text keep the converter’s native layout.Nonefields.markdown_format (default "gfm"), fields.markdown_theme (default "github"), fields.pdf_format (default "Letter"), fields.pdf_margin (default "6.25mm,6.25mm,14.11mm,6.25mm"), and fields.pdf_print_background (default true)
builtin/encode-hls-video
builtin/encode-hls-video@0.0.1
Input
Upload
Encode an input video into HLS renditions (270p, 360p, 540p) with an adaptive playlist.NoneNone
builtin/encode-video
builtin/encode-video@0.0.1
Input
Upload
Encode uploaded videos for the web with the existing MP4 and WebM presets. Defaults to 720p MP4 with turbo encoding. Each supplied dimension overrides that preset dimension; an omitted dimension keeps the preset value. Output size depends on the source and preset; it is not a strict byte limit.Nonefields.height, fields.preset (default "web/mp4/720p"), fields.turbo (default true), and fields.width
builtin/extract-text
builtin/extract-text@0.0.1
Input
Upload
Extract readable text or JSON from uploaded images, PDFs and Office documents. Images use OCR; Office documents first convert to PDF. Documents try native text before OCR by default, using AWS unless GCP is selected. Passwords, page selection and per-page grouping require native document extraction. Unsupported input formats are skipped.Nonefields.ocr_provider (default "aws"), fields.page_range, fields.password, fields.text_format (default "txt"), fields.text_granularity (default "document"), and fields.text_method (default "auto")
builtin/generate-image
builtin/generate-image@0.0.1
Input
No input
Generate an image from a prompt using /image/generate.fields.promptNone
builtin/generate-video
builtin/generate-video@0.0.1
Input
No input
Generate a video from a prompt using /video/generate.fields.promptNone
builtin/prepare-image
builtin/prepare-image@0.0.1
Input
Upload
Prepare uploaded images for a website: auto-orient, fit within 1600×1600, encode as WebP at quality 75, strip metadata, and preserve transparency. Configure w/h (1–8000), f, q (1–100), r, bg, and strip. Set strip with a JSON boolean in params.fields.strip. JPEG output requires an opaque bg such as #ffffff.Nonefields.bg (default "#00000000"), fields.f (default "webp"), fields.h (default 1600), fields.q (default 75), fields.r (default "fit"), fields.strip (default true), and fields.w (default 1600)
builtin/public-preview
builtin/public-preview@0.0.2
Input
No input
Preview an exact retained Storage version under a declared public prefix. Requires fields.input (asset_id) and fields.v (version_id). Authorization uses the asset’s current path. Public transforms are bounded to 4096px and quality 85; verified versions permit immutable caching.fields.input and fields.vfields.bg (default "#ffffff"), fields.cdn, fields.f (default "jpg"), fields.h (default 300), fields.q (default 75), fields.r (default "pad"), and fields.w (default 400)
builtin/public-serve
builtin/public-serve@0.0.2
Input
No input
Serve an exact retained Storage version under a declared public prefix. Requires fields.input (asset_id) and fields.v (version_id). Authorization uses the asset’s current path; verified versions permit immutable caching. Cached bytes cannot be recalled after access is removed.fields.input and fields.vfields.cdn
builtin/remove-background
builtin/remove-background@0.0.1
Input
Upload
Remove the background from uploaded photos, keeping the foreground as transparent PNG. Uses the Robot’s automatic provider by default. Other formats or background selection require provider transloadit.Nonefields.format (default "png"), fields.provider (default "auto"), and fields.select (default "foreground")
builtin/storage-preview
builtin/storage-preview@0.0.3
Input
No input
Preview an exact retained Storage version. Requires fields.input (asset_id) and fields.v (version_id). Keeps the preview controls and transparency of 0.0.2. Requires a signed URL; IDs do not grant access.fields.input and fields.vfields.bg (default "#ffffff"), fields.cdn, fields.f (default "jpg"), fields.h (default 300), fields.q (default 75), fields.r (default "pad"), and fields.w (default 400)
builtin/storage-serve
builtin/storage-serve@0.0.3
Input
No input
Serve exact retained Storage bytes. Requires signed input (asset_id) and v (version_id). Optional download is a Unicode attachment filename; omitted serves inline. Supports HTTP Range without transcoding.fields.input and fields.vfields.cdn and fields.download (default "")
builtin/transcribe
builtin/transcribe@0.0.2
Input
Upload
Transcribe uploaded audio or video into timestamped JSON, plain text, SRT or WebVTT. Uses automatic provider selection. source_language is the spoken-language code for AWS/GCP; target_language is an optional spoken-language hint for Replicate, never translation. vocabulary supplies spelling hints for brand names and jargon with Replicate or GCP; AWS rejects nonempty vocabulary. On the CLI, run transloadit assemblies create --template builtin/transcribe@0.0.2 --field vocabulary=Transloadit,Uppy -i audio.mp3 -o out/. Repeated vocabulary flags replace earlier values. API callers can pass an array, including terms containing commas.Nonefields.format (default "json"), fields.provider (default "auto"), fields.source_language (default "en-US"), fields.target_language, and fields.vocabulary (default [])
builtin/video-covers
builtin/video-covers@0.0.1
Input
Upload
Extract video cover images at regular intervals or exact offsets, optionally selecting strong frames with smart AI scoring. Uses the thumbnail Robot’s defaults and limits. Set smart to the JSON boolean false for exact offsets; smart selection uses count instead. Dimensions default to the input video. AI scoring can fall back with an Assembly warning.Nonefields.count (default 8), fields.format (default "jpeg"), fields.height, fields.offsets (default []), fields.smart (default false), fields.smart_max_candidates (default 20), and fields.width

Instructions and field schema

builtin/caption-video@0.0.2
{
  "content": {
    "allow_steps_override": false,
    "fields": {
      "border_color": "000000",
      "font_color": "FFFFFF",
      "highlight_color": "FFD60A",
      "position": "bottom",
      "provider": "auto",
      "source_language": "en-US",
      "style": "plain",
      "vocabulary": []
    },
    "steps": {
      ":original": {
        "robot": "/upload/handle"
      },
      "captioned": {
        "border_color": "${String(fields.border_color)}",
        "ffmpeg_stack": "v7",
        "font_color": "${String(fields.font_color)}",
        "font_size": "${fields.font_size ?? (fields.style === \"social\" ? undefined : 16)}",
        "highlight_color": "${String(fields.highlight_color)}",
        "position": "${fields.position}",
        "preset": "empty",
        "result": true,
        "robot": "/video/subtitle",
        "style": "${fields.style === \"social\" ? \"social\" : undefined}",
        "subtitles_type": "burned",
        "use": {
          "group_by_original": true,
          "steps": [
            {
              "as": "video",
              "name": ":original"
            },
            {
              "as": "subtitles",
              "name": "transcription"
            }
          ]
        }
      },
      "transcript": {
        "format": "srt",
        "result": true,
        "robot": "/document/convert",
        "use": "transcription"
      },
      "transcription": {
        "format": "${fields.style === \"social\" ? \"json\" : \"srt\"}",
        "provider": "${fields.provider}",
        "result": "${fields.style === \"social\"}",
        "robot": "/speech/transcribe",
        "source_language": "${fields.source_language}",
        "target_language": "${fields.target_language || \"\"}",
        "use": ":original",
        "vocabulary": "${Array.isArray(fields.vocabulary) ? fields.vocabulary : fields.vocabulary.trim() === \"\" ? [] : fields.vocabulary.split(\",\")}"
      }
    }
  },
  "fields_schema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": true,
    "properties": {
      "border_color": {
        "anyOf": [
          {
            "pattern": "^#?[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$",
            "type": "string"
          },
          {
            "pattern": "^#?[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$",
            "type": "string"
          }
        ],
        "default": "000000"
      },
      "font_color": {
        "anyOf": [
          {
            "pattern": "^#?[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$",
            "type": "string"
          },
          {
            "pattern": "^#?[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$",
            "type": "string"
          }
        ],
        "default": "FFFFFF"
      },
      "font_size": {
        "description": "\nSpecifies the size of the text in the 288-pixel subtitle coordinate space, scaled with the video height. The default is 16. With `\"style\": \"social\"`, the default is 54. For social JSON captions, an omitted value scales this default with the shorter side of the video, increases it by 18% for portrait video, and shrinks captions as needed to fit at most two lines. Poppins capital letters are about 7.5% of the shorter side before fitting, or about 9% for portrait video. An explicit value keeps height-relative sizing and disables automatic fitting.\n",
        "minimum": 1,
        "type": "integer"
      },
      "highlight_color": {
        "anyOf": [
          {
            "pattern": "^#?[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$",
            "type": "string"
          },
          {
            "pattern": "^#?[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$",
            "type": "string"
          }
        ],
        "default": "FFD60A"
      },
      "position": {
        "default": "bottom",
        "enum": [
          "bottom",
          "bottom-left",
          "bottom-right",
          "center",
          "left",
          "right",
          "top",
          "top-left",
          "top-right"
        ],
        "type": "string"
      },
      "provider": {
        "default": "auto",
        "enum": [
          "auto",
          "aws",
          "gcp",
          "replicate"
        ],
        "type": "string"
      },
      "source_language": {
        "default": "en-US",
        "type": "string"
      },
      "style": {
        "default": "plain",
        "description": "Plain burns in SRT captions. Social uses timestamped JSON for uppercase Poppins captions with the active word highlighted, automatic fitting and lower-third positioning. Both return SRT cues and the captioned video; social also returns the JSON transcript. highlight_color applies only to social. An explicit font_size overrides automatic fitting; plain defaults to size 16.",
        "enum": [
          "plain",
          "social"
        ],
        "type": "string"
      },
      "target_language": {
        "description": "\nSets the spoken language hint for the `\"replicate\"` provider. Omit this parameter to detect the spoken language automatically. Set it to the full lowercase English language name, such as `\"french\"`, when the spoken language is known. Despite its name, this parameter does not translate speech.\n\nFor the `\"aws\"` and `\"gcp\"` providers, use `source_language` instead.\n",
        "type": "string"
      },
      "vocabulary": {
        "anyOf": [
          {
            "items": {
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 50,
            "type": "array",
            "x-transloadit-input-fidelity": "conservative"
          },
          {
            "type": "string"
          }
        ],
        "default": [],
        "description": "Spelling hints for brand names, jargon and proper nouns. Accepts an array, or a comma-separated string for CLI --field vocabulary=Transloadit,Uppy. Use a native array for terms containing commas. Repeated CLI flags with the same name replace earlier values. Empty means no hints. Up to 50 unique terms (ignoring case), each 1–100 characters after trimming, without control characters. Terms joined with comma-space must fit within 200 UTF-8 bytes. Supported by Replicate and GCP; AWS rejects nonempty vocabulary. Hints improve recognition without guaranteeing it; exact matches use the supplied casing.",
        "x-transloadit-input-fidelity": "conservative"
      }
    },
    "type": "object"
  }
}
builtin/capture-webpage@0.0.1
{
  "content": {
    "allow_steps_override": false,
    "fields": {
      "delay": 0,
      "format": "png",
      "fullpage": true,
      "height": 768,
      "url": null,
      "wait_until": "networkidle",
      "width": 1024
    },
    "steps": {
      ":original": {
        "robot": "/upload/handle"
      },
      "captured": {
        "delay": "${fields.delay}",
        "format": "${fields.format}",
        "fullpage": "${Boolean(fields.fullpage)}",
        "height": "${fields.height}",
        "result": true,
        "robot": "/html/convert",
        "url": "${fields.url ?? null}",
        "use": ":original",
        "wait_until": "${fields.wait_until}",
        "width": "${fields.width}"
      }
    }
  },
  "fields_schema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": true,
    "properties": {
      "delay": {
        "default": 0,
        "minimum": 0,
        "type": "integer"
      },
      "format": {
        "default": "png",
        "enum": [
          "jpeg",
          "jpg",
          "pdf",
          "png"
        ],
        "type": "string"
      },
      "fullpage": {
        "default": true,
        "type": "boolean"
      },
      "height": {
        "default": 768,
        "minimum": 1,
        "type": "integer"
      },
      "url": {
        "anyOf": [
          {
            "pattern": "^[Hh][Tt][Tt][Pp][Ss]?:\\/\\/(?:[^ ]|[ ])",
            "type": "string",
            "x-transloadit-input-fidelity": "conservative"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "description": "Public HTTP(S) URL to capture. Omit or use null to capture uploaded HTML."
      },
      "wait_until": {
        "default": "networkidle",
        "enum": [
          "domcontentloaded",
          "load",
          "networkidle",
          "commit"
        ],
        "type": "string"
      },
      "width": {
        "default": 1024,
        "minimum": 1,
        "type": "integer"
      }
    },
    "type": "object",
    "x-transloadit-input-fidelity": "conservative"
  }
}
builtin/convert-to-pdf@0.0.1
{
  "content": {
    "allow_steps_override": false,
    "fields": {
      "markdown_format": "gfm",
      "markdown_theme": "github",
      "pdf_format": "Letter",
      "pdf_margin": "6.25mm,6.25mm,14.11mm,6.25mm",
      "pdf_print_background": true
    },
    "steps": {
      ":original": {
        "robot": "/upload/handle"
      },
      "pdf": {
        "format": "pdf",
        "markdown_format": "${fields.markdown_format}",
        "markdown_theme": "${fields.markdown_theme}",
        "pdf_format": "${fields.pdf_format}",
        "pdf_margin": "${fields.pdf_margin}",
        "pdf_print_background": "${Boolean(fields.pdf_print_background)}",
        "result": true,
        "robot": "/document/convert",
        "use": ":original"
      }
    }
  },
  "fields_schema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": true,
    "properties": {
      "markdown_format": {
        "default": "gfm",
        "enum": [
          "commonmark",
          "gfm"
        ],
        "type": "string"
      },
      "markdown_theme": {
        "default": "github",
        "enum": [
          "bare",
          "github"
        ],
        "type": "string"
      },
      "pdf_format": {
        "anyOf": [
          {
            "maxLength": 2,
            "minLength": 2,
            "pattern": "^[aA]0$",
            "type": "string"
          },
          {
            "maxLength": 2,
            "minLength": 2,
            "pattern": "^[aA]1$",
            "type": "string"
          },
          {
            "maxLength": 2,
            "minLength": 2,
            "pattern": "^[aA]2$",
            "type": "string"
          },
          {
            "maxLength": 2,
            "minLength": 2,
            "pattern": "^[aA]3$",
            "type": "string"
          },
          {
            "maxLength": 2,
            "minLength": 2,
            "pattern": "^[aA]4$",
            "type": "string"
          },
          {
            "maxLength": 2,
            "minLength": 2,
            "pattern": "^[aA]5$",
            "type": "string"
          },
          {
            "maxLength": 2,
            "minLength": 2,
            "pattern": "^[aA]6$",
            "type": "string"
          },
          {
            "maxLength": 6,
            "minLength": 6,
            "pattern": "^[lL][eE][dD][gG][eE][rR]$",
            "type": "string"
          },
          {
            "maxLength": 5,
            "minLength": 5,
            "pattern": "^[lL][eE][gG][aA][lL]$",
            "type": "string"
          },
          {
            "maxLength": 6,
            "minLength": 6,
            "pattern": "^[lL][eE][tT][tT][eE][rR]$",
            "type": "string"
          },
          {
            "maxLength": 7,
            "minLength": 7,
            "pattern": "^[tT][aA][bB][lL][oO][iI][dD]$",
            "type": "string"
          }
        ],
        "default": "Letter"
      },
      "pdf_margin": {
        "default": "6.25mm,6.25mm,14.11mm,6.25mm",
        "type": "string"
      },
      "pdf_print_background": {
        "default": true,
        "type": "boolean"
      }
    },
    "type": "object"
  }
}
builtin/encode-hls-video@0.0.1
{
  "content": {
    "steps": {
      ":original": {
        "robot": "/upload/handle"
      },
      "adaptive": {
        "playlist_name": "my_playlist.m3u8",
        "robot": "/video/adaptive",
        "technique": "hls",
        "use": {
          "bundle_steps": true,
          "steps": [
            "low",
            "mid",
            "high"
          ]
        }
      },
      "high": {
        "ffmpeg_stack": "v7.0.0",
        "preset": "hls-540p",
        "result": true,
        "robot": "/video/encode",
        "turbo": true,
        "use": ":original"
      },
      "low": {
        "ffmpeg_stack": "v7.0.0",
        "preset": "hls-270p",
        "result": true,
        "robot": "/video/encode",
        "turbo": true,
        "use": ":original"
      },
      "mid": {
        "ffmpeg_stack": "v7.0.0",
        "preset": "hls-360p",
        "result": true,
        "robot": "/video/encode",
        "turbo": true,
        "use": ":original"
      }
    }
  },
  "fields_schema": null
}
builtin/encode-video@0.0.1
{
  "content": {
    "allow_steps_override": false,
    "fields": {
      "preset": "web/mp4/720p",
      "turbo": true
    },
    "steps": {
      ":original": {
        "robot": "/upload/handle"
      },
      "encoded": {
        "result": true,
        "robot": "/file/filter",
        "use": [
          "preset_encoded",
          "sized_encoded"
        ]
      },
      "preset_encoded": {
        "ffmpeg_stack": "v7",
        "preset": "${fields.preset}",
        "robot": "/video/encode",
        "turbo": "${Boolean(fields.turbo)}",
        "use": "preset_inputs"
      },
      "preset_inputs": {
        "declines": [
          [
            "${fields.width}",
            "!empty",
            ""
          ],
          [
            "${fields.height}",
            "!empty",
            ""
          ]
        ],
        "error_on_decline": false,
        "robot": "/file/filter",
        "use": ":original"
      },
      "sized_encoded": {
        "ffmpeg_stack": "v7",
        "height": "${fields.height || null}",
        "preset": "${fields.preset}",
        "robot": "/video/encode",
        "turbo": "${Boolean(fields.turbo)}",
        "use": "sized_inputs",
        "width": "${fields.width || null}"
      },
      "sized_inputs": {
        "accepts": [
          [
            "${fields.width}",
            "!empty",
            ""
          ],
          [
            "${fields.height}",
            "!empty",
            ""
          ]
        ],
        "error_on_decline": false,
        "robot": "/file/filter",
        "use": ":original"
      }
    }
  },
  "fields_schema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": true,
    "properties": {
      "height": {
        "anyOf": [
          {
            "minimum": 1,
            "type": "integer"
          },
          {
            "type": "null"
          }
        ],
        "description": "\nHeight of the new video, in pixels.\n\nIf the value is not specified and the `preset` parameter is available, the `preset`'s [supplied height](/docs/presets/video/) will be implemented.\n"
      },
      "preset": {
        "default": "web/mp4/720p",
        "enum": [
          "ipad",
          "web/mp4/1080p",
          "web/mp4/240p",
          "web/mp4/360p",
          "web/mp4/480p",
          "web/mp4/4k",
          "web/mp4/540p",
          "web/mp4/720p",
          "web/mp4/8k",
          "web/webm/1080p",
          "web/webm/240p",
          "web/webm/360p",
          "web/webm/480p",
          "web/webm/4k",
          "web/webm/720p",
          "web/webm/8k",
          "webm"
        ],
        "type": "string"
      },
      "turbo": {
        "default": true,
        "type": "boolean"
      },
      "width": {
        "anyOf": [
          {
            "minimum": 1,
            "type": "integer"
          },
          {
            "type": "null"
          }
        ],
        "description": "\nWidth of the new video, in pixels.\n\nIf the value is not specified and the `preset` parameter is available, the `preset`'s [supplied width](/docs/presets/video/) will be implemented.\n"
      }
    },
    "type": "object"
  }
}
builtin/extract-text@0.0.1
{
  "content": {
    "allow_steps_override": false,
    "fields": {
      "ocr_provider": "aws",
      "text_format": "txt",
      "text_granularity": "document",
      "text_method": "auto"
    },
    "steps": {
      ":original": {
        "robot": "/upload/handle"
      },
      "converted_pdf": {
        "format": "pdf",
        "robot": "/document/convert",
        "use": "office"
      },
      "document_text": {
        "extract": [
          "text"
        ],
        "ocr_provider": "${fields.ocr_provider}",
        "result": true,
        "robot": "/document/extract",
        "text_format": "${fields.text_format}",
        "text_method": "${fields.text_method}",
        "use": "ocr_documents"
      },
      "image_text": {
        "format": "${fields.text_format === \"txt\" ? \"text\" : \"json\"}",
        "granularity": "full",
        "provider": "${fields.ocr_provider}",
        "result": true,
        "robot": "/image/ocr",
        "use": "images"
      },
      "images": {
        "accepts": [
          [
            "${file.type}",
            "===",
            "image"
          ]
        ],
        "error_on_decline": false,
        "robot": "/file/filter",
        "use": ":original"
      },
      "native_documents": {
        "accepts": [
          [
            "${fields.text_method}",
            "===",
            "native"
          ]
        ],
        "error_on_decline": false,
        "robot": "/file/filter",
        "use": [
          "pdfs",
          "converted_pdf"
        ]
      },
      "native_text": {
        "extract": [
          "text"
        ],
        "page_range": "${fields.page_range || \"\"}",
        "password": "${fields.password || \"\"}",
        "result": true,
        "robot": "/document/extract",
        "text_format": "${fields.text_format}",
        "text_granularity": "${fields.text_granularity}",
        "text_method": "native",
        "use": "native_documents"
      },
      "ocr_documents": {
        "declines": [
          [
            "${fields.text_method}",
            "===",
            "native"
          ]
        ],
        "error_on_decline": false,
        "robot": "/file/filter",
        "use": [
          "pdfs",
          "converted_pdf"
        ]
      },
      "office": {
        "accepts": [
          [
            [
              "text/markdown",
              "application/msword",
              "application/vnd.openxmlformats",
              "application/officedocument.wordprocessingml.document",
              "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
              "text/html",
              "application/xhtml+xml",
              "text/xml",
              "image/jpg",
              "image/jpeg",
              "image/gif",
              "image/png",
              "image/svg",
              "image/svg+xml",
              "application/postscript",
              "application/postscript",
              "application/postscript",
              "text/plain",
              "text/plain",
              "text/comma-separated-values",
              "text/csv",
              "application/excel",
              "application/vnd.ms-excel",
              "application/excel",
              "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
              "application/excel",
              "application/oda",
              "application/odt",
              "application/vnd.oasis.opendocument.text",
              "application/vnd.oasis.opendocument.graphics",
              "application/odd",
              "application/ott",
              "application/mspowerpoint",
              "application/vnd.ms-powerpoint",
              "application/vnd.openxmlformats-officedocument.presentationml.presentation",
              "application/mspowerpoint",
              "application/mspowerpoint",
              "application/mspowerpoint",
              "application/rtf",
              "text/rtf",
              "text/richtext",
              "application/x-latex"
            ],
            "includes",
            "${file.mime}"
          ]
        ],
        "declines": [
          [
            "${file.type}",
            "===",
            "image"
          ],
          [
            "${file.mime}",
            "===",
            "application/pdf"
          ]
        ],
        "error_on_decline": false,
        "robot": "/file/filter",
        "use": ":original"
      },
      "pdfs": {
        "accepts": [
          [
            "${file.mime}",
            "===",
            "application/pdf"
          ]
        ],
        "error_on_decline": false,
        "robot": "/file/filter",
        "use": ":original"
      }
    }
  },
  "fields_schema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": true,
    "properties": {
      "ocr_provider": {
        "default": "aws",
        "enum": [
          "aws",
          "gcp"
        ],
        "type": "string"
      },
      "page_range": {
        "description": "\nOptional comma-separated page selection, such as `\"1\"`, `\"1-3\"`, or `\"1,3-5\"`. Page numbers start at 1. Ranges are clamped to the detected page count.\n\nAt most 1,000 selected pages are allowed per job.\n\nThis is supported for native text extraction and embedded image extraction. OCR extraction currently works on the full document.\n",
        "pattern": "^[\\x09-\\x0D\\x20\\xA0            

   ]*[0-9]+(?:[\\x09-\\x0D\\x20\\xA0            

   ]*-[\\x09-\\x0D\\x20\\xA0            

   ]*[0-9]+)?(?:[\\x09-\\x0D\\x20\\xA0            

   ]*,[\\x09-\\x0D\\x20\\xA0            

   ]*[0-9]+(?:[\\x09-\\x0D\\x20\\xA0            

   ]*-[\\x09-\\x0D\\x20\\xA0            

   ]*[0-9]+)?)*[\\x09-\\x0D\\x20\\xA0            

   ]*$",
        "type": "string"
      },
      "password": {
        "description": "\nPassword used to unlock encrypted PDFs for native text extraction and embedded image extraction. OCR extraction currently does not support encrypted PDFs, so do not combine this with `text_method: \"ocr\"` or `text_method: \"auto\"`.\n",
        "type": "string"
      },
      "text_format": {
        "default": "txt",
        "enum": [
          "txt",
          "json"
        ],
        "type": "string"
      },
      "text_granularity": {
        "default": "document",
        "enum": [
          "document",
          "page"
        ],
        "type": "string"
      },
      "text_method": {
        "default": "auto",
        "enum": [
          "native",
          "ocr",
          "auto"
        ],
        "type": "string"
      }
    },
    "type": "object",
    "x-transloadit-input-fidelity": "conservative"
  }
}
builtin/generate-image@0.0.1
{
  "content": {
    "steps": {
      "generate": {
        "model": "google/nano-banana-pro",
        "prompt": "${fields.prompt}",
        "result": true,
        "robot": "/image/generate"
      }
    }
  },
  "fields_schema": null
}
builtin/generate-video@0.0.1
{
  "content": {
    "steps": {
      "generate": {
        "format": "mp4",
        "model": "minimax/video-01",
        "prompt": "${fields.prompt}",
        "result": true,
        "robot": "/video/generate"
      }
    }
  },
  "fields_schema": null
}
builtin/prepare-image@0.0.1
{
  "content": {
    "allow_steps_override": false,
    "fields": {
      "bg": "#00000000",
      "f": "webp",
      "h": 1600,
      "q": 75,
      "r": "fit",
      "strip": true,
      "w": 1600
    },
    "steps": {
      ":original": {
        "robot": "/upload/handle"
      },
      "prepared": {
        "background": "${fields.bg}",
        "format": "${fields.f}",
        "height": "${fields.h}",
        "imagemagick_stack": "v3.0.1",
        "quality": "${fields.q}",
        "resize_strategy": "${fields.r}",
        "result": true,
        "robot": "/image/resize",
        "rotation": "auto",
        "strip": "${Boolean(fields.strip)}",
        "use": ":original",
        "width": "${fields.w}",
        "zoom": false
      }
    }
  },
  "fields_schema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": true,
    "properties": {
      "bg": {
        "default": "#00000000",
        "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$",
        "type": "string"
      },
      "f": {
        "default": "webp",
        "enum": [
          "avif",
          "gif",
          "jpeg",
          "jpg",
          "png",
          "webp"
        ],
        "type": "string"
      },
      "h": {
        "anyOf": [
          {
            "maximum": 8000,
            "minimum": 1,
            "type": "integer"
          },
          {
            "pattern": "^[1-9][0-9]*$",
            "type": "string",
            "x-transloadit-input-fidelity": "conservative"
          }
        ],
        "default": 1600
      },
      "q": {
        "anyOf": [
          {
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          {
            "pattern": "^(?:[1-9]|[1-9][0-9]|100)$",
            "type": "string"
          }
        ],
        "default": 75
      },
      "r": {
        "default": "fit",
        "enum": [
          "fillcrop",
          "fit",
          "min_fit",
          "pad",
          "stretch"
        ],
        "type": "string"
      },
      "strip": {
        "default": true,
        "description": "Strip metadata. To disable, pass the JSON boolean false in params.fields.strip.",
        "type": "boolean"
      },
      "w": {
        "anyOf": [
          {
            "maximum": 8000,
            "minimum": 1,
            "type": "integer"
          },
          {
            "pattern": "^[1-9][0-9]*$",
            "type": "string",
            "x-transloadit-input-fidelity": "conservative"
          }
        ],
        "default": 1600
      }
    },
    "type": "object",
    "x-transloadit-input-fidelity": "conservative"
  }
}
builtin/public-preview@0.0.2
{
  "content": {
    "allow_steps_override": false,
    "fields": {
      "bg": "#ffffff",
      "f": "jpg",
      "h": 300,
      "q": 75,
      "r": "pad",
      "w": 400
    },
    "steps": {
      "imported": {
        "asset_id": "${fields.input}",
        "robot": "/transloadit/import",
        "version_id": "${fields.v}"
      },
      "optimized": {
        "background": "${fields.bg}",
        "format": "${fields.f}",
        "imagemagick_stack": "v3.0.1",
        "quality": "${fields.q}",
        "robot": "/image/resize",
        "strip": true,
        "use": "previewed"
      },
      "previewed": {
        "background": "${fields.bg}",
        "format": "png",
        "height": "${fields.h}",
        "resize_strategy": "${fields.r}",
        "robot": "/file/preview",
        "use": "imported",
        "waveform_center_color": "0099ccff",
        "waveform_height": "${fields.h}",
        "waveform_outer_color": "0099ccff",
        "waveform_width": "${fields.w}",
        "width": "${fields.w}"
      },
      "served": {
        "robot": "/file/serve",
        "use": "optimized"
      }
    }
  },
  "fields_schema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
      "bg": {
        "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$",
        "type": "string"
      },
      "cdn": {
        "const": "required",
        "type": "string"
      },
      "f": {
        "enum": [
          "avif",
          "gif",
          "jpeg",
          "jpg",
          "png",
          "webp"
        ],
        "type": "string"
      },
      "h": {
        "anyOf": [
          {
            "allOf": [
              {
                "maximum": 8000,
                "minimum": 1,
                "type": "integer"
              },
              {
                "maximum": 4096,
                "type": "number"
              }
            ]
          },
          {
            "pattern": "^[1-9][0-9]*$",
            "type": "string",
            "x-transloadit-input-fidelity": "conservative"
          }
        ],
        "x-transloadit-input-fidelity": "conservative"
      },
      "input": {
        "description": "Case-sensitive, canonical 22-character Base64URL DAM identifier.",
        "pattern": "^[A-Za-z0-9_-]{21}[AQgw]$",
        "type": "string",
        "x-transloadit-description-id": "damId"
      },
      "q": {
        "anyOf": [
          {
            "allOf": [
              {
                "maximum": 100,
                "minimum": 1,
                "type": "integer"
              },
              {
                "maximum": 85,
                "type": "number"
              }
            ]
          },
          {
            "pattern": "^(?:[1-9]|[1-9][0-9]|100)$",
            "type": "string"
          }
        ],
        "x-transloadit-input-fidelity": "conservative"
      },
      "r": {
        "enum": [
          "fillcrop",
          "fit",
          "pad",
          "stretch"
        ],
        "type": "string"
      },
      "v": {
        "description": "Case-sensitive, canonical 22-character Base64URL DAM identifier.",
        "pattern": "^[A-Za-z0-9_-]{21}[AQgw]$",
        "type": "string",
        "x-transloadit-description-id": "damId"
      },
      "w": {
        "anyOf": [
          {
            "allOf": [
              {
                "maximum": 8000,
                "minimum": 1,
                "type": "integer"
              },
              {
                "maximum": 4096,
                "type": "number"
              }
            ]
          },
          {
            "pattern": "^[1-9][0-9]*$",
            "type": "string",
            "x-transloadit-input-fidelity": "conservative"
          }
        ],
        "x-transloadit-input-fidelity": "conservative"
      }
    },
    "required": [
      "bg",
      "f",
      "h",
      "input",
      "q",
      "r",
      "w",
      "v"
    ],
    "type": "object"
  }
}
builtin/public-serve@0.0.2
{
  "content": {
    "allow_steps_override": false,
    "steps": {
      "imported": {
        "asset_id": "${fields.input}",
        "robot": "/transloadit/import",
        "version_id": "${fields.v}"
      },
      "served": {
        "robot": "/file/serve",
        "use": "imported"
      }
    }
  },
  "fields_schema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
      "cdn": {
        "const": "required",
        "type": "string"
      },
      "input": {
        "description": "Case-sensitive, canonical 22-character Base64URL DAM identifier.",
        "pattern": "^[A-Za-z0-9_-]{21}[AQgw]$",
        "type": "string",
        "x-transloadit-description-id": "damId"
      },
      "v": {
        "description": "Case-sensitive, canonical 22-character Base64URL DAM identifier.",
        "pattern": "^[A-Za-z0-9_-]{21}[AQgw]$",
        "type": "string",
        "x-transloadit-description-id": "damId"
      }
    },
    "required": [
      "input",
      "v"
    ],
    "type": "object"
  }
}
builtin/remove-background@0.0.1
{
  "content": {
    "allow_steps_override": false,
    "fields": {
      "format": "png",
      "provider": "auto",
      "select": "foreground"
    },
    "steps": {
      ":original": {
        "robot": "/upload/handle"
      },
      "foreground": {
        "format": "${fields.format}",
        "provider": "${fields.provider}",
        "result": true,
        "robot": "/image/bgremove",
        "select": "${fields.select}",
        "use": ":original"
      }
    }
  },
  "fields_schema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": true,
    "properties": {
      "format": {
        "default": "png",
        "enum": [
          "png",
          "gif",
          "webp"
        ],
        "type": "string"
      },
      "provider": {
        "default": "auto",
        "enum": [
          "auto",
          "transloadit",
          "replicate",
          "fal"
        ],
        "type": "string"
      },
      "select": {
        "default": "foreground",
        "enum": [
          "foreground",
          "background"
        ],
        "type": "string"
      }
    },
    "type": "object",
    "x-transloadit-input-fidelity": "conservative"
  }
}
builtin/storage-preview@0.0.3
{
  "content": {
    "allow_steps_override": false,
    "fields": {
      "bg": "#ffffff",
      "f": "jpg",
      "h": 300,
      "q": 75,
      "r": "pad",
      "w": 400
    },
    "steps": {
      "imported": {
        "asset_id": "${fields.input}",
        "robot": "/transloadit/import",
        "version_id": "${fields.v}"
      },
      "optimized": {
        "background": "${fields.bg}",
        "format": "${fields.f}",
        "imagemagick_stack": "v3.0.1",
        "quality": "${fields.q}",
        "robot": "/image/resize",
        "strip": true,
        "use": "previewed"
      },
      "previewed": {
        "background": "${fields.bg}",
        "format": "png",
        "height": "${fields.h}",
        "resize_strategy": "${fields.r}",
        "robot": "/file/preview",
        "use": "imported",
        "waveform_center_color": "0099ccff",
        "waveform_height": "${fields.h}",
        "waveform_outer_color": "0099ccff",
        "waveform_width": "${fields.w}",
        "width": "${fields.w}"
      },
      "served": {
        "robot": "/file/serve",
        "use": "optimized"
      }
    }
  },
  "fields_schema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
      "bg": {
        "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$",
        "type": "string"
      },
      "cdn": {
        "const": "required",
        "type": "string"
      },
      "f": {
        "enum": [
          "avif",
          "gif",
          "jpeg",
          "jpg",
          "png",
          "webp"
        ],
        "type": "string"
      },
      "h": {
        "anyOf": [
          {
            "maximum": 8000,
            "minimum": 1,
            "type": "integer"
          },
          {
            "pattern": "^[1-9][0-9]*$",
            "type": "string",
            "x-transloadit-input-fidelity": "conservative"
          }
        ]
      },
      "input": {
        "description": "Case-sensitive, canonical 22-character Base64URL DAM identifier.",
        "pattern": "^[A-Za-z0-9_-]{21}[AQgw]$",
        "type": "string",
        "x-transloadit-description-id": "damId"
      },
      "q": {
        "anyOf": [
          {
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          {
            "pattern": "^(?:[1-9]|[1-9][0-9]|100)$",
            "type": "string"
          }
        ]
      },
      "r": {
        "enum": [
          "fillcrop",
          "fit",
          "min_fit",
          "pad",
          "stretch"
        ],
        "type": "string"
      },
      "v": {
        "description": "Case-sensitive, canonical 22-character Base64URL DAM identifier.",
        "pattern": "^[A-Za-z0-9_-]{21}[AQgw]$",
        "type": "string",
        "x-transloadit-description-id": "damId"
      },
      "w": {
        "anyOf": [
          {
            "maximum": 8000,
            "minimum": 1,
            "type": "integer"
          },
          {
            "pattern": "^[1-9][0-9]*$",
            "type": "string",
            "x-transloadit-input-fidelity": "conservative"
          }
        ]
      }
    },
    "required": [
      "bg",
      "f",
      "h",
      "input",
      "q",
      "r",
      "w",
      "v"
    ],
    "type": "object"
  }
}
builtin/storage-serve@0.0.3
{
  "content": {
    "allow_steps_override": false,
    "fields": {
      "download": ""
    },
    "steps": {
      "imported": {
        "asset_id": "${fields.input}",
        "robot": "/transloadit/import",
        "version_id": "${fields.v}"
      },
      "served": {
        "download_name": "${fields.download}",
        "robot": "/file/serve",
        "use": "imported"
      }
    }
  },
  "fields_schema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
      "cdn": {
        "const": "required",
        "type": "string"
      },
      "download": {
        "pattern": "^[^/\\\\\u0000-\u001f-Ÿ]{0,255}$",
        "type": "string"
      },
      "input": {
        "description": "Case-sensitive, canonical 22-character Base64URL DAM identifier.",
        "pattern": "^[A-Za-z0-9_-]{21}[AQgw]$",
        "type": "string",
        "x-transloadit-description-id": "damId"
      },
      "v": {
        "description": "Case-sensitive, canonical 22-character Base64URL DAM identifier.",
        "pattern": "^[A-Za-z0-9_-]{21}[AQgw]$",
        "type": "string",
        "x-transloadit-description-id": "damId"
      }
    },
    "required": [
      "download",
      "input",
      "v"
    ],
    "type": "object"
  }
}
builtin/transcribe@0.0.2
{
  "content": {
    "allow_steps_override": false,
    "fields": {
      "format": "json",
      "provider": "auto",
      "source_language": "en-US",
      "vocabulary": []
    },
    "steps": {
      ":original": {
        "robot": "/upload/handle"
      },
      "transcript": {
        "format": "${fields.format}",
        "provider": "${fields.provider}",
        "result": true,
        "robot": "/speech/transcribe",
        "source_language": "${fields.source_language}",
        "target_language": "${fields.target_language || \"\"}",
        "use": ":original",
        "vocabulary": "${Array.isArray(fields.vocabulary) ? fields.vocabulary : fields.vocabulary.trim() === \"\" ? [] : fields.vocabulary.split(\",\")}"
      }
    }
  },
  "fields_schema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": true,
    "properties": {
      "format": {
        "default": "json",
        "enum": [
          "json",
          "srt",
          "text",
          "webvtt"
        ],
        "type": "string"
      },
      "provider": {
        "default": "auto",
        "enum": [
          "auto",
          "aws",
          "gcp",
          "replicate"
        ],
        "type": "string"
      },
      "source_language": {
        "default": "en-US",
        "type": "string"
      },
      "target_language": {
        "description": "\nSets the spoken language hint for the `\"replicate\"` provider. Omit this parameter to detect the spoken language automatically. Set it to the full lowercase English language name, such as `\"french\"`, when the spoken language is known. Despite its name, this parameter does not translate speech.\n\nFor the `\"aws\"` and `\"gcp\"` providers, use `source_language` instead.\n",
        "type": "string"
      },
      "vocabulary": {
        "anyOf": [
          {
            "items": {
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 50,
            "type": "array",
            "x-transloadit-input-fidelity": "conservative"
          },
          {
            "type": "string"
          }
        ],
        "default": [],
        "description": "Spelling hints for brand names, jargon and proper nouns. Accepts an array, or a comma-separated string for CLI --field vocabulary=Transloadit,Uppy. Use a native array for terms containing commas. Repeated CLI flags with the same name replace earlier values. Empty means no hints. Up to 50 unique terms (ignoring case), each 1–100 characters after trimming, without control characters. Terms joined with comma-space must fit within 200 UTF-8 bytes. Supported by Replicate and GCP; AWS rejects nonempty vocabulary. Hints improve recognition without guaranteeing it; exact matches use the supplied casing.",
        "x-transloadit-input-fidelity": "conservative"
      }
    },
    "type": "object"
  }
}
builtin/video-covers@0.0.1
{
  "content": {
    "allow_steps_override": false,
    "fields": {
      "count": 8,
      "format": "jpeg",
      "offsets": [],
      "smart": false,
      "smart_max_candidates": 20
    },
    "steps": {
      ":original": {
        "robot": "/upload/handle"
      },
      "covers": {
        "count": "${fields.count}",
        "format": "${fields.format}",
        "height": "${fields.height || null}",
        "offsets": "${fields.offsets?.length ? fields.offsets : null}",
        "result": true,
        "robot": "/video/thumbs",
        "smart": "${Boolean(fields.smart)}",
        "smart_max_candidates": "${fields.smart_max_candidates}",
        "use": ":original",
        "width": "${fields.width || null}"
      }
    }
  },
  "fields_schema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": true,
    "properties": {
      "count": {
        "default": 8,
        "maximum": 999,
        "minimum": 1,
        "type": "integer"
      },
      "format": {
        "default": "jpeg",
        "enum": [
          "jpeg",
          "jpg",
          "png"
        ],
        "type": "string"
      },
      "height": {
        "anyOf": [
          {
            "maximum": 1920,
            "minimum": 1,
            "type": "integer"
          },
          {
            "type": "null"
          }
        ],
        "description": "\nThe thumbnail height in pixels, capped like `width`. Omit or use `null` for the original height.\n"
      },
      "offsets": {
        "anyOf": [
          {
            "anyOf": [
              {
                "items": {
                  "type": "number"
                },
                "type": "array"
              },
              {
                "items": {
                  "pattern": "^[0-9]+%$",
                  "type": "string"
                },
                "type": "array"
              }
            ]
          },
          {
            "type": "null"
          }
        ],
        "default": []
      },
      "smart": {
        "default": false,
        "type": "boolean"
      },
      "smart_max_candidates": {
        "default": 20,
        "maximum": 100,
        "minimum": 2,
        "type": "integer"
      },
      "width": {
        "anyOf": [
          {
            "maximum": 1920,
            "minimum": 1,
            "type": "integer"
          },
          {
            "type": "null"
          }
        ],
        "description": "\nThe width of the thumbnail, in pixels. Omit or use `null` for the original width of the video.\n"
      }
    },
    "type": "object"
  }
}
Previous page ← Third party CredentialsNext page Resize Strategies →
Contact support⁠

TransloaditChecking status…

Product

  • Services
  • Pricing
  • Demos
  • Tools
  • Security
  • Support

Company

  • About/Press
  • Blog/Jobs
  • Comparisons/Compliance matrix
  • Research
  • Open source
  • Solutions
  • Pioneers of the web

Docs

  • Getting started
  • Transcoding
  • FAQ
  • API
  • Guides/DevTips
  • Supported formats

More

  • Platform status⁠
  • Community forum⁠
  • Uppy
  • tus⁠

© 2009–2026 Transloadit-II GmbH

Transloadit®, tus®, and Uppy® are registered trademarks of Transloadit-II GmbH in the United States.

PrivacyTermsImprintTrademarksDMCA Policy
EnglishDeutschEspañolFrançaisPortuguês (Brasil)