Transloadit
Preise
  • Datei-Uploads
  • Dateiimport
  • Stapelverarbeitung
  • Video-Encoding
  • Audio-Encoding
  • Bildverarbeitung
  • Dokumentenverarbeitung
  • Künstliche Intelligenz
  • Dateifilterung & Sicherheit
  • Medienkatalogisierung
  • Dateikomprimierung
  • Codeauswertung
  • Dateiexport
  • Smart CDN
  • Alle Services anzeigen
  • Integrationen entdecken (English)
  • Live-Demos entdecken (English)
  • Uppy
  • TransloaditKit
  • Android-SDK
  • Node.js-SDK
  • Python-SDK
  • Ruby-SDK
  • Go-SDK
  • Java-SDK
  • PHP-SDK
  • Zapier
  • MCP-Server
  • Transloadit CLI
  • Terraform
  • Grundlagen
  • Bewährte Verfahren
  • Häufige Fragen
  • Robots
  • API-Endpunkte
  • Formate
  • Erstellen Sie Ihre erste App
  • Über Transloadit
  • Vergleiche
  • Open Source
  • Referenzen
  • Stellen (English)
  • Sicherheit
  • Beiträge
  • Aktuelles für Entwickler (English)
  • Tipps für Entwickler
  • Presse
  • Forschung (English)
  • Fallstudien
  • Lösungen
  • Leitfäden
  • Glossar
  • Rechtliches (English)
  • Werkzeuge
  • Wie wir Coursera helfen, Bildung für Millionen Menschen weltweit zugänglich zu machen
  • Transloadit-Support
  • Open-Source-Support
  • Service Level Agreement (English)
GrundlagenRobotsHäufige FragenAPI-EndpunkteFormateBewährte Verfahren
Erste Schritte
  • Überblick
  • Meine erste App
  • Ergebnisdateien speichern
Themen
  • Assembly Instructions
  • Assembly Variables
  • Dynamische Auswertung
  • Templates
  • Webhooks
  • Zugangsdaten von Drittanbietern
  • Builtin Templates
  • Strategien zur Größenänderung
  • Assembly Execution Progress
  • Workspaces
  • KI-Agenten
  • Erweiterter use-Parameter
  • Der Parameter ignore_errors
Software Development Kits (SDKs)
  • Übersicht
  • Android SDK
  • Browser
  • Convex
  • cURL
  • Go SDK
  • Java SDK
  • MCP-Server
  • Multipart-Formular
  • Node.js SDK
  • PHP SDK
  • Python SDK
  • Ruby SDK
  • Terraform
  • TransloaditKit
  • Zapier-Integration
Datenmigration
  • Migrationsanleitungen
  • Migration von Cloudinary zu Transloadit
  • Migration von Uploadcare zu Transloadit
  • Migration von Mux zu Transloadit
  • Migration von Filestack zu Transloadit

Builtin Templates

Templates erstellen und verwalten Sie üblicherweise in Ihrem eigenen Workspace. Builtin Templates sind anders: Sie werden von Transloadit verwaltet, befinden sich in API2 und können wie jedes andere Template über template_id referenziert werden.

Verwenden Sie Builtin Templates als stabilen, versionierten Ausgangspunkt für gängige Transformationen, ohne zuvor ein Template erstellen zu müssen.

Namen, die mit builtin/ beginnen, sind für Builtin Templates reserviert. Sie können keine Templates mit diesem Namenspräfix erstellen, bearbeiten oder löschen.

Builtin Template verwenden

Setzen Sie template_id auf einen Builtin-Slug:

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

Hinweise:

  • steps ist optional. Steps dürfen überschrieben werden, sofern die folgenden Instructions für das Builtin Template allow_steps_override nicht auf false setzen.
  • Verwenden Sie builtin/<name>, um die neueste bekannte Version aufzulösen.
  • Verwenden Sie builtin/<name>@latest als expliziten Alias für die neueste bekannte Version.
  • Verwenden Sie builtin/<name>@<version>, um eine bestimmte Version festzulegen.

Builtin Templates auflisten

Builtin Templates können über den Abfrageparameter include_builtin in GET /templates einbezogen werden. Weitere Informationen finden Sie in der API für die Template-Liste.

Verfügbare Builtin Templates

