Sobre o projeto

ComfyUI-H3-FaceRefine é um conjunto de nós personalizados do ComfyUI para pós-processamento de vídeos MiniMax H3. Ele resolve o caso em que o H3 renderiza rostos de forma deficiente porque uma cabeça ocupa apenas uma pequena parte do quadro original. O pipeline detecta e rastreia um rosto, normaliza o recorte para uma tela maior, passa esse recorte pelo H3 e costura o rosto gerado de volta no vídeo original usando a transformação de recorte registrada. Sua abordagem é inspirada no FaceDetailer do Impact Pack, mas estendida para o trabalho de vídeo quadro a quadro. Os principais componentes incluem: - H3 Load Video + Face Select: carrega vídeo e áudio, detecta rostos, detecta opcionalmente cortes secos e seleciona um sujeito antes da execução do grafo. Pode usar uma interface manual Pick faces, regras de classificação ou uma imagem de referência de identidade. - H3 Face Track + Crop: rastreia o sujeito selecionado em cada tomada, produz recortes e dados de transformação, gera dimensões de tela e contagem de quadros e lida com suavização, interpolação, rostos ausentes e limites de tomada. - H3 Per-Frame Denoise: aplica controles de redução de ruído por quadro como um patch no caminho do modelo, recebendo e retornando uma entrada MODEL. - H3 Face Stitch Back: compõe a saída refinada do H3 de volta nos quadros de origem e preserva o caminho original do áudio. A seleção de sujeito suporta modos automáticos de classificação, como maior, menor, mais à esquerda, mais à direita, mais acima, mais abaixo, mais central, mais próximo das coordenadas X/Y e pontuação do detector. A seleção baseada em identidade pode usar InsightFace para rostos fotográficos, enquanto CLIP Vision ou CCIP são sugeridos para material ilustrado ou anime. É necessário um detector de rostos fornecido pelo usuário, como face_yolov8m.pt; um detector de rostos de anime é recomendado para conteúdo não fotográfico. O pacote usa PySceneDetect para detecção opcional de cortes secos. Quando disponível, os cortes dividem o vídeo em tomadas para que o sujeito possa ser selecionado separadamente em cada uma e o rastreamento não seja suavizado através de um corte. Se o PySceneDetect não estiver disponível, o vídeo é tratado como uma única tomada. Os relatórios de rastreamento identificam intervalos de quadros perdidos, e os quadros perdidos podem ser destacados na prévia. Quando o sujeito desaparece, o rastreador evita saltar para outra pessoa e pode interpolar o recorte enquanto esmaece a composição para manter os pixels originais. Dois modelos de fluxo de trabalho anotados estão incluídos: Auto Select, em que uma regra de classificação escolhe o rosto, e Manual Select, em que o usuário escolhe um rosto por tomada. Os modelos estão disponíveis no navegador de modelos do ComfyUI e também podem ser carregados do diretório example_workflows. Eles usam a contagem de quadros e as dimensões de tela do nó de rastreamento para manter a geração do H3 alinhada ao clipe de origem. A instalação é feita clonando o repositório em ComfyUI/custom_nodes e reiniciando o ComfyUI. Os nós aparecem no menu MiniMax H3/Face Refine. Pacotes Python, incluindo ultralytics, scipy, insightface e scenedetect, podem ser instalados a partir dos requirements do projeto. É necessária uma versão recente do ComfyUI com os nós principais do MiniMax H3, além do modelo H3, codificador de texto e VAE, a menos que já estejam instalados. Os fluxos de trabalho de exemplo também usam VideoHelperSuite para salvamento, ComfyUI-H3-NativeAudioLock para tratamento de áudio/lipsync e Impact Pack para registro de pasta de modelos. Componentes SAM e GGUF estão presentes, mas silenciados por padrão; modelos SAM, suporte a carregador GGUF, CLIP Vision, modelos InsightFace e turbo LoRAs são opcionais dependendo da configuração do fluxo de trabalho. Para vídeos carregados colando um caminho absoluto, o pacote fornece prévias locais fora do diretório input do ComfyUI. Definir H3_FACEREFINE_STRICT_PATHS com um valor não vazio restringe essas rotas a arquivos dentro da própria pasta do ComfyUI, o que é útil quando o ComfyUI é exposto além do localhost.