Transloadit
Preços
  • Uploads de arquivos
  • Importação de arquivos
  • Processamento em lote
  • Codificação de vídeo
  • Codificação de áudio
  • Processamento de imagens
  • Processamento de documentos
  • Inteligência artificial
  • Filtragem de arquivos e segurança
  • Catalogação de mídia
  • Compressão de arquivos
  • Avaliação de código
  • Exportação de arquivos
  • Smart CDN
  • Ver todos os serviços
  • Explore integrações
  • Explore demonstrações interativas (English)
  • Uppy
  • TransloaditKit
  • SDK para Android
  • SDK para Node.js
  • SDK para Python
  • SDK para Ruby
  • SDK para Go
  • SDK para Java
  • SDK para PHP
  • Zapier
  • Servidor MCP
  • Transloadit CLI
  • Terraform
  • Essenciais
  • Boas práticas
  • Perguntas frequentes
  • Robots
  • API
  • Formatos
  • Crie seu primeiro app
  • Sobre a Transloadit
  • Comparações
  • Código aberto
  • Depoimentos
  • Vagas (English)
  • Segurança
  • Publicações
  • Notícias para devs (English)
  • Dicas para devs
  • Imprensa
  • Pesquisa (English)
  • Estudos de caso
  • Soluções
  • Guias
  • Glossário
  • Jurídico (English)
  • Ferramentas
  • Ajudando a Coursera a levar educação a milhões de pessoas no mundo todo
  • Suporte da Transloadit
  • Suporte para código aberto
  • Acordo de nível de serviço (English)
EssenciaisRobotsPerguntas frequentesAPIFormatosBoas práticas
Primeiros passos
  • Visão geral
  • Meu primeiro app
  • Salvando arquivos de resultado
Tópicos
  • Assembly Instructions
  • Assembly Variables
  • Avaliação dinâmica
  • Templates
  • Webhooks
  • Credenciais de terceiros
  • Builtin Templates
  • Estratégias de redimensionamento
  • Assembly Execution Progress
  • Workspaces
  • Agentes de IA
  • Parâmetro use avançado
  • O parâmetro ignore_errors
Kits de desenvolvimento de software
  • Visão geral
  • SDK para Android
  • Navegadores
  • Convex
  • cURL
  • SDK para Go
  • SDK para Java
  • Servidor MCP
  • Formulário multipart
  • SDK para Node.js
  • SDK para PHP
  • SDK para Python
  • SDK para Ruby
  • Terraform
  • TransloaditKit
  • Integração com Zapier
Migração
  • Guias de migração
  • Migrar do Cloudinary para o Transloadit
  • Migrar do Uploadcare para a Transloadit
  • Migrar da Mux para a Transloadit
  • Migrar do Filestack para a Transloadit

Builtin Templates

Templates geralmente são algo que você cria e gerencia no seu próprio Workspace. Os Builtin Templates são diferentes: eles são mantidos pela Transloadit, ficam dentro da API2 e podem ser referenciados por template_id como qualquer outro Template.

Use os Builtin Templates quando quiser um ponto de partida estável e versionado para transformações comuns sem precisar criar um Template antes.

Nomes que começam com builtin/ são reservados para os Builtin Templates. Você não pode criar, editar ou excluir Templates com esse prefixo de nome.

Usar um Builtin Template

Defina template_id com um slug builtin:

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

Observações:

  • steps é opcional. Sobrescritas de Steps são permitidas, a menos que as Instructions do Builtin Template abaixo definam allow_steps_override como false.
  • Use builtin/<name> para resolver para a versão mais recente conhecida.
  • Use builtin/<name>@latest para um alias explícito para a versão mais recente conhecida.
  • Use builtin/<name>@<version> para fixar uma versão específica.

Listar Builtin Templates

Os Builtin Templates podem ser incluídos em GET /templates usando o parâmetro de consulta include_builtin. Consulte a API de listagem de Templates para mais detalhes.

Builtin Templates disponíveis

