Transloadit
Tarifs
  • Téléversements de fichiers
  • Importation de fichiers
  • Traitement par lots
  • Encodage vidéo
  • Encodage audio
  • Traitement d’images
  • Traitement de documents
  • Intelligence artificielle
  • Filtrage et sécurité des fichiers
  • Catalogage de médias
  • Compression de fichiers
  • Évaluation de code
  • Exportation de fichiers
  • Smart CDN
  • Voir tous les services
  • Explorer les intégrations (English)
  • Explorer les démos interactives (English)
  • Uppy
  • TransloaditKit
  • SDK Android
  • SDK Node.js
  • SDK Python
  • SDK Ruby
  • SDK Go
  • SDK Java
  • SDK PHP
  • Zapier
  • Serveur MCP
  • Transloadit CLI
  • Terraform
  • Essentiels
  • Bonnes pratiques
  • FAQ
  • Robots
  • API
  • Formats
  • Créer votre première application
  • À propos de Transloadit
  • Comparatifs
  • Projets open source
  • Témoignages
  • Carrières (English)
  • Sécurité
  • Articles
  • Actus dev (English)
  • Astuces dev
  • Presse (English)
  • Recherche (English)
  • Études de cas
  • Solutions
  • Guides
  • Glossaire
  • Juridique (English)
  • Outils
  • Aider Coursera à former des millions de personnes dans le monde
  • Support Transloadit
  • Support open source
  • Accord de niveau de service (English)
EssentielsRobotsFAQAPIFormatsBonnes pratiques
Premiers pas
  • Vue d’ensemble
  • Ma première application
  • Enregistrer les fichiers de résultat
Sujets
  • Assembly Instructions
  • Assembly Variables
  • Évaluation dynamique
  • Templates
  • Webhooks
  • Informations d’identification pour les services tiers
  • Builtin Templates
  • Stratégies de redimensionnement
  • Assembly Execution Progress
  • Workspaces
  • Agents IA
  • Paramètre use avancé
  • Le paramètre ignore_errors
Kits de développement logiciel
  • Vue d’ensemble
  • SDK Android
  • Navigateurs
  • Convex
  • cURL
  • SDK Go
  • SDK Java
  • Serveur MCP
  • Formulaire multipart
  • SDK Node.js
  • SDK PHP
  • SDK Python
  • SDK Ruby
  • Terraform
  • TransloaditKit
  • Intégration Zapier
Migration
  • Guides de migration
  • Migrer de Cloudinary vers Transloadit
  • Migrer d’Uploadcare vers Transloadit
  • Migrer de Mux vers Transloadit
  • Migrer de Filestack vers Transloadit

Builtin Templates

Vous créez et gérez généralement les Templates dans votre propre Workspace. Les Builtin Templates sont différents : ils sont maintenus par Transloadit, résident dans API2 et peuvent être référencés via template_id comme tout autre Template.

Utilisez les Builtin Templates lorsque vous souhaitez un point de départ stable et versionné pour les transformations courantes, sans avoir à créer de Template au préalable.

Les noms commençant par builtin/ sont réservés aux Builtin Templates. Vous ne pouvez pas créer, modifier ou supprimer de Templates dont le nom commence par ce préfixe.

Utiliser un Builtin Template

Définissez template_id sur un slug de Builtin Template :

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

Remarques :

  • steps est facultatif. La redéfinition des Steps est autorisée, sauf si les Instructions du Builtin Template ci-dessous définissent allow_steps_override sur false.
  • Utilisez builtin/<name> pour pointer vers la dernière version connue.
  • Utilisez builtin/<name>@latest pour disposer d’un alias explicite vers la dernière version connue.
  • Utilisez builtin/<name>@<version> pour fixer une version spécifique.

Lister les Builtin Templates

Les Builtin Templates peuvent être inclus dans GET /templates à l’aide du paramètre de requête include_builtin. Consultez l’API de liste des Templates pour en savoir plus.

Builtin Templates disponibles

