Transloadit
Preços
  • Uploads de arquivos
  • Importação de arquivos
  • Processamento em lote (English)
  • 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 (English)
  • Explore demos ao vivo (English)
  • Uppy
  • TransloaditKit
  • Android SDK
  • Node.js SDK
  • Python SDK
  • Ruby SDK
  • Go SDK
  • Java SDK
  • PHP SDK
  • Zapier
  • MCP Server
  • Transloadit CLI (English)
  • Terraform
  • Essenciais
  • Boas práticas
  • Perguntas frequentes (English)
  • Robots
  • API
  • Formatos (English)
  • Crie seu primeiro app
  • Sobre (English)
  • Comparações (English)
  • Código aberto (English)
  • Depoimentos (English)
  • Vagas (English)
  • Segurança (English)
  • Publicações (English)
  • Notícias para devs (English)
  • Dicas para devs (English)
  • Imprensa (English)
  • Pesquisa (English)
  • Estudos de caso (English)
  • Soluções (English)
  • Guias (English)
  • Glossário (English)
  • Jurídico (English)
  • Ferramentas (English)
  • Ajudando a Coursera a levar educação a milhões de pessoas no mundo todo (English)
  • Suporte da Transloadit
  • Suporte a código aberto (English)
  • Acordo de nível de serviço (English)
EssenciaisRobotsPerguntas frequentesEN (English)APIFormatosEN (English)Boas práticas
Uploads de arquivos
  • /upload/handle
    Gerenciar uploads
Importação de arquivos
  • /azure/import
    Importar arquivos do Azure
  • /backblaze/import
    Importar arquivos do Backblaze
  • /box/import
    Importar arquivos do Box
  • /mega/import
    Importar arquivos do MEGA S4 Object Storage
  • /cloudfiles/import
    Importar arquivos do Rackspace Cloud Files
  • /cloudflare/import
    Importar arquivos do Cloudflare R2
  • /digitalocean/import
    Importar arquivos do DigitalOcean Spaces
  • /dropbox/import
    Importar arquivos do Dropbox
  • /ftp/import
    Importar arquivos de servidores FTP
  • /google/import
    Importar arquivos do Google Cloud Storage
  • /http/import
    Importar arquivos de servidores web
  • /minio/import
    Importar arquivos do MinIO
  • /s3/import
    Importar arquivos do Amazon S3
  • /sftp/import
    Importar arquivos de servidores SFTP
  • /supabase/import
    Importar arquivos do Supabase Storage
  • /swift/import
    Importar arquivos do OpenStack Swift
  • /tigris/import
    Importar arquivos do Tigris
  • /transloadit/import
    Importar arquivos do Transloadit Storage
    EN (English)
  • /vimeo/import
    Importar vídeos do Vimeo
  • /wasabi/import
    Importar arquivos do Wasabi
Codificação de vídeo
  • /video/adaptive
    Converter vídeos para HLS, MPEG-Dash e CMAF
  • /video/artwork
    Extrair ou inserir arte de capa de vídeos
  • /video/concat
    Concatenar vídeos
  • /video/encode
    Transcodificar, redimensionar ou aplicar marca-d’água em vídeos
  • /video/merge
    Mesclar vídeo, áudio e imagens em um único vídeo
  • /video/ondemand
    Transmitir vídeos com codificação sob demanda
  • /video/split
    Dividir vídeo
  • /video/subtitle
    Adicionar legendas a vídeos
  • /video/thumbs
    Extrair miniaturas de vídeos
  • Predefinições de vídeoEN (English)
Codificação de áudio
  • /audio/artwork
    Extrair ou inserir arte de capa de áudios
  • /audio/concat
    Concatenar áudio
  • /audio/split
    Dividir áudio
  • /audio/encode
    Codificar áudio
  • /audio/loop
    Criar loop de áudio
  • /audio/merge
    Mesclar arquivos de áudio em um só
  • /audio/waveform
    Gerar imagens de forma de onda a partir de áudio
  • Predefinições de áudioEN (English)
Processamento de imagens
  • /image/bgremove
    Remover o fundo de imagens
  • /image/enhance
    Aprimorar imagens
    EN (English)
  • /image/merge
    Mesclar várias imagens em uma única imagem
  • /image/optimize
    Otimizar imagens sem perda de qualidade
  • /image/resize
    Converter, redimensionar ou aplicar marca-d’água em imagens
