Eu Não Tinha Este Rosto De Hoje
Face-swap caseiro: o que funciona e o que quebra
O termo "eu não tinha este rosto de hoje" virou febre no Brasil depois que um vídeo musical da Legião Urbana foi usado como base para um filtro de deepfake. A maioria das pessoas que chega até isso quer apenas trocar o rosto em uma foto ou vídeo curto. O problema é que existem dezenas de ferramentas, versões, e o caminho entre "instalei e rodou" e "entendeu algo sobre o que está fazendo" é bem longo. Vou explicar como as coisas funcionam na prática, com os detalhes que os tutoriais brasileiros geralmente pulem porque acham que o leitor já sabe ou porque são vagues demais para serem úteis.
eu não tinha este rosto de hoje na prática
O efeito que todo mundo quer replicar depende basicamente de duas coisas: um modelo de extração de rosto (normalmente InsightFace ou RetinaFace) e um modelo de substituição (roop, FaceFusion, ou derivados do First Order Motion Model). A pipeline básica é simples de descrever, complicada de ajustar. Primeiro você extrai frames do vídeo. Depois encontra os rostos em cada frame. Em seguida aplica a troca. Por último, reconstrói o vídeo e sincroniza o áudio. Cada etapa tem seus pontos de falha. Aqui vai um detalhe que quase ninguém menciona: a maioria dos tutoriais fala em usar roop, mas o projeto original do Mike_1073 foi abandonado em março de 2023. O repositório principal não recebe atualizações desde então. Isso significa que qualquer instalação nova que você fizer vai depender de forks mantidos pela comunidade, e a estabilidade varia muito entre eles. Eu já perdi duas tardes tentando rodar uma versão que funcionava perfeitamente na minha máquina anterior e simplesmente não iniciava em outra, por causa de uma dependência do insightface que mudou de comportamento entre versões.
Instalação que não ferra tudo
Se você está no Windows, esqueça o caminho nativo. Use Linux via WSL2 ou rode tudo em Docker. A diferença de performance entre CUDA direto no Linux versus Windows é de cerca de 30-40% mais rápido no processamento de frames, e você evita metade dos erros de DLL que aparecem depois. Para instalação, o FaceFusion é atualmente a opção mais equilibrada entre facilidade e resultados. O comando de instalação básico: python -m pip install facefusion[cuda] --upgrade --no-cache-dir

Isso já puxa todas as dependências necessárias se você tiver o CUDA 12.x instalado. Se não tiver, vai instalar a versão CPU e aí sim você pode desistir. O processamento em CPU de um vídeo de 3 minutos com resolução 1080p leva algo em torno de 45 minutos a 1 hora. Com GPU adequada (RTX 3060 ou superior), fica entre 6 e 12 minutos. A configuração do servidor web do FaceFusion roda por padrão na porta 7860. Você acessa pelo navegador em http://localhost:7860. A interface é mais completa do que a do roop e permite ajustar frame enhancer, blur de borda, e threshold de matching.
O problema que ninguém avisa sobre clonagem de rosto
Quando você extrai uma face source, o modelo cria uma embedding vetorial daquele rosto. Esse embedding é o que permite identificar o mesmo rosto em qualquer frame. Mas existe um problema prático: se a foto de referência tiver iluminação muito diferente da cena alvo, o resultado fica horrível. O modelo consegue detectar o rosto, mas a cor e a textura ficam estranhas. A solução que eu uso é simples e não aparece nos tutoriais: normalize a foto source antes de extrair o embedding. Rosie Soft, um desenvolvedor brasileiro que mantém um fork do roop, descobriu que aplicar um leve histogram matching entre a source e o primeiro frame do vídeo alvo melhora drasticamente a consistência. Eu adaptei isso usando um script Python que compara os histograms RGB dos dois frames e aplica transformação CDF antes de processar o vídeo todo. Outro problema real: rostos de perfil. A maioria dos modelos de face-swap foi treinada em rostos frontais. Se seu vídeo tem alguém de lado, o swap falha ou cria artefatos estranhos nas bordas. No FaceFusion, você pode aumentar o parâmetro face_detector_score para 0.5 ou 0.6 para reduzir falsos positivos, mas isso também faz com que rostos parcialmente visíveis sejam ignorados. O trade-off é inevitável.
Enhancement e os limites da coisa
O frame enforcer do FaceFusion usa modelos como GFPGAN, CodeFormer ou NVIDIA SwinIR para restaurar detalhes do rosto após o swap. Cada um tem seu ponto forte: GFPGAN é mais rápido e funciona bem para rostos em resolução média. CódigoFormer lida melhor com rostos muito degradados ou de baixa resolução, mas pode criar aquele aspecto "plástico" que todo mundo reconhece. SwinIR é o mais lento mas preserva texturas de pele de forma mais natural. Aqui vai algo contraintuitivo: às vezes desligar o enhancer dá um resultado mais creído do que usar qualquer um deles. Rostos humanos reais têm imperfeições, poros, micro-variações de cor. Modelos de restoration tendem a criar uma pele perfeita demais que o cérebro identifica como falsa antes mesmo de você conseguir explicar o porquê.

Eu já gastei horas ajustando blur de borda e weight do blending só para descobrir que o problema real era a diferença de ângulo de câmera entre a source e o vídeo. Não adianta nada ter o melhor enhancer do mundo se o ângulo do rosto fonte é frontal e o do vídeo alvo está em 45 graus. O modelo simplesmente não tem informação suficiente para reconstruir o lado do rosto que não existe na source.
Quando desistir e usar outra coisa
Existem cenários onde face-swap tradicional simplesmente não funciona bem: vídeos com movimento rápido de câmera, pessoas cobrindo o rosto com as mãos, iluminação muito escura, ou resoluções abaixo de 480p. Nesses casos, ferramentas baseadas em difusão como o Stable Diffusion com ControlNet (depth + canny) conseguem resultados melhores, mas o tempo de processamento é completamente diferente — estamos falando de segundos por frame em vez de milissegundos, o que torna inviável para vídeos longos. Se o objetivo é apenas um meme rápido de 15 segundos, o FaceFusion resolve. Se precisa de algo mais elaborado com múltiplos ângulos e iluminação consistente, o caminho é outro e envolve trabalho manual de máscaras frame a frame, o que leva horas e ainda assim raramente fica perfeito. O que eu posso dizer com certeza: a tecnologia melhorou muito nos últimos dois anos. O que era impossível em 2022 já é trivial em 2025. Mas os problemas fundamentais — iluminação, ângulo, resolução — continuam sendo os mesmos. Nenhuma atualização de modelo resolve isso por completo. O melhor resultado vem de quem leva essas variáveis em conta antes de clicar em "run".
Galeria
-
Eu não tinha este rosto de hoje, assim... nathaly alves da silva - Pensador -
Eu não tinha este rosto de hoje, assim c - Mundo das Mensagens -
Poesias - Retrato Eu não tinha este rosto de hoje, assim calmo, assim ...