Como desativar o filtro NSFW do FaceFusion (e por que talvez você não queira)
Se você já usou o FaceFusion, a ferramenta gratuita e de código aberto popular para troca de rosto, para processar uma foto ou um vídeo, pode ter esbarrado numa barreira frustrante: o preview de repente fica borrado, o arquivo final não é salvo ou o programa simplesmente para no meio do processamento sem uma explicação clara.
Isso é o filtro NSFW em ação. NSFW significa "Not Safe For Work" (não seguro para o trabalho), um rótulo comum para conteúdo com nudez ou material sexual explícito. O FaceFusion tem um sistema integrado que analisa automaticamente cada imagem e vídeo que você processa. Se ele entender que o conteúdo é NSFW, bloqueia a continuação.
Não há botão para desligar. Não há opção nos menus. E a cada atualização do FaceFusion, o que a comunidade descobriu na versão anterior em geral deixa de funcionar.
Este artigo explica o que você precisa saber: de onde veio o filtro, como ele funciona na prática, como as pessoas tentam desativá-lo e o que usar no lugar se você só quer fazer a troca de rosto sem dor de cabeça.
O FaceFusion já tinha filtro NSFW desde o início
Isso não é um recurso novo dos últimos meses. O filtro NSFW faz parte do FaceFusion desde a versão 1.0.0, o primeiro lançamento oficial.
Com o tempo, ele só ficou mais rigoroso:
Como o filtro evoluiu
| Versão | O que mudou |
|---|---|
| 1.0.0 | O filtro foi introduzido pela primeira vez. Segundo o changelog oficial: "Blur preview and processing hold when NSFW content has been detected." Na época, o FaceFusion usava um único modelo de detecção com um limiar de sensibilidade simples. |
| 3.2.0 | O filtro ganhou um upgrade grande. Foi adicionado um detector baseado em YOLO, um tipo de modelo de IA pensado originalmente para detecção rápida de objetos em imagens. A varredura NSFW ficou mais rápida e mais precisa, pegando conteúdo que o modelo antigo deixava passar. |
| 3.3.0 | O FaceFusion passou a usar um sistema de votação com três modelos. Em vez de confiar numa única opinião, três modelos de IA analisam o conteúdo de forma independente. O bloqueio só acontece se pelo menos dois dos três modelos concordarem que é NSFW. O changelog oficial descreve assim: "Run multiple NSFW models to prevent false detection." |
| 3.4.x – 3.6.x | Não houve anúncios específicos de novidades NSFW, mas nos bastidores o FaceFusion passou a ter checagens de integridade: o programa verifica se o código do filtro foi adulterado. Se detectar alterações, ele se recusa a iniciar. É isso que faz os métodos antigos quebrarem a cada atualização. |
O que o filtro faz quando dispara?
Quando o FaceFusion classifica seu conteúdo como NSFW, você pode notar um ou mais destes sinais:
- O preview fica borrado: em vez de mostrar o resultado da troca de rosto, a janela de pré-visualização exibe uma imagem pixelada ou totalmente borrada. A troca pode até ter sido feita, mas o FaceFusion não deixa você ver.

- O processamento para de vez: o FaceFusion não salva nenhum arquivo de saída. Se você roda pela linha de comando (a interface em texto que desenvolvedores usam), aparece "código de erro 3", que significa "conteúdo NSFW detectado".
- A barra de progresso fica em "Analysing" e trava em 100%: o programa termina de analisar, marca como NSFW e para em silêncio. Sem pop-up, sem aviso explícito.
Como o filtro funciona por baixo dos panos?
Se você quer o lado técnico (não precisa entender tudo para seguir o artigo, mas ajuda a ver por que desativar é difícil):
A detecção NSFW do FaceFusion fica num arquivo chamado content_analyser.py. É um script em Python (a linguagem em que o FaceFusion é escrito) que roda três modelos de IA:
| Nome do modelo | Autor | Resolução analisada | Sensibilidade |
|---|---|---|---|
| nsfw_1 | EraX | 640x640 px | Sinaliza se confiança > 20% |
| nsfw_2 | Marqo | 384x384 px | Sinaliza se confiança > 25% |
| nsfw_3 | Freepik | 448x448 px | Outro método de pontuação com limiar 10,5 |
Cada modelo olha o quadro ou a imagem de forma independente. A regra de votação é: só bloqueia se pelo menos dois dos três modelos sinalizarem NSFW. Em linguagem simples:
Se os modelos A e B dizem "NSFW": bloqueado.
Se A e C dizem "NSFW": bloqueado.
Se B e C dizem "NSFW": bloqueado.
Se só um modelo diz "NSFW": segue o fluxo.