Processamento de documentos
  • /document/autorotate
    Girar documentos automaticamente
  • /document/convert
    Converter documentos para formatos diferentes
  • /document/extract
    Extrair texto e imagens incorporadas
  • /document/merge
    Mesclar documentos em um só
  • /document/optimize
    Otimizar o tamanho de arquivos PDF
    EN (English)
  • /file/read
    Ler o conteúdo de arquivos
  • /document/split
    Extrair páginas
  • /document/thumbs
    Extrair imagens em miniatura de documentos
  • /html/convert
    Fazer capturas de tela de páginas web ou arquivos HTML
Inteligência artificial
  • /document/ocr
    Reconhecer texto em documentos (OCR)
  • /image/describe
    Reconhecer objetos em imagens
  • /image/facedetect
    Detectar rostos em imagens
  • /image/generate
    Gerar imagens a partir de prompts de texto
  • /image/upscale
    Aumentar a resolução de imagens
    EN (English)
  • /image/ocr
    Reconhecer texto em imagens (OCR)
  • /speech/transcribe
    Transcrever fala em arquivos de áudio ou vídeo
  • /text/speak
    Sintetizar fala em documentos
  • /text/translate
    Traduzir texto em documentos
  • /ai/chat
    Gerar respostas de chat com IA
    EN (English)
  • /video/generate
    Gerar vídeos a partir de prompts de texto
Filtragem de arquivos e segurança
  • /file/filter
    Filtrar arquivos
  • /file/verify
    Verificar o tipo de arquivo
  • /file/virusscan
    Analisar arquivos em busca de vírus
Catalogação de mídia
  • /file/hash
    Gerar hash de arquivos
  • /file/preview
    Gerar uma miniatura de pré-visualização
    EN (English)
  • /meta/write
    Gravar metadados em mídias
Compressão de arquivos
  • /file/compress
    Comprimir arquivos
  • /file/decompress
    Descompactar arquivos compactados
Avaliação de código
  • /http/request
    Chamar endpoints HTTP
    EN (English)
  • /script/run
    Executar scripts em Assemblies
Exportação de arquivos
  • DownloadsEN (English)
  • /azure/store
    Exportar arquivos para o Microsoft Azure
  • /backblaze/store
    Exportar arquivos para o Backblaze
  • /box/store
    Exportar arquivos para o Box
  • /mega/store
    Exportar arquivos para o MEGA S4 Object Storage
  • /cloudfiles/store
    Exportar arquivos para o Rackspace Cloud Files
  • /cloudflare/store
    Exportar arquivos para o Cloudflare R2
  • /digitalocean/store
    Exportar arquivos para o DigitalOcean Spaces
  • /dropbox/store
    Exportar arquivos para o Dropbox
  • /ftp/store
    Exportar arquivos para servidores FTP
  • /google/store
    Exportar arquivos para o Google Cloud Storage
  • /minio/store
    Exportar arquivos para o MinIO
  • /s3/store
    Exportar arquivos para o Amazon S3
  • /sftp/store
    Exportar arquivos para servidores SFTP
  • /supabase/store
    Exportar arquivos para o Supabase Storage
  • /swift/store
    Exportar arquivos para o OpenStack Swift
  • /tigris/store
    Exportar arquivos para o Tigris
  • /transloadit/store
    Armazenar arquivos no Transloadit Storage
    EN (English)
  • /tus/store
    Exportar arquivos para servidores compatíveis com tus
  • /vimeo/store
    Exportar arquivos para o Vimeo
  • /wasabi/store
    Exportar arquivos para o Wasabi
  • /youtube/store
    Exportar arquivos para o YouTube
Smart CDN
  • /file/serve
    Servir arquivos para navegadores web
  • /tlcdn/deliver
    Armazenar em cache e entregar arquivos globalmente
  • Preços

Mesclar vídeo, áudio e imagens em um único vídeo

🤖/video/merge compõe um novo vídeo adicionando uma faixa de áudio a uma ou mais imagens estáticas ou a um vídeo existente.

/video/merge Robot

Exemplo de uso

Combine as entradas de imagem e áudio carregadas em um único vídeo:

{
  "steps": {
    "merged": {
      "duration": 12,
      "framerate": "1/4",
      "height": 720,
      "resize_strategy": "pad",
      "robot": "/video/merge",
      "use": [
        {
          "as": "image",
          "name": ":original"
        },
        {
          "as": "audio",
          "name": ":original"
        }
      ],
      "width": 1280
    }
  }
}

