Como o Araluma funciona

Onde cada ferramenta roda, por que algumas precisam de servidor e como confirmar isso no seu próprio navegador.

Dois tipos de ferramenta

Toda ferramenta do Araluma pertence a um de dois grupos. As ferramentas de navegador leem, editam e salvam o seu arquivo no seu próprio dispositivo. As ferramentas com servidor enviam o arquivo, processam nos nossos servidores ou em um provedor de imagens e devolvem o resultado. As ferramentas com servidor também têm um plano B que conclui o trabalho no seu navegador quando os servidores não respondem.

FerramentaSó no navegadorCom servidorPlano B quando os servidores falham
Cortar imagem em círculo, Recortar imagem, Redimensionar imagemSempreNuncaNão é necessário
Converter formato (um arquivo, saída PNG, JPG ou WebP)SimNãoNão é necessário
Converter formato (saída AVIF, ou dois ou mais arquivos)NãoSimCodificador do navegador
Converter JPG para PDF (uma imagem)SimNãoNão é necessário
Converter JPG para PDF (duas ou mais imagens)NãoSimMontagem no navegador
Comprimir imagemSó SVG e lotes muito grandesSimCompressão no navegador
Remover fundo de imagemNãoSim, primeiro Cloudflare, depois ImageKitModelo de IA rodando no seu navegador
Aumentar resolução da imagemNãoSim, primeiro Cloudflare, depois ImageKitReamostragem no navegador

Há mais um caso que vale para todas as ferramentas: criar um link de compartilhamento, ou salvar um resultado no Dropbox, guarda o arquivo final por cerca de duas horas para que o link possa ser aberto.

Por que não fazer tudo no navegador?

Os navegadores são ótimos em geometria. Cortar, girar, redimensionar e salvar uma imagem nos formatos comuns leva uma fração de segundo no próprio dispositivo, sem esperar pela rede, então essas ferramentas nunca saem dele.

Outros trabalhos ainda funcionam melhor em um servidor:

  • Compressão. Os codificadores de servidor baseados na libvips geram arquivos bem menores do que os codificadores embutidos nos navegadores, com a mesma qualidade visual, e oferecem ajustes de AVIF que os navegadores não têm.
  • Saída em AVIF. Codificar AVIF no navegador é lento e consome muita memória nos celulares, então as conversões para AVIF usam o mesmo servidor.
  • Lotes e PDFs de várias páginas. Uma fila com dezenas de imagens travaria um celular. O servidor processa tudo junto e devolve um único ZIP ou PDF.
  • Remoção de fundo e aumento de resolução. Os dois usam modelos de IA que precisam de uma GPU para responder em segundos. O plano B no navegador funciona, mas é mais lento e deixa bordas mais grosseiras em cabelos e pelos.

O que acontece com um arquivo, passo a passo

  1. Você escolhe um arquivo. Selecionar, arrastar ou colar dá à página uma referência local ao arquivo. Nada é enviado nesse momento.
  2. O navegador abre o arquivo. JPG, PNG, WebP, GIF e AVIF são decodificados de forma nativa. Fotos HEIC de iPhones são decodificadas por um pequeno módulo que roda na própria página.
  3. O trabalho acontece. As ferramentas de navegador editam os pixels em um canvas e codificam o resultado ali mesmo. As ferramentas com servidor enviam o arquivo por HTTPS para um armazenamento temporário no Cloudflare R2 ou diretamente para um Cloudflare Worker, e o trabalho roda no nosso servidor em São Paulo (compressão, conversão, PDF) ou nos serviços de imagem da Cloudflare ou do ImageKit (remoção de fundo, aumento de resolução). O Comprimir pode começar o envio alguns segundos depois que você adiciona os arquivos, para que o resultado esteja pronto quando você apertar o botão.
  4. Você recebe o resultado. O arquivo pronto é entregue ao download normal do seu navegador. Os resultados gerados no servidor ficam em armazenamento temporário por cerca de duas horas (a tela de download do Comprimir permite apagá-los na hora) e depois são removidos automaticamente.

A política de privacidade traz a tabela completa de retenção e a lista de prestadores.

Confira no seu próprio navegador

Painel de rede. Abra as ferramentas de desenvolvedor (F12 na maioria dos navegadores de computador), selecione a aba Rede e limpe o conteúdo. Use o Cortar imagem em círculo, o Recortar imagem ou o Redimensionar imagem: você verá os recursos da página sendo carregados e nenhuma requisição levando a sua imagem. Depois use o Comprimir ou o Remover fundo: aparece uma requisição de envio, seguida do download do resultado.

Teste offline. Carregue uma ferramenta de navegador, ative o modo avião ou marque “Offline” na aba Rede e use a ferramenta de novo. Ela continua funcionando, porque nunca precisou da rede. As ferramentas com servidor passam para o plano B, o que também é um jeito de ver onde cada etapa roda.

O que conseguimos e o que não conseguimos ver

Nas ferramentas de navegador, não recebemos nada sobre a sua imagem, porque nenhuma requisição a transporta.

Nas ferramentas com servidor, o arquivo existe na nossa infraestrutura apenas enquanto o trabalho roda e durante os prazos de retenção da política de privacidade. Não existem contas, então um arquivo enviado não fica associado a nenhum nome ou perfil. Não navegamos pelos arquivos enviados e não os usamos para treinar modelos.

Em todas as páginas registramos eventos de uso anônimos (ferramenta, etapa, tempo, erros, país, tipo de dispositivo) para encontrar bugs e pontos lentos. Nós mesmos não definimos nenhum cookie de rastreamento entre sites. Os cookies de publicidade que o Google usa nas páginas das ferramentas estão descritos na política de privacidade, junto com as formas de recusá-los. Quando um modelo de IA ou um decodificador é baixado para o seu navegador, nossa hospedagem vê que o arquivo foi solicitado, do mesmo jeito que vê uma folha de estilos ser solicitada, e não fica sabendo nada sobre a sua imagem.

Com o que o site é feito

  • Astro, que gera cada página como HTML simples e só adiciona JavaScript onde uma ferramenta precisa.
  • CSS puro com design tokens, sem framework de CSS.
  • Canvas e codecs em WebAssembly para as ferramentas que rodam no navegador.
  • ONNX Runtime Web, que roda o modelo de remoção de fundo no seu dispositivo quando a rota na nuvem não está disponível.
  • Cloudflare para hospedagem, Workers, armazenamento R2 e os modelos de imagem por trás da remoção de fundo e do aumento de resolução.
  • Um serviço Node.js com sharp e libvips em um servidor da Hostinger em São Paulo, Brasil, para os trabalhos de compressão, conversão e PDF.

As ferramentas funcionam na versão atual e na anterior do Chrome, Edge, Firefox e Safari, em computadores e em celulares. Quando um navegador oferece um recurso mais novo, a ferramenta o aproveita, e quando não oferece, um método mais antigo assume, então nenhum navegador fica de fora. Todas as ferramentas exigem JavaScript, e a conexão só é necessária nas que usam servidor.

Mais dúvidas?

Perguntas técnicas são bem-vindas em support@araluma.com.