Let's Build: removedor de fundo com a Transloadit
Remova o fundo de uma foto de produto ou de um retrato local e salve o resultado como PNG. Este exemplo faz o upload de uma imagem para a Transloadit, aguarda o processamento e baixa o resultado para um novo arquivo local.
O que vamos criar
O comando aceita um arquivo PNG ou JPEG não vazio de até 20 MiB e exige um caminho de saída explícito
que termine em .png. Esses são limites do programa deste tutorial. O arquivo original permanece
inalterado; você confere a imagem salva antes de usá-la em um catálogo ou design.
A remoção de fundo é cobrada. Você precisa de uma Auth Key e de um Secret de um Workspace existente na Transloadit e de uma imagem que você tenha permissão para enviar por upload. Não são necessárias credenciais separadas de um provedor de IA. A receita mantém a seleção de provedor no padrão automático do Robot; o programa não cria nem altera credenciais. Consulte os preços antes de executá-lo em mais arquivos.
Visão geral do pipeline
O Robot 🤖 /image/bgremove recebe a imagem enviada por upload e gera o PNG. Em seguida, o programa salva o resultado localmente, então você não precisa guardar uma URL temporária do resultado.
Local PNG or JPEG → upload → /image/bgremove → download → result.png
Trecho de Assembly
O programa disponível para download exporta sua receita como example. Com a estrutura de projeto
abaixo, este código TypeScript lê as mesmas Assembly Instructions
usadas pelo comando, sem submeter uma Assembly:
import { example } from './background-remover/run.ts'
const steps = example.steps()
O Step remove_background usa :original, define format: 'png' e marca a saída com
result: true. Se você adaptar o pipeline, mantenha as alterações na receita baixada para que o comando e
sua aplicação usem as mesmas instruções.
Experimente a aplicação de exemplo
Primeiro, instale o Node.js 26,
o Corepack e o cURL. O ambiente de execução testado foi o Node.js
26.12.1; para novas instalações, use uma versão de correção do Node.js 26 que ainda receba manutenção.
O Corepack é um pré-requisito separado. Comece em um novo diretório vazio fora de um projeto Node
existente e siga o README do exemplo para instalar e baixar a aplicação.
Ele fixa as versões Yarn 4.12.0, @transloadit/node 4.14.0, zod 3.25.76 e zod-to-json-schema 3.25.2 como uma
combinação testada, sem afirmar que esses são os pacotes mais recentes. Execute os comandos de
instalação um de cada vez e pare se algum comando falhar.
Baixe tanto background-remover/run.ts quanto shared/runtime.ts usando os comandos do README.
A disposição relativa desses arquivos importa: o programa importa ../shared/runtime.ts. Execute o comando
--help do README antes de configurar o acesso; ele funciona sem credenciais. Mantenha o arquivo de
trava de dependências gerado se você adaptar o exemplo.
No mesmo shell, exporte suas credenciais existentes, substituindo os valores de exemplo localmente:
export TRANSLOADIT_AUTH_KEY='YOUR_AUTH_KEY'
export TRANSLOADIT_AUTH_SECRET='YOUR_AUTH_SECRET'
Mantenha o Secret fora do controle de versão e do código executado no navegador. O programa lê essas variáveis de ambiente diretamente; ele não carrega um arquivo de variáveis de ambiente.
Coloque sua imagem em input.jpg ou substitua o argumento de entrada pelo caminho dela. Escolha um
nome de arquivo de saída que não exista. A execução deste comando autoriza o processamento cobrado:
node background-remover/run.ts --input ./input.jpg --output ./result.png
Em caso de sucesso, o terminal imprime Saved seguido do caminho local
de saída. Abra result.png em um editor de imagens que exiba transparência ou coloque a imagem sobre
um fundo contrastante. Verifique se o fundo ficou transparente e se o objeto principal, as bordas e
os detalhes finos continuam utilizáveis. Uma Assembly concluída e um PNG válido, por si só, não
comprovam que o recorte ficou bom.
O programa recusa um destino existente antes de submeter uma Assembly, então uma nova execução exige outro nome de arquivo de saída. Ele limita o resultado baixado a 20 MiB, permite até cinco minutos para o processamento e define um tempo limite separado de 30 segundos para o download do resultado. Se uma execução falhar após imprimir um Assembly ID, confira essa Assembly no Console antes de tentar novamente. Um tempo limite local ou uma interrupção não comprovam que o processamento remoto parou, e um processamento com falha ainda pode ser cobrado. O programa não tenta executar uma Assembly novamente de forma automática.
Imagens de entrada sugeridas
Comece com uma foto de produto sem conteúdo sensível e com um contorno bem definido ou com um retrato que você possa enviar por upload. Compare o PNG salvo com o original na mesma escala. Cabelos, materiais translúcidos, sombras e objetos em primeiro plano que se parecem com o fundo precisam de uma inspeção cuidadosa; escolha outra imagem de entrada se o recorte remover algo de que você precisa.
Próximos passos
Depois de conferir o recorte, você pode ampliar a receita baixada com Steps de redimensionamento ou de criação de miniaturas. A documentação do Robot descreve as opções disponíveis para remoção de fundo. Mantenha o PNG local como seu resultado revisado antes de criar um fluxo de trabalho de upload mais amplo.