URL-KürzelBeschreibungPflichtfelderOptionale Felder
builtin/caption-video
builtin/caption-video@0.0.2
Eingabe
Upload
Transkribieren Sie hochgeladene Videos und brennen Sie einfache Untertitel (Standard) oder Social-Untertitel mit Poppins-Text in Großbuchstaben und Hervorhebung des aktiven Wortes ein. Gibt das Video mit Untertiteln und SRT-Einträge zurück; social liefert zusätzlich JSON mit Zeitstempeln aus derselben Transkription. Legen Sie mit highlight_color die Akzentfarbe für social fest. Lassen Sie font_size für die automatische Größenanpassung bei social weg; bei plain ist der Standardwert 16. vocabulary liefert Schreibweisenhinweise für Replicate oder GCP; AWS lehnt nicht leeres vocabulary ab. Führen Sie in der CLI transloadit assemblies create --template builtin/caption-video@0.0.2 --field style=social --field vocabulary=Transloadit -i video.mp4 -o out/ aus. Verwenden Sie für mehrere Hinweise --field vocabulary=Transloadit,Uppy; wiederholte Flags für vocabulary ersetzen frühere Werte. API-Aufrufer können ein Array übergeben, auch mit Begriffen, die Kommas enthalten. Sprachfelder beschreiben die gesprochene Sprache, niemals eine Übersetzung.Keinefields.border_color (Standard: "000000"), fields.font_color (Standard: "FFFFFF"), fields.font_size, fields.highlight_color (Standard: "FFD60A"), fields.position (Standard: "bottom"), fields.provider (Standard: "auto"), fields.source_language (Standard: "en-US"), fields.style (Standard: "plain"), fields.target_language und fields.vocabulary (Standard: [])
builtin/capture-webpage
builtin/capture-webpage@0.0.1
Eingabe
Upload
Erfassen Sie eine öffentliche HTTP(S)-Webseite oder hochgeladenes HTML als PNG, JPEG oder PDF. Standardmäßig wird die gesamte Seite als PNG mit einer Breite von 1024 Pixeln erfasst. Setzen Sie fullpage für einen festen Viewport auf false. Eine URL hat Vorrang vor hochgeladenem HTML. Benutzerdefinierte Anfrageheader, Browseraktionen und Zugangsdaten werden von diesem Builtin Template nicht gesendet.Keinefields.delay (Standard: 0), fields.format (Standard: "png"), fields.fullpage (Standard: true), fields.height (Standard: 768), fields.url (Standard: null), fields.wait_until (Standard: "networkidle") und fields.width (Standard: 1024)
builtin/convert-to-pdf
builtin/convert-to-pdf@0.0.1
Eingabe
Upload
Konvertieren Sie hochgeladene Office-Dokumente, HTML, Markdown und Text mit dem Robot zur Dokumentkonvertierung in PDF. Markdown verwendet die bestehenden Format- und Designeinstellungen. Papierformat, Ränder und das Drucken von Hintergründen gelten für das Rendern von HTML und Markdown; Office-Dokumente und Text behalten das native Layout des Konverters.Keinefields.markdown_format (Standard: "gfm"), fields.markdown_theme (Standard: "github"), fields.pdf_format (Standard: "Letter"), fields.pdf_margin (Standard: "6.25mm,6.25mm,14.11mm,6.25mm") und fields.pdf_print_background (Standard: true)
builtin/encode-hls-video
builtin/encode-hls-video@0.0.1
Eingabe
Upload
Ein Eingabevideo in HLS-Varianten (270p, 360p, 540p) mit einer adaptiven Playlist codieren.KeineKeine
builtin/encode-video
builtin/encode-video@0.0.1
Eingabe
Upload
Codieren Sie hochgeladene Videos mit den bestehenden MP4- und WebM-Voreinstellungen für das Web. Standardmäßig wird 720p-MP4 mit turbo-Encoding verwendet. Jede angegebene Abmessung überschreibt die entsprechende Abmessung der Voreinstellung; bei einer ausgelassenen Abmessung bleibt deren Wert erhalten. Die Ausgabegröße hängt von der Quelle und der Voreinstellung ab; sie ist keine strikte Byte-Grenze.Keinefields.height, fields.preset (Standard: "web/mp4/720p"), fields.turbo (Standard: true) und fields.width
builtin/extract-text
builtin/extract-text@0.0.1
Eingabe
Upload
Extrahieren Sie lesbaren Text oder JSON aus hochgeladenen Bildern, PDFs und Office-Dokumenten. Bilder verwenden OCR; Office-Dokumente werden zuerst in PDF konvertiert. Bei Dokumenten wird standardmäßig vor OCR die native Textextraktion versucht, mit AWS, sofern nicht GCP ausgewählt ist. Passwörter, Seitenauswahl und seitenweise Gruppierung erfordern die native Dokumentextraktion. Nicht unterstützte Eingabeformate werden übersprungen.Keinefields.ocr_provider (Standard: "aws"), fields.page_range, fields.password, fields.text_format (Standard: "txt"), fields.text_granularity (Standard: "document") und fields.text_method (Standard: "auto")
builtin/generate-image
builtin/generate-image@0.0.1
Eingabe
Keine Eingabe
Mit /image/generate aus einem Prompt ein Bild generieren.fields.promptKeine
builtin/generate-video
builtin/generate-video@0.0.1
Eingabe
Keine Eingabe
Mit /video/generate aus einem Prompt ein Video generieren.fields.promptKeine
builtin/prepare-image
builtin/prepare-image@0.0.1
Eingabe
Upload
Bereiten Sie hochgeladene Bilder für eine Website vor: Richten Sie sie automatisch aus, passen Sie sie in 1600×1600 ein, codieren Sie sie als WebP mit Qualität 75, entfernen Sie Metadaten und bewahren Sie die Transparenz. Konfigurieren Sie w/h (1–8000), f, q (1–100), r, bg und strip. Legen Sie strip mit einem JSON-Booleschen Wert in params.fields.strip fest. Die JPEG-Ausgabe erfordert einen deckenden Wert für bg wie #ffffff.Keinefields.bg (Standard: "#00000000"), fields.f (Standard: "webp"), fields.h (Standard: 1600), fields.q (Standard: 75), fields.r (Standard: "fit"), fields.strip (Standard: true) und fields.w (Standard: 1600)
builtin/public-preview
builtin/public-preview@0.0.2
Eingabe
Keine Eingabe
Zeigen Sie eine bestimmte aufbewahrte Storage-Version unter einem deklarierten öffentlichen Präfix als Vorschau an. Erfordert fields.input (asset_id) und fields.v (version_id). Die Autorisierung verwendet den aktuellen Pfad des Assets. Öffentliche Transformationen sind auf 4096 px und Qualität 85 begrenzt; verifizierte Versionen ermöglichen unveränderliches Caching.fields.input und fields.vfields.bg (Standard: "#ffffff"), fields.cdn, fields.f (Standard: "jpg"), fields.h (Standard: 300), fields.q (Standard: 75), fields.r (Standard: "pad") und fields.w (Standard: 400)
builtin/public-serve
builtin/public-serve@0.0.2
Eingabe
Keine Eingabe
Liefern Sie eine bestimmte aufbewahrte Storage-Version unter einem deklarierten öffentlichen Präfix aus. Erfordert fields.input (asset_id) und fields.v (version_id). Die Autorisierung verwendet den aktuellen Pfad des Assets; verifizierte Versionen ermöglichen unveränderliches Caching. Zwischengespeicherte Bytes können nach dem Entzug des Zugriffs nicht zurückgerufen werden.fields.input und fields.vfields.cdn
builtin/remove-background
builtin/remove-background@0.0.1
Eingabe
Upload
Entfernen Sie den Hintergrund hochgeladener Fotos und behalten Sie den Vordergrund als transparentes PNG bei. Verwendet standardmäßig den automatisch gewählten Anbieter des Robots. Andere Formate oder eine Hintergrundauswahl erfordern transloadit als Anbieter.Keinefields.format (Standard: "png"), fields.provider (Standard: "auto") und fields.select (Standard: "foreground")
builtin/storage-preview
builtin/storage-preview@0.0.3
Eingabe
Keine Eingabe
Zeigen Sie eine bestimmte aufbewahrte Storage-Version als Vorschau an. Erfordert fields.input (asset_id) und fields.v (version_id). Behält die Vorschau-Steuerelemente und Transparenz von 0.0.2 bei. Erfordert eine signierte URL; IDs gewähren keinen Zugriff.fields.input und fields.vfields.bg (Standard: "#ffffff"), fields.cdn, fields.f (Standard: "jpg"), fields.h (Standard: 300), fields.q (Standard: 75), fields.r (Standard: "pad") und fields.w (Standard: 400)
builtin/storage-serve
builtin/storage-serve@0.0.3
Eingabe
Keine Eingabe
Liefern Sie exakt die aufbewahrten Storage-Bytes aus. Erfordert signierte Werte für input (asset_id) und v (version_id). Der optionale Parameter download ist ein Unicode-Dateiname für den Anhang; wird er weggelassen, erfolgt die Auslieferung inline. Unterstützt HTTP Range ohne Transkodierung.fields.input und fields.vfields.cdn und fields.download (Standard: "")
builtin/transcribe
builtin/transcribe@0.0.2
Eingabe
Upload
Transkribieren Sie hochgeladene Audio- oder Videodateien in JSON mit Zeitstempeln, einfachen Text, SRT oder WebVTT. Verwendet die automatische Anbieterauswahl. source_language ist der Code der gesprochenen Sprache für AWS/GCP; target_language ist ein optionaler Hinweis zur gesprochenen Sprache für Replicate, niemals eine Übersetzung. vocabulary liefert Schreibweisenhinweise für Markennamen und Fachbegriffe für Replicate oder GCP; AWS lehnt nicht leeres vocabulary ab. Führen Sie in der CLI transloadit assemblies create --template builtin/transcribe@0.0.2 --field vocabulary=Transloadit,Uppy -i audio.mp3 -o out/ aus. Wiederholte Flags für vocabulary ersetzen frühere Werte. API-Aufrufer können ein Array übergeben, auch mit Begriffen, die Kommas enthalten.Keinefields.format (Standard: "json"), fields.provider (Standard: "auto"), fields.source_language (Standard: "en-US"), fields.target_language und fields.vocabulary (Standard: [])
builtin/video-covers
builtin/video-covers@0.0.1
Eingabe
Upload
Extrahieren Sie Video-Coverbilder in regelmäßigen Abständen oder an exakten Zeitpositionen, optional mit Auswahl aussagekräftiger Einzelbilder durch intelligente KI-Bewertung. Verwendet die Standardwerte und Grenzen des Thumbnail-Robots. Setzen Sie smart für exakte Zeitpositionen auf den JSON-Booleschen Wert false; die intelligente Auswahl verwendet stattdessen count. Die Abmessungen entsprechen standardmäßig dem Eingabevideo. Die KI-Bewertung kann unter Ausgabe einer Assembly-Warnung auf ein Ersatzverfahren zurückgreifen.Keinefields.count (Standard: 8), fields.format (Standard: "jpeg"), fields.height, fields.offsets (Standard: []), fields.smart (Standard: false), fields.smart_max_candidates (Standard: 20) und fields.width

