Se você já precisou redimensionar uma imagem para um site, compressão rápida ou até converter um PNG para JPG, sabe como as soluções prontas podem ser limitadas — ou cheias de publicidade e restrições. Como desenvolvedor e criador de conteúdo, decidi montar a minha própria API de redimensionamento de imagens, com suporte a compressão, conversão de formato e visualização ao vivo — tudo dentro do meu ambiente WordPress.
Neste artigo, mostro os bastidores dessa criação e como você pode usar ou adaptar algo semelhante no seu projeto.
Link da API: Redimensionador de Imagens Online
Por que criei essa API?
Eu precisava de uma solução leve, funcional e personalizável para uso próprio e também para os leitores do Criadix. Ferramentas online nem sempre garantem controle de qualidade, nem permitem integrações automatizadas com outros fluxos de trabalho. Ao criar a minha própria API:
- Ganhei controle total sobre o redimensionamento
- Pude aplicar compressão customizada
- Tornei possível a conversão entre formatos (PNG ↔ JPG)
- Adicionei visualização em tempo real com <canvas> no front-end
- E consegui oferecer isso tudo via WordPress plugin
Como a API funciona?
A lógica central está num arquivo PHP que atua como endpoint REST. Ela permite:
1. Upload de múltiplas imagens
Com validação de tipo (jpg, jpeg, png, webp, gif, bmp ou tiff) e limite de tamanho.
2. Leitura das dimensões originais
A API obtém a largura e altura de cada imagem enviada e exibe ao usuário no painel de pré-visualização.
O Poder das Recompensas e Cashbacks
3. Redimensionamento por pixel ou porcentagem
O utilizador pode escolher entre definir dimensões manuais ou manter a proporção automaticamente.
4. Compressão ajustável
Utilizando o Imagick, controlo a qualidade da imagem final.
5. Conversão de formato
Se o usuário envia PNG e opta por saída em JPG, a conversão é aplicada com suavização do fundo transparente.
6. Download em ZIP
Se for importado mais de uma imagem, todas as imagens processadas são compactadas num único .zip para download imediato. Caso contrário será compactado o mesmo nome da imagem.
Experiência do utilizador (UX) no front-end
Como valorizo tanto a parte técnica quanto a experiência do utilizador, o front-end oferece:
- Visualização ao vivo com canvas
- Interface simples e limpa
- Modal para visualização ampliada
Feedbacks de carregamento e sucesso com fetch e wp_ajax
Como implementei no WordPress
Plugin personalizado
Criei um plugin WordPress chamado Image Process API. Ele registra um endpoint /wp-json/image-api/v1/process e oferece:
- Segurança com nonce
- Suporte a múltiplos arquivos
- Opção para usar GD ou Imagick conforme o servidor
Estrutura de diretórios
- /temp_uploads/ → imagens recebidas
- /final_images/ → imagens convertidas e comprimidas
- /downloads/ → arquivos zip prontos
Além disso, incluí logs de erro para debug e verificação de permissões no servidor local ou remoto.
Próximos passos
Como qualquer projeto vivo, ainda quero:
- Adicionar redimensionamento por lote via URL remota
- Criar um dashboard para visualizar estatísticas de uso
- Oferecer um widget para integração fácil em outros sites
Criar a minha própria API de redimensionamento de imagens foi mais do que um desafio técnico — foi uma solução prática e personalizada para o meu dia a dia como criador e desenvolvedor. E o melhor: agora posso oferecer essa ferramenta no Criadix para ajudar outros utilizadores que também precisam otimizar imagens com mais liberdade e qualidade.
Se você deseja aprender mais sobre desenvolvimento com WordPress e PHP, este tipo de projeto é um ótimo ponto de partida — e totalmente aplicável à vida real.