Além disso, outro arquivo, core.py, contém uma verificação por hash. O hash é como uma impressão digital do código do filtro: uma sequência curta que muda se até uma letra do arquivo for alterada. Ao iniciar, o FaceFusion calcula a impressão de content_analyser.py e compara com o valor esperado. Se não bater, ou seja, alguém mexeu no filtro, o programa nem abre.

Não existe forma oficial de desligar o filtro NSFW
Se você espera uma caixinha nas configurações, um comando único ou um arquivo .ini simples, isso não existe.
Consultamos as fontes oficiais:
- A documentação da CLI do FaceFusion (CLI = interface de linha de comando) lista dezenas de opções para detecção facial, qualidade de saída, codificação de vídeo, GPU etc. Nenhuma delas trata do filtro NSFW.
- O arquivo
facefusion.ini(onde você salva padrões) permite ajustes de log, execução, layout da interface e detecção facial. Análise de conteúdo não está entre eles. - A página Misc settings documenta só
--log-level(quanto detalhe aparece no console) e--halt-on-error(parar quando der erro). Nada de controle NSFW.
Resumo: a única maneira conhecida de "desligar" o filtro é editar manualmente o código-fonte. São pelo menos dois arquivos Python, e como você verá abaixo, isso é bem mais frágil do que parece.
Como as pessoas tentam contornar o filtro NSFW
Sem interruptor oficial, a comunidade investiu muito tempo em descobrir como alterar o código para driblar o filtro.
O roteiro geral tem dois passos:
- Alterar a função de detecção para que ela sempre diga "conteúdo seguro", não importa o que veja.
- Remover ou burlar a checagem de integridade para o FaceFusion não detectar que o código do filtro foi modificado e se recusar a iniciar.
Os detalhes (número da linha, trecho exato) mudam de versão para versão. A seguir está o que a comunidade mapeou por faixa de versão, com erros comuns e o que costumava funcionar como correção.
Versões 3.4.1 e 3.4.2: método "clássico"
Como fazer:
Nessas versões o anti-adulteração ainda era relativamente simples. Abra content_analyser.py, localize a função detect_nsfw, apague tudo de dentro e coloque só uma linha: return False. Isso diz ao sistema que "não há NSFW" sempre.

Depois, em core.py, encontre a linha com algo como content_analyser_hash == '803b5ec7'. Apague esse trecho ou comente com # no início da linha (em Python, # ignora o restante da linha).

Também circulou um "pacote pronto" no Mega com core.py e content_analyser.py já modificados para substituir direto.
Erros comuns:
- Formatação quebra o programa: muita gente editou com o Bloco de Notas e bagunçou a indentação (espaços no começo de cada linha). Python falha na hora de iniciar.
- Loading infinito: usuários do Pinokio relataram tela de carregamento eterna; outros ficaram em "Analysing: 100%" com preview ainda borrado.
- Vídeo normal derruba o app: depois da alteração, importar vídeo totalmente inocente fazia o FaceFusion fechar ou travar.
- Erro mesmo limpando cache: ainda aparecia ErrorCode 3 ou queda de conexão no meio; em Mac muita gente disse que o método nem funcionava.
O que ajudava:
- Travamento: após editar, apagar a pasta
__pycache__e a pasta de modelos, e reiniciar. Sem isso, a mudança muitas vezes não pegava. - Crash com vídeo normal: manter dois jogos de arquivos (original e modificado) e um script em lote para trocar de volta ao processar conteúdo "limpo".
Versões 3.5.0 e 3.5.1: código reorganizado
Como fazer:
A equipe reestruturou o código; as linhas mudaram. Em content_analyser.py, por volta da linha 197, use return False. Em core.py, por volta da linha 124, use return all(module.pre_check() for module in common_modules) (sem a checagem de hash que vinha depois).
Também surgiram arquivos prontos em hospedagens tipo FEX.
Erros comuns:
- Programa não abre e não diz por quê: só trocar a linha 197 por
return Falsee nada acontece, sem mensagem. - ImportError ao baixar arquivo de terceiros: versão ou dependências incompatíveis.
- Arquivo não existe: quem usa FaceFusion como plugin do ComfyUI (fluxo em nós para imagem com IA) não achava
content_analyser.pyno mesmo lugar.
O que ajudava:
- Falha silenciosa: não bastava a linha 197; era preciso trocar todos os
return is_xxxnas linhas 140, 155, 160, 166 e 192 porreturn False, ou comentar cada detecção com#. - Cache "nível avançado": às vezes era preciso limpar também o cache do pip (gerenciador de pacotes do Python), não só
__pycache__.
Versões 3.5.2 e 3.5.3: defesas mais fortes
Como fazer:
Método 1: em content_analyser.py, ainda dava para usar return False. Em core.py, manter return all(module.pre_check() for module in common_modules).

