Migrar de Cloudinary, Filestack, Mux ou Uploadcare
Reúna uploads, redimensionamento de imagens, codificação de vídeo e prévias de documentos em um único pipeline versionado, com os arquivos em um armazenamento que você controla. Nossos guias de migração mostram como mapear os fluxos de trabalho de Cloudinary, Filestack, Mux e Uploadcare para a Transloadit, trazer seus arquivos existentes e migrar o tráfego gradualmente.
Cada guia mapeia os fluxos de upload e processamento, fornece Templates de exemplo, explica como importar fontes existentes e apresenta uma lista de verificação para a transição.
- Migrar de Cloudinary: predefinições de upload, transformações fixas e antecipadas, inventário de ativos e substituição das referências de entrega
- Migrar de Filestack: callbacks do seletor, roteamento por MIME para imagens e PDFs, prévias estáticas e reconciliação de exportações parciais antes de tentar novamente
- Migrar de Mux: uploads diretos, HLS antecipado ou sob demanda, pôsteres, originais retidos ou arquivos master temporários e alterações nos IDs de reprodução
- Migrar de Uploadcare: callbacks do componente de upload, receitas de operações de CDN, variantes de imagem otimizadas e registros separados de metadados e grupos de arquivos
Mapeie primeiro os conceitos
Na Transloadit, um Robot executa cada Step de processamento, e os Steps, juntos, formam suas Assembly Instructions. Você pode salvar essas instruções como um Template e executá-las como uma Assembly para cada upload ou importação. Veja como as partes de upload e processamento se encaixam:
| O que você usa hoje | O que você tem na Transloadit |
|---|---|
| Predefinição de upload da Cloudinary, fluxo de trabalho da Filestack | Um Template reutilizável, referenciado por template_id |
| Criação de um objeto Asset da Mux | Uma Assembly que executa seu pipeline de vídeo |
| URL de transformação ou operação de CDN | Steps de processamento ou URLs assinadas do Smart CDN |
| Widget de upload ou seletor de arquivos | Uppy com seu plugin Transloadit e uploads retomáveis |
| Webhook de conclusão do processamento | Assembly Notifications quando o processamento termina |
| Armazenamento de ativos hospedado pelo fornecedor | Resultados exportados diretamente para seu bucket com /s3/store |
| URL de reprodução da Mux | Um pacote HLS de /video/adaptive, servido pela sua CDN |
Templates são JSON, então você pode manter as regras de processamento no controle de versão, ao lado do código da sua aplicação, como os guias recomendam. Revise as alterações junto com o código da aplicação e reutilize as regras de processamento para novos uploads e cargas retroativas.
Uma transformação, quatro fornecedores
Para os três fornecedores de imagens, veja uma miniatura WebP quadrada de 400×400 na sintaxe de cada fornecedor, ao lado de sua alternativa na Transloadit. Para a Mux, compare uma solicitação de pôster aos cinco segundos, dentro de uma caixa de 640×360.
| Fornecedor | Antes | Depois |
|---|---|---|
| Cloudinary | c_fill,w_400,h_400,f_webp | /image/resize com fillcrop e webp |
| Uploadcare | -/scale_crop/400x400/center/-/format/webp/ | /image/resize com fillcrop e webp |
| Filestack | resize=width:400,height:400,fit:crop/output=format:webp | /image/resize com fillcrop e webp |
| Mux, ID de reprodução público | thumbnail.jpg?time=5&width=640&height=360 | /video/thumbs com offsets: [5] e fit |
Essas três operações de imagem redimensionam a imagem para cobrir a caixa e recortam o excedente
em torno do centro.
É isso que resize_strategy: "fillcrop" faz no
Robot 🤖 /image/resize, e você
encontrará exatamente esse Step no exemplo de carga retroativa abaixo. Compare a aparência e a
qualidade nas suas próprias imagens; reproduzir a geometria do recorte não reproduz a seleção
automática de formato, qualidade ou ponto focal.
Para os quadros de pôster, defina offsets em segundos no
Robot 🤖 /video/thumbs. O modo
de ajuste padrão da Mux mantém a proporção dentro da caixa solicitada, então combine
width: 640 e height: 360 com resize_strategy: "fit".
A estratégia padrão pad adicionaria barras. A partir de um vídeo de teste
4:3, esse Step nos forneceu um pôster de 480×360.
Traga seus arquivos existentes
Uma migração só termina quando seu acervo existente também foi migrado. Os guias explicam como
inventariar as fontes e importar URLs autorizadas com o
Robot 🤖 /http/import. Seu
parâmetro url também aceita um array, então você pode mover arquivos em
lotes de tamanho limitado. O guia da Mux mostra como substituir o Step de entrada em seu Template
de vídeo; os outros guias incluem Templates de carga retroativa de imagens. Veja um exemplo
executável que importa duas imagens públicas e cria a miniatura da tabela acima. Salve-o como
backfill.json:
{
"imported": {
"robot": "/http/import",
"url": [
"https://demos.transloadit.com/inputs/chameleon.jpg",
"https://demos.transloadit.com/inputs/prinsengracht.jpg"
]
},
"thumb": {
"use": "imported",
"robot": "/image/resize",
"width": 400,
"height": 400,
"resize_strategy": "fillcrop",
"format": "webp",
"result": true
}
}
Execute-o no seu terminal com a CLI incluída no nosso SDK para Node.js,
testada aqui com @transloadit/node 5.1.0. Quando a Assembly termina, a CLI imprime uma
URL para cada miniatura. As URLs abreviadas abaixo serão diferentes na sua execução:
$ export TRANSLOADIT_KEY=MY_AUTH_KEY TRANSLOADIT_SECRET=MY_SECRET_KEY
$ npx -y @transloadit/node assemblies create --steps backfill.json --print-urls
STEP NAME URL
thumb chameleon.webp https://pub-….r2.dev/…/….webp
thumb prinsengracht.webp https://pub-….r2.dev/…/….webp