Parâmetros

  • interpolate

    boolean | Record<string, boolean>

    Controla se as Assembly Variables são interpoladas em campos individuais de instruções.

    Por padrão, a maioria dos campos de instruções dos Robots interpola Assembly Variables. Defina isso como false para tratar todos os campos de instruções como texto literal, ou defina o caminho de um campo individual como false para tratar apenas esse campo como texto literal. Para campos específicos de um Robot que são literais por padrão, defina isso como true ou defina o caminho desse campo como true para voltar a usar a interpolação.

    Use nomes de campos como path ou caminhos com pontos como ffmpeg.vf para objetos aninhados.

  • output_meta

    Record<string, boolean> | boolean | Array<string>

    Permite especificar um conjunto de metadados cujo cálculo exige mais CPU e que, por isso, vem desativado por padrão para manter o processamento das suas Assemblies rápido.

    Para imagens, você pode adicionar "has_transparency": true neste objeto para extrair se a imagem contém partes transparentes e "dominant_colors": true para extrair um array de códigos de cores hexadecimais da imagem.

    Para imagens, você também pode adicionar "blurhash": true para extrair uma string BlurHash⁠ — uma representação compacta de um placeholder da imagem, útil para exibir uma prévia desfocada enquanto a imagem completa carrega.

    Para vídeos, você pode adicionar o parâmetro "colorspace": true para extrair o espaço de cores do vídeo de saída.

    Para vídeos, você também pode adicionar "interlaced": true para detectar se o vídeo é entrelaçado. Isso combina a flag computacionalmente barata field_order do ffprobe com uma passagem de amostragem idet limitada sobre os primeiros quadros da origem, expondo interlaced, field_order e um objeto de diagnóstico interlace_detection em file.meta. Isso é computacionalmente caro e cobrado de acordo.

    Para áudio, você pode adicionar "mean_volume": true para obter um único valor que representa o volume médio do arquivo de áudio.

    Você também pode definir isso como false para pular a extração de metadados e acelerar a transcodificação.

  • user_meta

    Record<string, any>(padrão: {})

    Adiciona metadados JSON personalizados a cada arquivo emitido sem modificar seu conteúdo. Objetos e arrays aninhados são suportados.

    A herança depende do Robot. Os valores são mesclados com o user_meta existente no arquivo de saída; o Step atual substitui as chaves de nível superior com o mesmo nome. Atribua explicitamente as chaves necessárias quando um Robot criar novas saídas.

    Nos Steps de processamento, ${file.*} se refere à primeira entrada e ${result.*} ao arquivo emitido. Os valores são avaliados para cada saída após a execução do Robot, antes da extração subsequente de metadados e do armazenamento temporário. Em :original, os valores são avaliados para cada upload antes da extração de metadados.

    Os Steps subsequentes leem ${file.user_meta.key}. Consulte Metadados personalizados para ver um exemplo completo e as regras de herança.

  • result

    boolean(padrão: false)

    Se os resultados deste Step devem estar presentes no Assembly Status JSON

  • queue

    batch

    Definir a fila como “batch” rebaixa manualmente a prioridade dos Jobs deste Step, para evitar o consumo de vagas prioritárias de Jobs em Jobs que não precisam de tempo zero de espera na fila

  • force_accept

    boolean(padrão: false)

    Forçar um Robot a aceitar um tipo de arquivo que ele teria ignorado.

    Por padrão, os Robots ignoram arquivos que não conhecem. O 🤖/video/encode, por exemplo, ignora tranquilamente imagens de entrada.

    Com o parâmetro force_accept definido como true, você pode forçar os Robots a aceitar todos os arquivos enviados a eles. Isso normalmente leva a erros e só deve ser usado para depuração ou para lidar com casos extremos.

  • ignore_errors

    boolean | Array<meta | execute>(padrão: [])

    Ignorar erros durante fases específicas do processamento.

    Definir isso como ["meta"] fará com que o Robot ignore erros durante a extração de metadados.

    Definir isso como ["execute"] fará com que o Robot ignore erros durante a fase principal de execução.

    Definir isso como true equivale a ["meta", "execute"] e fará com que erros sejam ignorados nas duas fases.

  • use

    string | Array<string> | Array<object> | object

    Especifica quais Steps usar como entrada.

    • Você pode escolher qualquer nome para os Steps, exceto ":original" (reservado para uploads de usuários tratados pela Transloadit)
    • Você pode fornecer vários Steps como entrada usando arrays:
      {
        "use": [
          ":original",
          "encoded",
          "resized"
        ]
      }
      
    • Você também pode marcar os Steps de entrada com as para transmitir intenção semântica aos Robots:
      {
        "use": [
          {
            "name": ":original",
            "as": "image"
          },
          {
            "name": ":original",
            "as": "mask"
          }
        ]
      }
      
    Dica

    Provavelmente é tudo o que você precisa saber sobre use, mas você pode ver os casos de uso avançados.

  • ffmpeg

    object

    Um objeto de parâmetros a ser passado para o FFmpeg. Se uma predefinição for usada, as opções especificadas são mescladas sobre as da predefinição. Para ver as opções disponíveis, consulte a documentação do FFmpeg⁠. As opções especificadas aqui têm precedência sobre as opções da predefinição.

  • ffmpeg_stack

    v6 | v7 | v8 | string(padrão: "v6.0.0")

    Seleciona a versão do stack do FFmpeg a ser usada na codificação. Atualmente, recomendamos usar “v7”. As versões exatas “v6.0.0”, “v7.0.0” e “v8.0.0” são valores legados que continuam sendo aceitos por compatibilidade retroativa. Valores “v5.x” descontinuados também são aceitos.

  • width

    string | number | null

    Largura do novo vídeo, em pixels.

    Se o valor não for especificado e o parâmetro preset estiver disponível, será aplicada a largura fornecida EN (English) por preset.

  • height

    string | number | null

    Altura do novo vídeo, em pixels.

    Se o valor não for especificado e o parâmetro preset estiver disponível, será aplicada a altura fornecida EN (English) por preset.

  • preset

    android | android-high | android-low | android_high | android_low | dash-1080p-video | dash-1080p_video |

    Converte um vídeo de acordo com configurações predefinidas EN (English).

    Você pode usar o valor 'empty' aqui se especificar seus próprios parâmetros do FFmpeg usando o Robot ou se não quiser que a Transloadit defina nenhuma configuração de codificação.

  • resize_strategy

    crop | fit | fillcrop | min_fit | pad | stretch(padrão: "pad")

    Se os parâmetros de largura/altura fornecidos forem maiores que as dimensões da imagem de entrada, resize_strategy determinará como a imagem será redimensionada para corresponder à largura/altura fornecida. Veja as estratégias de redimensionamento disponíveis.

  • background

    string(padrão: "#00000000")

    A cor de fundo do vídeo resultante no formato "rrggbbaa" (vermelho, verde, azul, alfa) quando usado com a estratégia de redimensionamento "pad". A cor padrão é preto.

  • framerate

    string | number | string(padrão: "1/5")

    Ao combinar imagens para gerar um vídeo, esta é a taxa de quadros de entrada. Um valor de “1/5” significa que cada imagem é exibida por 5 segundos antes de o próximo quadro aparecer (o inverso de uma taxa de quadros de “5”). O mesmo vale para “1/10”, “1/20”, etc. Um valor de “5” significa que há 5 quadros por segundo.

  • image_durations

    Array<string | number>(padrão: [])

    Ao combinar imagens para gerar um vídeo, este parâmetro permite definir por quanto tempo (em segundos) cada imagem será exibida no vídeo. Assim, se você passar 3 imagens e definir [2.4, 5.6, 9], a primeira imagem será exibida por 2,4 s, a segunda por 5,6 s e a última por 9 s. O parâmetro duration será definido automaticamente como a soma de image_durations, ou seja, 17 no nosso exemplo. Esse valor ainda pode ser sobrescrito; nesse caso, a última imagem será exibida até que a duração definida seja atingida.

  • duration

    string | number | null(padrão: null)

    Ao combinar imagens para gerar um vídeo ou ao combinar áudio e vídeo, esta é a duração de destino desejada em segundos. O valor de ponto flutuante pode ter uma casa decimal. Se você quiser que todas as imagens sejam exibidas exatamente uma vez, poderá definir a duração de acordo com esta fórmula: duration = numberOfImages / framerate. Isso também funciona para valores inversos de taxa de quadros, como 1/5.

    Se você definir este valor como null (padrão), a duração do arquivo de áudio de entrada será usada ao combinar imagens com um arquivo de áudio.

    Ao combinar arquivos de áudio e de vídeo, a duração do arquivo de vídeo ou de áudio mais longo é usada por padrão.

  • audio_delay

    string | number(padrão: 0)

    Ao combinar um vídeo e um arquivo de áudio, ou imagens e um arquivo de áudio para gerar um vídeo, este é o atraso desejado em segundos para o arquivo de áudio começar a tocar. Imagine que você combine um arquivo de vídeo sem som e um arquivo de áudio, mas queira que o áudio comece a tocar após 5 segundos, e não imediatamente. Este é o parâmetro a ser usado nesse caso.

  • loop

    boolean(padrão: false)

    Determina se o arquivo de mídia mais curto deve ser repetido em loop para corresponder à duração do mais longo. Por exemplo, se você combinar um vídeo de 1 minuto com um arquivo de áudio de 3 minutos e ativar esta opção, o vídeo será reproduzido três vezes seguidas para corresponder à duração do áudio.

  • replace_audio

    boolean(padrão: false)

    Determina se o áudio do vídeo deve ser substituído por um arquivo de áudio fornecido.

  • vstack

    boolean(padrão: false)

    Empilha a mídia de entrada verticalmente. Todos os fluxos precisam ter o mesmo formato de pixel e a mesma largura, portanto, considere usar um Step com /video/encode antes de usar este parâmetro para garantir isso.

  • image_url

    string

    A URL de uma imagem a ser combinada com o áudio ou vídeo. Quando este parâmetro é fornecido, o Robot baixa a imagem da URL e a combina com as outras mídias.

  • sort_by

    auto | basename | import_order(padrão: "basename")

    Controla como as entradas agrupadas são ordenadas quando nenhum alias numerado explícito para o tipo de entrada é usado. Aliases numerados terminam com um sufixo numérico, como _1.

    O padrão "basename" mantém o comportamento legado de ordenação natural por basename.

    Defina como "import_order" para preservar a ordem dos Steps de importação baseados em array quando todos os arquivos de entrada carregarem metadados completos de ordem de importação. "auto" tem a mesma preferência de ordem de importação, com ordenação natural por basename como fallback.

  • transition

    none | crossfade | fade_to_black(padrão: "none")

    O tipo de efeito de transição a aplicar entre clipes de vídeo concatenados. Aplica-se apenas ao concatenar vários vídeos (usando video_1, video_2, etc. ou entradas pre_roll/post_roll).

    • "none" — Sem efeito de transição. Os vídeos são unidos em sequência.
    • "crossfade" — Uma mesclagem gradual de um clipe para o próximo (tanto de vídeo quanto de áudio).
    • "fade_to_black" — O clipe atual desaparece gradualmente até o preto, e então o próximo clipe aparece gradualmente a partir do preto.
  • transition_duration

    string | number(padrão: 1)

    A duração do efeito de transição em segundos. Aplica-se apenas quando transition não é "none". Aceita valores de ponto flutuante (por exemplo, 0.5 para uma transição de 500 ms) e deve ser maior que 0 sempre que as transições estiverem habilitadas. A transição aplicada é automaticamente limitada à metade da duração do clipe mais curto em cada par de transição para evitar transições sobrepostas.