Método 2 (truque que circulou): em vez de remover o hash, alguns trocavam == por != na linha da comparação em core.py, invertendo a lógica.
Erros comuns:
- Pacotes da 3.5.1 na 3.5.2+: o sistema
common_pre_checkbarrava na hora. - Tutorial passo a passo e mesmo assim nada: na 3.5.3/3.5.4 o app não abria ou o filtro continuava ativo.
O que ajudava:
- Inverter == para != na linha do hash, como acima.
- Configuração na interface (3.5.3): o modo Face Selector Mode não podia estar em REFERENCE; senão a alteração no código não surtia efeito.
Versões 3.5.4 e 3.6.0: dificuldade máxima
Como fazer:
As defesas ficaram bem mais pesadas.
Na 3.5.4, circulou código completo no Pastebin para colar e substituir:
content_analyser.py: https://pastebin.com/414nuu5tcore.py: https://pastebin.com/rEjYbLDArun.js(só Pinokio): https://pastebin.com/zwMspMpK
Na 3.6.0, alguns usuários pediram a uma IA (ex.: Claude) para remover a checagem de hash na última linha de core.py e simplificar o analisador com return False.
Erros comuns:
- "Mudei, reiniciei e voltou tudo!": clássico no Pinokio, que restaura os arquivos originais ao reabrir.
- Muitos arquivos para mexer: preview, image-to-image etc.; até quem manjava um pouco batia cabeça com assistentes de código.
O que ajudava:
- Pinokio: abrir
run.js, achargit checkout --quiet -- facefusion, apagar ou comentar essa linha. Só assim as edições nos.pysobreviviam ao reinício.
Por que desativar o filtro vira um problema gigante
Mesmo quando alguém consegue naquela versão, os problemas não acabam. Os três maiores:
Problema 1: cada atualização quebra o esquema
O valor do hash muda a cada versão. Ao atualizar:
- Seus arquivos modificados são sobrescritos (Pinokio e instaladores automáticos pioram isso).
- Mesmo refazendo as edições, o hash esperado mudou e o app detecta adulteração.
Por isso o Reddit tem fios novos para 3.1.2, 3.2.0, 3.4.1, 3.5.x… A pergunta "o método antigo ainda funciona?" quase sempre recebe não: precisa de outro pacote de edições.
Problema 2: é fácil errar na edição
- Arquivo errado: com Pinokio os caminhos são profundos (
C:\pinokio\api\facefusion-pinokio.git\facefusion\facefusion\etc.); muita gente editava uma cópia que nem estava em uso. - Indentação e tabs: Python é rígido; Bloco de Notas é receita para erro de sintaxe.
- Esquecer
__pycache__: o Python pode continuar rodando bytecode antigo; daí o "mudei e não mudou nada". - Só metade do trabalho: em várias versões são dois ou mais arquivos; mexer só no analisador e esquecer o
core.pydá crash ou bloqueio silencioso.
Problema 3: mesmo "funcionando", outra coisa quebra
- Foto passa, vídeo não (caminhos de código diferentes).
- Preview borrado mesmo com saída ok.
- Tudo mais lento porque os modelos NSFW ainda carregam em segundo plano.
- Conteúdo normal passa a falhar porque o resto do programa esperava um formato de retorno específico.
- Baixar
.pyde estranho na internet é risco sério de malware ou backdoor.
Alternativa melhor: FaceFusion online no FaceFusion.co
Se o que você quer é só trocar rosto em foto ou vídeo, sem Python, sem atualização quebrando gambiarra e sem risco de arquivo malicioso, o caminho mais simples é outro.
O FaceFusion.co roda no navegador. Não precisa instalar nada nem ter PC forte: você envia o arquivo, escolhe o rosto e o processamento vai para servidores na nuvem.