SlugDescriçãoCampos obrigatóriosCampos opcionais
builtin/caption-video
builtin/caption-video@0.0.2
Entrada
Envio
Transcreva vídeos enviados por upload e incorpore legendas simples (padrão) ou legendas para redes sociais com texto em Poppins maiúsculo e destaque da palavra ativa. Retorna o vídeo legendado e as marcações SRT; o estilo para redes sociais também retorna JSON com marcações de tempo da mesma transcrição. Defina highlight_color para a cor de destaque do estilo para redes sociais. Omita font_size para ajuste automático nesse estilo; o estilo simples usa 16 por padrão. vocabulary fornece sugestões de grafia com Replicate ou GCP; a AWS rejeita vocabulary não vazio. Na CLI, execute transloadit assemblies create --template builtin/caption-video@0.0.2 --field style=social --field vocabulary=Transloadit -i video.mp4 -o out/. Para várias sugestões, use --field vocabulary=Transloadit,Uppy; flags vocabulary repetidas substituem os valores anteriores. Quem chama a API pode passar um array, incluindo termos que contêm vírgulas. Os campos de idioma descrevem a fala, nunca uma tradução.Nenhumfields.border_color (padrão: "000000"), fields.font_color (padrão: "FFFFFF"), fields.font_size, fields.highlight_color (padrão: "FFD60A"), fields.position (padrão: "bottom"), fields.provider (padrão: "auto"), fields.source_language (padrão: "en-US"), fields.style (padrão: "plain"), fields.target_language e fields.vocabulary (padrão: [])
builtin/capture-webpage
builtin/capture-webpage@0.0.1
Entrada
Envio
Capture uma página pública HTTP(S) ou HTML enviado por upload como PNG, JPEG ou PDF. Por padrão, gera um PNG da página inteira com 1.024 pixels de largura. Defina fullpage como false para uma área de visualização fixa. Uma URL tem precedência sobre o HTML enviado por upload. Cabeçalhos de requisição personalizados, ações do navegador e credenciais não são enviados por este Template integrado.Nenhumfields.delay (padrão: 0), fields.format (padrão: "png"), fields.fullpage (padrão: true), fields.height (padrão: 768), fields.url (padrão: null), fields.wait_until (padrão: "networkidle") e fields.width (padrão: 1024)
builtin/convert-to-pdf
builtin/convert-to-pdf@0.0.1
Entrada
Envio
Converta documentos do Office, HTML, Markdown e texto enviados por upload em PDF usando o Robot de conversão de documentos. O Markdown usa as configurações existentes de formato e tema. O tamanho do papel, as margens e a impressão de fundo se aplicam à renderização de HTML e Markdown; documentos do Office e texto mantêm o layout nativo do conversor.Nenhumfields.markdown_format (padrão: "gfm"), fields.markdown_theme (padrão: "github"), fields.pdf_format (padrão: "Letter"), fields.pdf_margin (padrão: "6.25mm,6.25mm,14.11mm,6.25mm") e fields.pdf_print_background (padrão: true)
builtin/encode-hls-video
builtin/encode-hls-video@0.0.1
Entrada
Envio
Codifica um vídeo de entrada em versões HLS (270p, 360p, 540p) com uma playlist adaptativa.NenhumNenhum
builtin/encode-video
builtin/encode-video@0.0.1
Entrada
Envio
Codifique vídeos enviados por upload para a web com as predefinições existentes de MP4 e WebM. Por padrão, usa MP4 em 720p com codificação turbo. Cada dimensão fornecida substitui a dimensão correspondente da predefinição; uma dimensão omitida mantém o valor da predefinição. O tamanho da saída depende da origem e da predefinição; não é um limite rígido de bytes.Nenhumfields.height, fields.preset (padrão: "web/mp4/720p"), fields.turbo (padrão: true) e fields.width
builtin/extract-text
builtin/extract-text@0.0.1
Entrada
Envio
Extraia texto legível ou JSON de imagens, PDFs e documentos do Office enviados por upload. As imagens usam OCR; os documentos do Office são convertidos primeiro em PDF. Por padrão, a extração de documentos tenta obter o texto nativo antes do OCR, usando a AWS, a menos que o GCP seja selecionado. Senhas, seleção de páginas e agrupamento por página exigem extração nativa de documentos. Formatos de entrada não compatíveis são ignorados.Nenhumfields.ocr_provider (padrão: "aws"), fields.page_range, fields.password, fields.text_format (padrão: "txt"), fields.text_granularity (padrão: "document") e fields.text_method (padrão: "auto")
builtin/generate-image
builtin/generate-image@0.0.1
Entrada
Sem entrada
Gera uma imagem a partir de um prompt usando /image/generate.fields.promptNenhum
builtin/generate-video
builtin/generate-video@0.0.1
Entrada
Sem entrada
Gera um vídeo a partir de um prompt usando /video/generate.fields.promptNenhum
builtin/prepare-image
builtin/prepare-image@0.0.1
Entrada
Envio
Prepare imagens enviadas por upload para um site: oriente automaticamente, ajuste para caber em 1600×1600, codifique como WebP com qualidade 75, remova metadados e preserve a transparência. Configure w/h (1–8000), f, q (1–100), r, bg e strip. Defina strip com um booleano JSON em params.fields.strip. A saída JPEG exige um bg opaco, como #ffffff.Nenhumfields.bg (padrão: "#00000000"), fields.f (padrão: "webp"), fields.h (padrão: 1600), fields.q (padrão: 75), fields.r (padrão: "fit"), fields.strip (padrão: true) e fields.w (padrão: 1600)
builtin/public-preview
builtin/public-preview@0.0.3
Entrada
Sem entrada
Visualize uma versão exata retida no armazenamento sob um prefixo público declarado, com uma única codificação final da imagem. Exige fields.input (asset_id) e fields.v (version_id). A autorização usa o caminho atual do ativo. As transformações públicas são limitadas a 4.096 px e qualidade 85; versões verificadas permitem armazenamento em cache imutável.fields.input e fields.vfields.bg (padrão: "#ffffff"), fields.cdn, fields.f (padrão: "jpg"), fields.h (padrão: 300), fields.q (padrão: 75), fields.r (padrão: "pad") e fields.w (padrão: 400)
builtin/public-serve
builtin/public-serve@0.0.2
Entrada
Sem entrada
Sirva uma versão exata retida no armazenamento sob um prefixo público declarado. Exige fields.input (asset_id) e fields.v (version_id). A autorização usa o caminho atual do ativo; versões verificadas permitem armazenamento em cache imutável. Os bytes em cache não podem ser revogados após a remoção do acesso.fields.input e fields.vfields.cdn
builtin/remove-background
builtin/remove-background@0.0.1
Entrada
Envio
Remova o fundo de fotos enviadas por upload, mantendo o primeiro plano como PNG transparente. Usa o provedor automático do Robot por padrão. Outros formatos ou a seleção de fundo exigem o provedor transloadit.Nenhumfields.format (padrão: "png"), fields.provider (padrão: "auto") e fields.select (padrão: "foreground")
builtin/storage-preview
builtin/storage-preview@0.0.3
Entrada
Sem entrada
Visualize uma versão exata retida no armazenamento. Exige fields.input (asset_id) e fields.v (version_id). Mantém os controles de visualização e a transparência da versão 0.0.2. Exige uma URL assinada; os IDs não concedem acesso.fields.input e fields.vfields.bg (padrão: "#ffffff"), fields.cdn, fields.f (padrão: "jpg"), fields.h (padrão: 300), fields.q (padrão: 75), fields.r (padrão: "pad") e fields.w (padrão: 400)
builtin/storage-serve
builtin/storage-serve@0.0.3
Entrada
Sem entrada
Sirva os bytes exatos retidos no armazenamento. Exige input (asset_id) e v (version_id) assinados. O parâmetro opcional download é um nome de arquivo Unicode para o anexo; quando omitido, o conteúdo é servido inline. Oferece suporte a HTTP Range sem transcodificação.fields.input e fields.vfields.cdn e fields.download (padrão: "")
builtin/transcribe
builtin/transcribe@0.0.2
Entrada
Envio
Transcreva áudio ou vídeo enviado por upload em JSON com marcações de tempo, texto simples, SRT ou WebVTT. Usa seleção automática de provedor. source_language é o código do idioma falado para AWS/GCP; target_language é uma indicação opcional do idioma falado para Replicate, nunca uma tradução. vocabulary fornece sugestões de grafia para nomes de marcas e jargões com Replicate ou GCP; a AWS rejeita vocabulary não vazio. Na CLI, execute transloadit assemblies create --template builtin/transcribe@0.0.2 --field vocabulary=Transloadit,Uppy -i audio.mp3 -o out/. Flags vocabulary repetidas substituem os valores anteriores. Quem chama a API pode passar um array, incluindo termos que contêm vírgulas.Nenhumfields.format (padrão: "json"), fields.provider (padrão: "auto"), fields.source_language (padrão: "en-US"), fields.target_language e fields.vocabulary (padrão: [])
builtin/video-covers
builtin/video-covers@0.0.1
Entrada
Envio
Extraia imagens de capa de vídeos em intervalos regulares ou posições exatas, com a opção de selecionar quadros de destaque por pontuação inteligente com IA. Usa os padrões e limites do Robot de miniaturas. Defina smart como o booleano JSON false para posições exatas; a seleção inteligente usa count em vez disso. Por padrão, as dimensões são as do vídeo de entrada. A pontuação com IA pode recorrer a uma alternativa, com um aviso na Assembly.Nenhumfields.count (padrão: 8), fields.format (padrão: "jpeg"), fields.height, fields.offsets (padrão: []), fields.smart (padrão: false), fields.smart_max_candidates (padrão: 20) e fields.width

