Cases

Clipcutter: visão computacional local para recortar fotos e vídeos em lote

O Clipcutter é uma ferramenta local com dois módulos: um detecta, endireita e recorta em lote as fotos digitalizadas juntas em páginas A4; o outro corta vários trechos de um vídeo com FFmpeg. Tudo roda na máquina do usuário — nenhum arquivo sai do computador.

Cliente
Produto próprio da Gomes Code
Setor
IA aplicada · visão computacional
Código aberto em breve

Cliente e contexto

Digitalizar álbuns de família ou acervos rende PDFs com várias fotos tortas por página, e separar cada uma à mão leva horas. Cortar trechos de vídeo costuma exigir editores pesados ou serviços online.

O problema

“Tenho dezenas de páginas com várias fotos cada e quero cada foto separada, reta e no mesmo tamanho — sem subir nada para a internet.”

Restrições

  • Nada pode sair da máquina.
  • Sem Electron e sem passo de build no front-end.
  • Erros do FFmpeg precisam aparecer como são, não como mensagem genérica.

Decisões e trade-offs

  1. Interface no navegador + servidor local (FastAPI)

    Por quê: Aproveita o navegador que a pessoa já tem, sem o peso de um app Electron; o único tráfego é entre a aba e o localhost.

  2. Detecção com OpenCV ajustável na tela

    Por quê: Páginas renderizadas a 300 DPI; tamanho mínimo, desfoque e separação são controles na interface, e a detecção refaz sozinha.

  3. Dois modos de corte de vídeo

    Por quê: Corte rápido (cópia de stream, quase instantâneo) ou preciso (recodifica, exato no quadro), com o custo de cada um explicado na tela.

O que foi construído

  • Extrator de fotos: detecção, correção de inclinação, recorte, redimensionamento e exportação em ZIP.
  • Correção manual: apagar falsos positivos e desenhar regiões que o detector não achou.
  • Cortador de vídeo: vários trechos na linha do tempo, exportação com progresso por trecho.
  • Testes automatizados para os dois serviços.

Resultados

  • 300 DPIde renderização de cada página antes da detecçãoFonte: README do projeto
  • 0arquivos enviados para fora da máquinaFonte: Arquitetura do projeto

O azulejo deste case

Linhas não vazias de código em cada camada do projeto.

Linhas de código do Clipcutter por camada
Linhas de código do Clipcutter por camadalinhas
Interface (JS, CSS, HTML)1.329
Rotas HTTP394
Serviços (visão e vídeo)303
Testes151
Modelos de dados82

Fonte: Repositório do Clipcutter · 2026-10-13

Tecnologias

  • Python
  • FastAPI
  • OpenCV
  • PyMuPDF
  • FFmpeg
  • JavaScript

Quer algo nesse nível?

Mande o problema, não a especificação.