Instructions und Feldschema

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"
  }
}
Vorherige Seite ← Zugangsdaten von DrittanbieternNächste Seite Strategien zur Größenänderung →
Support kontaktieren⁠

TransloaditStatus wird geprüft…

Produkt

  • Dienste
  • Preise
  • Demos EN (English)
  • Werkzeuge
  • Sicherheit
  • Support

Unternehmen

  • Über Transloadit/Presse
  • Blog/Stellen EN (English)
  • Vergleiche/Compliance-Matrix
  • Forschung EN (English)
  • Open Source
  • Lösungen
  • Pioniere des Webs

Dokumentation

  • Erste Schritte
  • Transkodierung
  • Häufige Fragen
  • API-Endpunkte
  • Leitfäden/Tipps für Entwickler
  • Unterstützte Formate

Mehr

  • Plattformstatus⁠
  • Community-Forum⁠
  • Uppy
  • tus⁠

© 2009–2026 Transloadit-II GmbH

Transloadit®, tus® und Uppy® sind in den Vereinigten Staaten eingetragene Marken von Transloadit-II GmbH.

Datenschutz EN (English)Nutzungsbedingungen EN (English)Impressum EN (English)Marken EN (English)DMCA-Richtlinie EN (English)
EnglishDeutschEspañolFrançaisPortuguês (Brasil)