Instructions e esquema de campos

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",
        "description": "Output format for this text-only Template. Images are not returned.",
        "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.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}"
      },
      "previewed": {
        "background": "${fields.bg}",
        "format": "${fields.f}",
        "height": "${fields.h}",
        "optimize": false,
        "quality": "${fields.q}",
        "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": "previewed"
      }
    }
  },
  "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}",
        "optimize": false,
        "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"
  }
}
Página anterior ← Credenciais de terceirosPróxima página Estratégias de redimensionamento →
Falar com o suporte⁠

TransloaditVerificando status…

Produto

  • Serviços
  • Preços
  • Demonstrações EN (English)
  • Ferramentas
  • Segurança
  • Suporte

Empresa

  • Sobre a Transloadit/Imprensa
  • Blog/Vagas EN (English)
  • Comparações/Matriz de conformidade
  • Pesquisa EN (English)
  • Código aberto
  • Soluções
  • Pioneiros da web

Documentação

  • Primeiros passos
  • Transcodificação
  • Perguntas frequentes
  • API
  • Guias/Dicas para devs
  • Formatos suportados

Mais

  • Status da plataforma⁠
  • Fórum da comunidade⁠
  • Uppy
  • tus⁠

© 2009–2026 Transloadit-II GmbH

Transloadit®, tus® e Uppy® são marcas registradas de Transloadit-II GmbH nos Estados Unidos.

Privacidade EN (English)Termos EN (English)Aviso legal EN (English)Marcas comerciais EN (English)Política de DMCA EN (English)
EnglishDeutschEspañolFrançaisPortuguês (Brasil)