FaceFusion local x FaceFusion.co
| FaceFusion (local / open source) | FaceFusion.co (online) | |
|---|---|---|
| Instalação | Python, Conda, drivers CUDA (NVIDIA), dezenas de GB de modelos | Nenhuma: só abrir o site |
| Hardware | PC com GPU NVIDIA (muitas vezes US$ 300+) | Qualquer aparelho com navegador |
| Filtro NSFW | Integrado, sem opção oficial de desligar | Sem restrição de conteúdo desse tipo |
| Atualizações | Cada release pode invalidar edições manuais | Sempre na versão atual, sem você remendar código |
| Velocidade | Depende do seu hardware | Cerca de 8 s para fotos, ~60 s para clipes curtos (GPUs A100 na nuvem) |
| Precisão facial | Varia com modelo e ajustes | ~95,8% de similaridade com 12+ modelos de IA |
| Vídeo | Exige máquina forte localmente | Suporte com rastreamento quadro a quadro |
| Resolução | Limitada pela VRAM | Até 4K na saída |
| Grupo / vários rostos | Limitado na UI; lote via CLI | Até 10 rostos numa foto |
| Lip sync | Desde a 3.3.0 no local | Incluso e automático online |
| Enhancement | Você escolhe e configura modelos | Automático com vários modelos (GFPGAN, CodeFormer, GPEN etc.) |
| Privacidade | Arquivos ficam na sua máquina | Processamento em instância isolada; exclusão automática em até 24 h |
| Custo | Software grátis, mas hardware caro | Créditos diários grátis; planos pagos; sem marca d'água nas opções indicadas |
Por que faz sentido para a maioria
- Sem brigar com filtro: nada de editar código nem limpar cache de Python por causa de hash.
- Zero montagem técnica: sem Conda, CUDA nem terminal.
- Qualquer dispositivo: o pesado roda na nuvem.
- Sempre atualizado: novos modelos entram sem você reaplicar gambiarra.
- Resultado profissional rápido: alta similaridade, enhancement e lip sync sem configurar tudo na mão.
- Privacidade: arquivos processados e removidos conforme a política do serviço (exclusão automática em até 24 horas).
Experimente agora
Sem cadastro obrigatório, sem download, sem precisar "desligar filtro".
Perguntas frequentes
Existe uma opção oficial para desativar o filtro NSFW do FaceFusion?
Não. A documentação oficial da CLI, o facefusion.ini e as flags documentadas em “misc” não expõem nenhum interruptor de NSFW. Os métodos da comunidade envolvem editar código-fonte Python, sem suporte e frágeis.
Por que o preview fica borrado ou a CLI devolve código de erro 3?
O FaceFusion bloqueou a execução porque detectou conteúdo NSFW. Você pode ver preview borrado, progresso parado em “Analysing,” nenhum arquivo salvo ou erro 3 na CLI por detecção NSFW.
Por que os “workarounds” deixam de funcionar após uma atualização?
Cada versão pode mudar o layout do código e a hash esperada de content_analyser.py. Atualizações também sobrescrevem arquivos editados—especialmente com instaladores como Pinokio—então patches antigos em geral precisam ser refeitos.
É seguro baixar core.py ou content_analyser.py já modificados de desconhecidos?
Não. Substituir arquivos centrais por uploads anônimos é risco sério de segurança (malware, backdoors ou vazamento de dados). Prefira editar suas próprias cópias ou usar um serviço online confiável.
Existe alternativa sem editar código?
Sim. O FaceFusion.co oferece troca de rosto no navegador sem os workarounds locais de filtro NSFW descritos neste guia.
Conclusão
O filtro NSFW está no FaceFusion desde a 1.0.0 e só ficou mais difícil de contornar. Não há opção oficial: nem menu, nem facefusion.ini, nem flag de CLI. Os métodos da comunidade exigem editar código Python, quebram a cada versão, são fáceis de errar (principalmente com Pinokio) e baixar arquivos modificados de terceiros é arriscado.
Se você já perdeu horas nisso, vale perguntar: essa luta compensa?
O FaceFusion.co oferece a mesma ideia de troca de rosto no navegador, sem essa restrição de conteúdo, sem instalação e com créditos gratuitos para começar. É só abrir o site e usar.