Demonstrações

  • Service to take scrolling screenshots of websites using a URL EN (English)
  • Service to convert any video to animated GIF EN (English)
  • Service to automatically detect object edges EN (English)
  • Service to automatically generate a slideshow EN (English)
  • Service to automatically merge audio and video files EN (English)
  • Service to automatically merge audio into video at a specific time EN (English)
  • Merge audio and video files, keeping shortest stream duration EN (English)

Publicações relacionadas no blog

  • Introducing video merge Robot: image & audio to video EN (English) 7 de agosto de 2013
  • Enhancing FFmpeg for superior encoding performance EN (English) 30 de julho de 2015
  • New pricing model for future Transloadit customers EN (English) 7 de fevereiro de 2018
  • Mastering audio sync with Transloadit's audio delay EN (English) 12 de março de 2019
  • Tutorial: using /video/merge to develop video slideshows EN (English) 14 de junho de 2019
  • No-code real-time video uploading with Bubble & Transloadit EN (English) 2 de agosto de 2019
  • Let's Build: video from album art with Transloadit EN (English) 10 de outubro de 2021
  • Automatically generate music previews from Spotify EN (English) 16 de novembro de 2021
  • Build a Reddit video subtitling bot with Transloadit EN (English) 10 de fevereiro de 2022
  • Let's Build: music card generator with Transloadit EN (English) 5 de maio de 2022
  • Creating engaging audio visualizations with Transloadit EN (English) 2 de abril de 2023
Página anterior ← /video/encodePróxima página /video/ondemand →
Falar com o suporte⁠

TransloaditVerificando status…

Produto

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

Empresa

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

Documentação

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

Mais

  • Status da plataforma⁠
  • Fórum da comunidade⁠
  • StackOverflow⁠
  • Uppy EN (English)
  • tus⁠

© 2009–2026 Transloadit-II GmbH

Privacidade EN (English)Termos EN (English)Aviso legal EN (English)
EnglishDeutschEspañolPortuguês (Brasil)