Essas URLs de resultado são temporárias; os arquivos normalmente são mantidos por
24 horas e se destinam à recuperação em curto prazo. Em produção,
os guias adicionam um Step de exportação, como o
Robot 🤖 /s3/store, com suas
próprias credenciais. Defina notify_url na solicitação assinada da Assembly,
verifique as assinaturas das notificações e exija ASSEMBLY_COMPLETED. Antes de atualizar
sua aplicação, leia os resultados dos Steps que os produzem e verifique
is_temp_url: false para persistir URLs permanentes de exportação.
/http/import contabiliza 10% dos bytes importados no uso de processamento;
redimensionamento, extração de metadados e qualquer exportação adicionam seu próprio uso,
conforme nossos preços dos Robots.
Mantenha URLs dinâmicas com o Smart CDN
Se seu front-end cria URLs de transformação dinamicamente, você não precisa mover tudo para o
momento do upload. O Smart CDN executa um Template na primeira
solicitação de uma URL e armazena o resultado em cache na borda. Esse Template deve usar Robots
compatíveis, terminar seu ramo de resposta em /file/serve e ser chamado por
URLs que você assina no seu back-end.
/image/resize funciona nesse contexto, enquanto /video/encode e
/video/adaptive não funcionam. Para vídeo, o guia da Mux indica
/video/ondemand, que gera HLS conforme os espectadores o solicitam.
O guia da Cloudinary recomenda gerar variantes canônicas antecipadamente para páginas com muito tráfego e usar o Smart CDN para bibliotecas de cauda longa. Nosso artigo Faça upload uma vez, transforme para sempre (English) explica a configuração sob demanda do início ao fim.
O que você ganha após a migração
- Um pipeline para imagens, vídeo e documentos. Uma única Assembly pode importar arquivos, redimensionar imagens, codificar vídeo, gerar miniaturas de documentos e exportar os resultados. O guia da Filestack, por exemplo, encaminha imagens e PDFs por um único Template.
- Uma métrica de uso para todos os tipos de mídia. Planeje o processamento de imagens, vídeos e documentos com uma única métrica baseada em GB, em vez de preços de vídeo por minuto. A maioria dos Robots de processamento contabiliza os bytes de entrada e de saída, com seus próprios descontos e cobranças mínimas. Você pode definir limites mensais de gastos. Veja os preços.
- Uploads de código aberto. Uppy, nosso componente de upload de arquivos, e tus-js-client, usado pelo plugin Tus do Uppy para uploads retomáveis, são projetos de código aberto licenciados sob a MIT, então você pode ler o código, criar forks e expandir seu front-end de upload.
- Seu armazenamento, suas regiões. Exporte os resultados para seu próprio bucket e escolha processar nos Estados Unidos, na Europa ou na Ásia-Pacífico para atender à residência de dados, ou use nosso endpoint global. Configure separadamente suas regiões de armazenamento e entrega.
Para uma visão mais ampla das diferenças entre essas plataformas, veja nossa comparação de plataformas de processamento de mídia para startups (English).
Planeje as alterações na aplicação
Os guias cobrem processamento, uploads, armazenamento e notificações. Copiar os bytes de mídia não migra metadados, grupos, versões, permissões, catálogos DAM hospedados nem integrações com CMS. Preserve esses registros e reconstrua o comportamento da aplicação de que você precisa. Para a Mux, a integração do player, a análise de dados, a transmissão ao vivo, o DRM e o empacotamento de faixas multilíngues precisam de planejamento separado; uma Assembly não recria um objeto Asset nem um ID de reprodução da Mux. Teste separadamente as alternativas para efeitos específicos de cada fornecedor e fluxos de trabalho de IA. Depois, compare arquivos reais e regras de acesso antes de migrar o tráfego.
Os exemplos dos guias exportam para seu próprio bucket. O Transloadit Storage, nosso armazenamento gerenciado para originais e resultados, está em prévia privada. Se quiser experimentá-lo, peça à nossa equipe que o habilite para seu Workspace. A carga retroativa deste artigo usa resultados temporários e não precisa de configuração de armazenamento.
Comece com um fluxo de trabalho
Escolha seu fornecedor no índice de migração, inventarie um fluxo de trabalho, configure seu destino de exportação e teste alguns dos seus próprios arquivos. Mantenha os IDs antigos dos ativos e o mapeamento de entrega disponíveis para reverter a migração enquanto você move o tráfego gradualmente. Cadastre-se para obter suas credenciais e, se quiser uma segunda opinião sobre seu mapeamento, entre em contato.