SlugDescriptionChamps obligatoiresChamps facultatifs
builtin/caption-video
builtin/caption-video@0.0.2
Entrée
Téléversement
Transcrire les vidéos téléversées et incruster des sous-titres simples (par défaut) ou des sous-titres pour les réseaux sociaux avec du texte en Poppins majuscule et une mise en évidence du mot actif. Renvoie la vidéo sous-titrée et les segments SRT ; le style social renvoie également du JSON horodaté issu de la même transcription. Définissez highlight_color pour la couleur d’accentuation du style social. Omettez font_size pour un ajustement automatique du style social ; le style plain utilise 16 par défaut. Le paramètre vocabulary fournit des indications orthographiques avec Replicate ou GCP ; AWS refuse une valeur vocabulary non vide. Dans l’interface en ligne de commande, exécutez transloadit assemblies create --template builtin/caption-video@0.0.2 --field style=social --field vocabulary=Transloadit -i video.mp4 -o out/. Pour plusieurs indications, utilisez --field vocabulary=Transloadit,Uppy ; les options vocabulary répétées remplacent les valeurs précédentes. Les clients de l’API peuvent transmettre un tableau, y compris des termes contenant des virgules. Les champs de langue décrivent la langue parlée, jamais une traduction.Aucunfields.border_color (valeur par défaut : "000000"), fields.font_color (valeur par défaut : "FFFFFF"), fields.font_size, fields.highlight_color (valeur par défaut : "FFD60A"), fields.position (valeur par défaut : "bottom"), fields.provider (valeur par défaut : "auto"), fields.source_language (valeur par défaut : "en-US"), fields.style (valeur par défaut : "plain"), fields.target_language et fields.vocabulary (valeur par défaut : [])
builtin/capture-webpage
builtin/capture-webpage@0.0.1
Entrée
Téléversement
Capturer une page web HTTP(S) publique ou du HTML téléversé au format PNG, JPEG ou PDF. Par défaut, produit un PNG de la page entière avec une largeur de 1024 pixels. Définissez fullpage sur false pour une zone d’affichage fixe. Une URL est prioritaire sur le HTML téléversé. Les en-têtes de requête personnalisés, les actions du navigateur et les informations d’identification ne sont pas envoyés par ce Template intégré.Aucunfields.delay (valeur par défaut : 0), fields.format (valeur par défaut : "png"), fields.fullpage (valeur par défaut : true), fields.height (valeur par défaut : 768), fields.url (valeur par défaut : null), fields.wait_until (valeur par défaut : "networkidle") et fields.width (valeur par défaut : 1024)
builtin/convert-to-pdf
builtin/convert-to-pdf@0.0.1
Entrée
Téléversement
Convertir en PDF les documents Office, le HTML, le Markdown et le texte téléversés à l’aide du Robot de conversion de documents. Markdown utilise les paramètres format et theme existants. Le format du papier, les marges et l’impression de l’arrière-plan s’appliquent au rendu HTML et Markdown ; les documents Office et le texte conservent la mise en page native du convertisseur.Aucunfields.markdown_format (valeur par défaut : "gfm"), fields.markdown_theme (valeur par défaut : "github"), fields.pdf_format (valeur par défaut : "Letter"), fields.pdf_margin (valeur par défaut : "6.25mm,6.25mm,14.11mm,6.25mm") et fields.pdf_print_background (valeur par défaut : true)
builtin/encode-hls-video
builtin/encode-hls-video@0.0.1
Entrée
Téléversement
Encoder une vidéo d’entrée en variantes HLS (270p, 360p, 540p) avec une liste de lecture adaptative.AucunAucun
builtin/encode-video
builtin/encode-video@0.0.1
Entrée
Téléversement
Encoder les vidéos téléversées pour le web avec les préréglages MP4 et WebM existants. Par défaut, produit du MP4 en 720p avec l’encodage turbo. Chaque dimension fournie remplace la dimension correspondante du préréglage ; une dimension omise conserve la valeur du préréglage. La taille de sortie dépend de la source et du préréglage ; ce n’est pas une limite stricte en octets.Aucunfields.height, fields.preset (valeur par défaut : "web/mp4/720p"), fields.turbo (valeur par défaut : true) et fields.width
builtin/extract-text
builtin/extract-text@0.0.1
Entrée
Téléversement
Extraire du texte lisible ou du JSON à partir d’images, de PDF et de documents Office téléversés. Les images utilisent l’OCR ; les documents Office sont d’abord convertis en PDF. Pour les documents, une extraction du texte natif est tentée avant l’OCR par défaut, avec AWS sauf si GCP est sélectionné. Les mots de passe, la sélection de pages et le regroupement par page nécessitent l’extraction native de documents. Les formats d’entrée non pris en charge sont ignorés.Aucunfields.ocr_provider (valeur par défaut : "aws"), fields.page_range, fields.password, fields.text_format (valeur par défaut : "txt"), fields.text_granularity (valeur par défaut : "document") et fields.text_method (valeur par défaut : "auto")
builtin/generate-image
builtin/generate-image@0.0.1
Entrée
Aucune entrée
Générer une image à partir d’une invite avec /image/generate.fields.promptAucun
builtin/generate-video
builtin/generate-video@0.0.1
Entrée
Aucune entrée
Générer une vidéo à partir d’une invite avec /video/generate.fields.promptAucun
builtin/prepare-image
builtin/prepare-image@0.0.1
Entrée
Téléversement
Préparer les images téléversées pour un site web : les orienter automatiquement, les redimensionner dans les limites de 1600×1600, les encoder en WebP avec une qualité de 75, supprimer les métadonnées et préserver la transparence. Configurez w/h (1–8000), f, q (1–100), r, bg et strip. Définissez le paramètre strip à l’aide d’un booléen JSON dans params.fields.strip. La sortie JPEG nécessite une valeur bg opaque telle que #ffffff.Aucunfields.bg (valeur par défaut : "#00000000"), fields.f (valeur par défaut : "webp"), fields.h (valeur par défaut : 1600), fields.q (valeur par défaut : 75), fields.r (valeur par défaut : "fit"), fields.strip (valeur par défaut : true) et fields.w (valeur par défaut : 1600)
builtin/public-preview
builtin/public-preview@0.0.2
Entrée
Aucune entrée
Prévisualiser une version précise conservée dans le stockage sous un préfixe public déclaré. Nécessite les paramètres fields.input (asset_id) et fields.v (version_id). L’autorisation utilise le chemin actuel de la ressource. Les transformations publiques sont limitées à 4096 px et à une qualité de 85 ; les versions vérifiées permettent une mise en cache immuable.fields.input et fields.vfields.bg (valeur par défaut : "#ffffff"), fields.cdn, fields.f (valeur par défaut : "jpg"), fields.h (valeur par défaut : 300), fields.q (valeur par défaut : 75), fields.r (valeur par défaut : "pad") et fields.w (valeur par défaut : 400)
builtin/public-serve
builtin/public-serve@0.0.2
Entrée
Aucune entrée
Servir une version précise conservée dans le stockage sous un préfixe public déclaré. Nécessite les paramètres fields.input (asset_id) et fields.v (version_id). L’autorisation utilise le chemin actuel de la ressource ; les versions vérifiées permettent une mise en cache immuable. Les octets mis en cache ne peuvent pas être retirés après la suppression de l’accès.fields.input et fields.vfields.cdn
builtin/remove-background
builtin/remove-background@0.0.1
Entrée
Téléversement
Supprimer l’arrière-plan des photos téléversées en conservant le premier plan au format PNG transparent. Utilise par défaut le fournisseur automatique du Robot. Les autres formats ou la sélection de l’arrière-plan nécessitent le fournisseur transloadit.Aucunfields.format (valeur par défaut : "png"), fields.provider (valeur par défaut : "auto") et fields.select (valeur par défaut : "foreground")
builtin/storage-preview
builtin/storage-preview@0.0.3
Entrée
Aucune entrée
Prévisualiser une version précise conservée dans le stockage. Nécessite les paramètres fields.input (asset_id) et fields.v (version_id). Conserve les commandes de prévisualisation et la transparence de la version 0.0.2. Nécessite une URL signée ; les identifiants n’accordent pas l’accès.fields.input et fields.vfields.bg (valeur par défaut : "#ffffff"), fields.cdn, fields.f (valeur par défaut : "jpg"), fields.h (valeur par défaut : 300), fields.q (valeur par défaut : 75), fields.r (valeur par défaut : "pad") et fields.w (valeur par défaut : 400)
builtin/storage-serve
builtin/storage-serve@0.0.3
Entrée
Aucune entrée
Servir les octets exacts conservés dans le stockage. Nécessite les paramètres signés input (asset_id) et v (version_id). Le paramètre download facultatif indique un nom de fichier de pièce jointe en Unicode ; s’il est omis, le contenu est servi pour affichage direct. Prend en charge HTTP Range sans transcodage.fields.input et fields.vfields.cdn et fields.download (valeur par défaut : "")
builtin/transcribe
builtin/transcribe@0.0.2
Entrée
Téléversement
Transcrire les fichiers audio ou vidéo téléversés en JSON horodaté, en texte brut, en SRT ou en WebVTT. Utilise la sélection automatique du fournisseur. Le paramètre source_language est le code de la langue parlée pour AWS/GCP ; le paramètre target_language est une indication facultative de la langue parlée pour Replicate, jamais une traduction. Le paramètre vocabulary fournit des indications orthographiques pour les noms de marques et le jargon avec Replicate ou GCP ; AWS refuse une valeur vocabulary non vide. Dans l’interface en ligne de commande, exécutez transloadit assemblies create --template builtin/transcribe@0.0.2 --field vocabulary=Transloadit,Uppy -i audio.mp3 -o out/. Les options vocabulary répétées remplacent les valeurs précédentes. Les clients de l’API peuvent transmettre un tableau, y compris des termes contenant des virgules.Aucunfields.format (valeur par défaut : "json"), fields.provider (valeur par défaut : "auto"), fields.source_language (valeur par défaut : "en-US"), fields.target_language et fields.vocabulary (valeur par défaut : [])
builtin/video-covers
builtin/video-covers@0.0.1
Entrée
Téléversement
Extraire des images de couverture vidéo à intervalles réguliers ou à des positions temporelles exactes, avec la possibilité de sélectionner des images de qualité grâce à une évaluation intelligente par IA. Utilise les valeurs par défaut et les limites du Robot de création de miniatures. Définissez smart sur le booléen JSON false pour des positions temporelles exactes ; la sélection intelligente utilise plutôt count. Les dimensions sont par défaut celles de la vidéo d’entrée. L’évaluation par IA peut recourir à une solution de repli, avec un avertissement dans l’Assembly.Aucunfields.count (valeur par défaut : 8), fields.format (valeur par défaut : "jpeg"), fields.height, fields.offsets (valeur par défaut : []), fields.smart (valeur par défaut : false), fields.smart_max_candidates (valeur par défaut : 20) et fields.width

Instructions et schéma des champs

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"
  }
}
Page précédente ← Informations d’identification pour les services tiersPage suivante Stratégies de redimensionnement →
Contacter le support⁠

TransloaditVérification de l’état…

Produit

  • Services
  • Tarifs
  • Démos EN (English)
  • Outils
  • Sécurité
  • Support

Entreprise

  • À propos de Transloadit/Presse EN (English)
  • Blog/Carrières EN (English)
  • Comparatifs/Matrice de conformité EN (English)
  • Recherche EN (English)
  • Projets open source
  • Solutions
  • Pionniers du web

Documentation

  • Premiers pas
  • Transcodage
  • FAQ
  • API
  • Guides/Astuces dev
  • Formats pris en charge

Plus

  • État de la plateforme⁠
  • Forum de la communauté⁠
  • Uppy
  • tus⁠

© 2009–2026 Transloadit-II GmbH

Confidentialité EN (English)Conditions EN (English)Mentions légales EN (English)Marques déposées EN (English)Politique DMCA EN (English)
EnglishDeutschEspañolFrançaisPortuguês (Brasil)

Transloadit®, tus® et Uppy® sont des marques déposées de Transloadit-II GmbH aux États-Unis.