Spaces:
Build error
Build error
Upload folder using huggingface_hub
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .editorconfig +8 -0
- .flake8 +6 -0
- .gitattributes +1 -0
- .github/FUNDING.yml +2 -0
- .github/preview.png +3 -0
- .github/workflows/ci.yml +58 -0
- .gitignore +5 -0
- .install/LICENSE.md +3 -0
- .install/facefusion.ico +0 -0
- .install/facefusion.nsi +186 -0
- LICENSE.md +3 -0
- README.md +60 -7
- facefusion.ini +96 -0
- facefusion.py +10 -0
- facefusion/__init__.py +0 -0
- facefusion/__pycache__/__init__.cpython-310.pyc +0 -0
- facefusion/__pycache__/app_context.cpython-310.pyc +0 -0
- facefusion/__pycache__/args.cpython-310.pyc +0 -0
- facefusion/__pycache__/audio.cpython-310.pyc +0 -0
- facefusion/__pycache__/choices.cpython-310.pyc +0 -0
- facefusion/__pycache__/common_helper.cpython-310.pyc +0 -0
- facefusion/__pycache__/config.cpython-310.pyc +0 -0
- facefusion/__pycache__/content_analyser.cpython-310.pyc +0 -0
- facefusion/__pycache__/core.cpython-310.pyc +0 -0
- facefusion/__pycache__/date_helper.cpython-310.pyc +0 -0
- facefusion/__pycache__/download.cpython-310.pyc +0 -0
- facefusion/__pycache__/execution.cpython-310.pyc +0 -0
- facefusion/__pycache__/exit_helper.cpython-310.pyc +0 -0
- facefusion/__pycache__/face_analyser.cpython-310.pyc +0 -0
- facefusion/__pycache__/face_classifier.cpython-310.pyc +0 -0
- facefusion/__pycache__/face_detector.cpython-310.pyc +0 -0
- facefusion/__pycache__/face_helper.cpython-310.pyc +0 -0
- facefusion/__pycache__/face_landmarker.cpython-310.pyc +0 -0
- facefusion/__pycache__/face_masker.cpython-310.pyc +0 -0
- facefusion/__pycache__/face_recognizer.cpython-310.pyc +0 -0
- facefusion/__pycache__/face_selector.cpython-310.pyc +0 -0
- facefusion/__pycache__/face_store.cpython-310.pyc +0 -0
- facefusion/__pycache__/ffmpeg.cpython-310.pyc +0 -0
- facefusion/__pycache__/filesystem.cpython-310.pyc +0 -0
- facefusion/__pycache__/hash_helper.cpython-310.pyc +0 -0
- facefusion/__pycache__/inference_manager.cpython-310.pyc +0 -0
- facefusion/__pycache__/installer.cpython-310.pyc +0 -0
- facefusion/__pycache__/json.cpython-310.pyc +0 -0
- facefusion/__pycache__/logger.cpython-310.pyc +0 -0
- facefusion/__pycache__/memory.cpython-310.pyc +0 -0
- facefusion/__pycache__/metadata.cpython-310.pyc +0 -0
- facefusion/__pycache__/normalizer.cpython-310.pyc +0 -0
- facefusion/__pycache__/process_manager.cpython-310.pyc +0 -0
- facefusion/__pycache__/program.cpython-310.pyc +0 -0
- facefusion/__pycache__/program_helper.cpython-310.pyc +0 -0
.editorconfig
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
root = true
|
2 |
+
|
3 |
+
[*]
|
4 |
+
end_of_line = lf
|
5 |
+
insert_final_newline = true
|
6 |
+
indent_size = 4
|
7 |
+
indent_style = tab
|
8 |
+
trim_trailing_whitespace = true
|
.flake8
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[flake8]
|
2 |
+
select = E3, E4, F, I1, I2
|
3 |
+
per-file-ignores = facefusion.py:E402, install.py:E402
|
4 |
+
plugins = flake8-import-order
|
5 |
+
application_import_names = facefusion
|
6 |
+
import-order-style = pycharm
|
.gitattributes
CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
36 |
+
.github/preview.png filter=lfs diff=lfs merge=lfs -text
|
.github/FUNDING.yml
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
github: henryruhs
|
2 |
+
custom: [ buymeacoffee.com/henryruhs, paypal.me/henryruhs ]
|
.github/preview.png
ADDED
![]() |
Git LFS Details
|
.github/workflows/ci.yml
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name: ci
|
2 |
+
|
3 |
+
on: [ push, pull_request ]
|
4 |
+
|
5 |
+
jobs:
|
6 |
+
lint:
|
7 |
+
runs-on: ubuntu-latest
|
8 |
+
steps:
|
9 |
+
- name: Checkout
|
10 |
+
uses: actions/checkout@v4
|
11 |
+
- name: Set up Python 3.10
|
12 |
+
uses: actions/setup-python@v5
|
13 |
+
with:
|
14 |
+
python-version: '3.10'
|
15 |
+
- run: pip install flake8
|
16 |
+
- run: pip install flake8-import-order
|
17 |
+
- run: pip install mypy
|
18 |
+
- run: flake8 facefusion.py install.py
|
19 |
+
- run: flake8 facefusion tests
|
20 |
+
- run: mypy facefusion.py install.py
|
21 |
+
- run: mypy facefusion tests
|
22 |
+
test:
|
23 |
+
strategy:
|
24 |
+
matrix:
|
25 |
+
os: [ macos-13, ubuntu-latest, windows-latest ]
|
26 |
+
runs-on: ${{ matrix.os }}
|
27 |
+
steps:
|
28 |
+
- name: Checkout
|
29 |
+
uses: actions/checkout@v4
|
30 |
+
- name: Set up FFmpeg
|
31 |
+
uses: FedericoCarboni/setup-ffmpeg@v3
|
32 |
+
- name: Set up Python 3.10
|
33 |
+
uses: actions/setup-python@v5
|
34 |
+
with:
|
35 |
+
python-version: '3.10'
|
36 |
+
- run: python install.py --onnxruntime default --skip-conda
|
37 |
+
- run: pip install pytest
|
38 |
+
- run: pytest
|
39 |
+
report:
|
40 |
+
needs: test
|
41 |
+
runs-on: ubuntu-latest
|
42 |
+
steps:
|
43 |
+
- name: Checkout
|
44 |
+
uses: actions/checkout@v4
|
45 |
+
- name: Set up FFmpeg
|
46 |
+
uses: FedericoCarboni/setup-ffmpeg@v3
|
47 |
+
- name: Set up Python 3.10
|
48 |
+
uses: actions/setup-python@v5
|
49 |
+
with:
|
50 |
+
python-version: '3.10'
|
51 |
+
- run: python install.py --onnxruntime default --skip-conda
|
52 |
+
- run: pip install coveralls
|
53 |
+
- run: pip install pytest
|
54 |
+
- run: pip install pytest-cov
|
55 |
+
- run: pytest tests --cov facefusion
|
56 |
+
- run: coveralls --service github
|
57 |
+
env:
|
58 |
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
.gitignore
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.assets
|
2 |
+
.caches
|
3 |
+
.jobs
|
4 |
+
.idea
|
5 |
+
.vscode
|
.install/LICENSE.md
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
CC BY-NC license
|
2 |
+
|
3 |
+
Copyright (c) 2024 Henry Ruhs
|
.install/facefusion.ico
ADDED
|
.install/facefusion.nsi
ADDED
@@ -0,0 +1,186 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
!include MUI2.nsh
|
2 |
+
!include nsDialogs.nsh
|
3 |
+
!include LogicLib.nsh
|
4 |
+
|
5 |
+
RequestExecutionLevel user
|
6 |
+
ManifestDPIAware true
|
7 |
+
|
8 |
+
Name 'FaceFusion 3.0.0'
|
9 |
+
OutFile 'FaceFusion_3.0.0.exe'
|
10 |
+
|
11 |
+
!define MUI_ICON 'facefusion.ico'
|
12 |
+
|
13 |
+
!insertmacro MUI_PAGE_DIRECTORY
|
14 |
+
Page custom InstallPage PostInstallPage
|
15 |
+
!insertmacro MUI_PAGE_INSTFILES
|
16 |
+
!insertmacro MUI_LANGUAGE English
|
17 |
+
|
18 |
+
Var UseDefault
|
19 |
+
Var UseCuda
|
20 |
+
Var UseDirectMl
|
21 |
+
Var UseOpenVino
|
22 |
+
|
23 |
+
Function .onInit
|
24 |
+
StrCpy $INSTDIR 'C:\FaceFusion'
|
25 |
+
FunctionEnd
|
26 |
+
|
27 |
+
Function InstallPage
|
28 |
+
nsDialogs::Create 1018
|
29 |
+
!insertmacro MUI_HEADER_TEXT 'Choose Your Accelerator' 'Choose your accelerator based on the graphics card.'
|
30 |
+
|
31 |
+
${NSD_CreateRadioButton} 0 40u 100% 10u 'Default'
|
32 |
+
Pop $UseDefault
|
33 |
+
|
34 |
+
${NSD_CreateRadioButton} 0 55u 100% 10u 'CUDA (NVIDIA)'
|
35 |
+
Pop $UseCuda
|
36 |
+
|
37 |
+
${NSD_CreateRadioButton} 0 70u 100% 10u 'DirectML (AMD, Intel, NVIDIA)'
|
38 |
+
Pop $UseDirectMl
|
39 |
+
|
40 |
+
${NSD_CreateRadioButton} 0 85u 100% 10u 'OpenVINO (Intel)'
|
41 |
+
Pop $UseOpenVino
|
42 |
+
|
43 |
+
${NSD_Check} $UseDefault
|
44 |
+
|
45 |
+
nsDialogs::Show
|
46 |
+
FunctionEnd
|
47 |
+
|
48 |
+
Function PostInstallPage
|
49 |
+
${NSD_GetState} $UseDefault $UseDefault
|
50 |
+
${NSD_GetState} $UseCuda $UseCuda
|
51 |
+
${NSD_GetState} $UseDirectMl $UseDirectMl
|
52 |
+
${NSD_GetState} $UseOpenVino $UseOpenVino
|
53 |
+
FunctionEnd
|
54 |
+
|
55 |
+
Function Destroy
|
56 |
+
${If} ${Silent}
|
57 |
+
Quit
|
58 |
+
${Else}
|
59 |
+
Abort
|
60 |
+
${EndIf}
|
61 |
+
FunctionEnd
|
62 |
+
|
63 |
+
Section 'Prepare Your Platform'
|
64 |
+
DetailPrint 'Install GIT'
|
65 |
+
inetc::get 'https://github.com/git-for-windows/git/releases/download/v2.46.0.windows.1/Git-2.46.0-64-bit.exe' '$TEMP\Git.exe'
|
66 |
+
ExecWait '$TEMP\Git.exe /CURRENTUSER /VERYSILENT /DIR=$LOCALAPPDATA\Programs\Git' $0
|
67 |
+
Delete '$TEMP\Git.exe'
|
68 |
+
|
69 |
+
${If} $0 > 0
|
70 |
+
DetailPrint 'Git installation aborted with error code $0'
|
71 |
+
Call Destroy
|
72 |
+
${EndIf}
|
73 |
+
|
74 |
+
DetailPrint 'Uninstall Conda'
|
75 |
+
ExecWait '$LOCALAPPDATA\Programs\Miniconda3\Uninstall-Miniconda3.exe /S _?=$LOCALAPPDATA\Programs\Miniconda3'
|
76 |
+
RMDir /r '$LOCALAPPDATA\Programs\Miniconda3'
|
77 |
+
|
78 |
+
DetailPrint 'Install Conda'
|
79 |
+
inetc::get 'https://repo.anaconda.com/miniconda/Miniconda3-py310_24.5.0-0-Windows-x86_64.exe' '$TEMP\Miniconda3.exe'
|
80 |
+
ExecWait '$TEMP\Miniconda3.exe /InstallationType=JustMe /AddToPath=1 /S /D=$LOCALAPPDATA\Programs\Miniconda3' $1
|
81 |
+
Delete '$TEMP\Miniconda3.exe'
|
82 |
+
|
83 |
+
${If} $1 > 0
|
84 |
+
DetailPrint 'Conda installation aborted with error code $1'
|
85 |
+
Call Destroy
|
86 |
+
${EndIf}
|
87 |
+
SectionEnd
|
88 |
+
|
89 |
+
Section 'Download Your Copy'
|
90 |
+
SetOutPath $INSTDIR
|
91 |
+
|
92 |
+
DetailPrint 'Download Your Copy'
|
93 |
+
RMDir /r $INSTDIR
|
94 |
+
|
95 |
+
nsExec::Exec '$LOCALAPPDATA\Programs\Git\cmd\git.exe config http.sslVerify false'
|
96 |
+
nsExec::Exec '$LOCALAPPDATA\Programs\Git\cmd\git.exe clone https://github.com/facefusion/facefusion --branch 3.0.0 .'
|
97 |
+
SectionEnd
|
98 |
+
|
99 |
+
Section 'Prepare Your Environment'
|
100 |
+
DetailPrint 'Prepare Your Environment'
|
101 |
+
nsExec::Exec '$LOCALAPPDATA\Programs\Miniconda3\Scripts\conda.exe init --all'
|
102 |
+
nsExec::Exec '$LOCALAPPDATA\Programs\Miniconda3\Scripts\conda.exe create --name facefusion python=3.10 --yes'
|
103 |
+
SectionEnd
|
104 |
+
|
105 |
+
Section 'Create Install Batch'
|
106 |
+
SetOutPath $INSTDIR
|
107 |
+
|
108 |
+
FileOpen $0 install-ffmpeg.bat w
|
109 |
+
FileOpen $1 install-accelerator.bat w
|
110 |
+
FileOpen $2 install-application.bat w
|
111 |
+
|
112 |
+
FileWrite $0 '@echo off && conda activate facefusion && conda install conda-forge::ffmpeg=7.0.2 --yes'
|
113 |
+
${If} $UseCuda == 1
|
114 |
+
FileWrite $1 '@echo off && conda activate facefusion && conda install conda-forge::cuda-runtime=12.4.1 cudnn=8.9.2.26 conda-forge::gputil=1.4.0 conda-forge::zlib-wapi --yes'
|
115 |
+
FileWrite $2 '@echo off && conda activate facefusion && python install.py --onnxruntime cuda-12.4'
|
116 |
+
${ElseIf} $UseDirectMl == 1
|
117 |
+
FileWrite $2 '@echo off && conda activate facefusion && python install.py --onnxruntime directml'
|
118 |
+
${ElseIf} $UseOpenVino == 1
|
119 |
+
FileWrite $1 '@echo off && conda activate facefusion && conda install conda-forge::openvino=2024.2.0 --yes'
|
120 |
+
FileWrite $2 '@echo off && conda activate facefusion && python install.py --onnxruntime openvino'
|
121 |
+
${Else}
|
122 |
+
FileWrite $2 '@echo off && conda activate facefusion && python install.py --onnxruntime default'
|
123 |
+
${EndIf}
|
124 |
+
|
125 |
+
FileClose $0
|
126 |
+
FileClose $1
|
127 |
+
FileClose $2
|
128 |
+
SectionEnd
|
129 |
+
|
130 |
+
Section 'Install Your FFmpeg'
|
131 |
+
SetOutPath $INSTDIR
|
132 |
+
|
133 |
+
DetailPrint 'Install Your FFmpeg'
|
134 |
+
nsExec::ExecToLog 'install-ffmpeg.bat'
|
135 |
+
SectionEnd
|
136 |
+
|
137 |
+
Section 'Install Your Accelerator'
|
138 |
+
SetOutPath $INSTDIR
|
139 |
+
|
140 |
+
DetailPrint 'Install Your Accelerator'
|
141 |
+
nsExec::ExecToLog 'install-accelerator.bat'
|
142 |
+
SectionEnd
|
143 |
+
|
144 |
+
Section 'Install The Application'
|
145 |
+
SetOutPath $INSTDIR
|
146 |
+
|
147 |
+
DetailPrint 'Install The Application'
|
148 |
+
nsExec::ExecToLog 'install-application.bat'
|
149 |
+
SectionEnd
|
150 |
+
|
151 |
+
Section 'Create Run Batch'
|
152 |
+
SetOutPath $INSTDIR
|
153 |
+
|
154 |
+
FileOpen $0 facefusion.bat w
|
155 |
+
FileWrite $0 '@echo off && conda activate facefusion && python facefusion.py %*'
|
156 |
+
FileClose $0
|
157 |
+
SectionEnd
|
158 |
+
|
159 |
+
Section 'Register The Application'
|
160 |
+
DetailPrint 'Register The Application'
|
161 |
+
|
162 |
+
CreateDirectory $SMPROGRAMS\FaceFusion
|
163 |
+
CreateShortcut '$SMPROGRAMS\FaceFusion\FaceFusion.lnk' $INSTDIR\run.bat '--open-browser' $INSTDIR\.install\facefusion.ico
|
164 |
+
CreateShortcut '$SMPROGRAMS\FaceFusion\FaceFusion Benchmark.lnk' $INSTDIR\run.bat '--ui-layouts benchmark --open-browser' $INSTDIR\.install\facefusion.ico
|
165 |
+
CreateShortcut '$SMPROGRAMS\FaceFusion\FaceFusion Webcam.lnk' $INSTDIR\run.bat '--ui-layouts webcam --open-browser' $INSTDIR\.install\facefusion.ico
|
166 |
+
|
167 |
+
CreateShortcut $DESKTOP\FaceFusion.lnk $INSTDIR\run.bat '--open-browser' $INSTDIR\.install\facefusion.ico
|
168 |
+
|
169 |
+
WriteUninstaller $INSTDIR\Uninstall.exe
|
170 |
+
|
171 |
+
WriteRegStr HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\FaceFusion DisplayName 'FaceFusion'
|
172 |
+
WriteRegStr HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\FaceFusion DisplayVersion '3.0.0'
|
173 |
+
WriteRegStr HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\FaceFusion Publisher 'Henry Ruhs'
|
174 |
+
WriteRegStr HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\FaceFusion InstallLocation $INSTDIR
|
175 |
+
WriteRegStr HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\FaceFusion UninstallString $INSTDIR\uninstall.exe
|
176 |
+
SectionEnd
|
177 |
+
|
178 |
+
Section 'Uninstall'
|
179 |
+
nsExec::Exec '$LOCALAPPDATA\Programs\Miniconda3\Scripts\conda.exe env remove --name facefusion --yes'
|
180 |
+
|
181 |
+
Delete $DESKTOP\FaceFusion.lnk
|
182 |
+
RMDir /r $SMPROGRAMS\FaceFusion
|
183 |
+
RMDir /r $INSTDIR
|
184 |
+
|
185 |
+
DeleteRegKey HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\FaceFusion
|
186 |
+
SectionEnd
|
LICENSE.md
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
MIT license
|
2 |
+
|
3 |
+
Copyright (c) 2024 Henry Ruhs
|
README.md
CHANGED
@@ -1,12 +1,65 @@
|
|
1 |
---
|
2 |
-
title:
|
3 |
-
|
4 |
-
colorFrom: green
|
5 |
-
colorTo: pink
|
6 |
sdk: gradio
|
7 |
sdk_version: 4.41.0
|
8 |
-
app_file: app.py
|
9 |
-
pinned: false
|
10 |
---
|
|
|
|
|
11 |
|
12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
+
title: facetest
|
3 |
+
app_file: facefusion.py
|
|
|
|
|
4 |
sdk: gradio
|
5 |
sdk_version: 4.41.0
|
|
|
|
|
6 |
---
|
7 |
+
FaceFusion
|
8 |
+
==========
|
9 |
|
10 |
+
> Next generation face swapper and enhancer.
|
11 |
+
|
12 |
+
[](https://github.com/facefusion/facefusion/actions?query=workflow:ci)
|
13 |
+
[](https://coveralls.io/github/facefusion/facefusion)
|
14 |
+

|
15 |
+
|
16 |
+
|
17 |
+
Preview
|
18 |
+
-------
|
19 |
+
|
20 |
+

|
21 |
+
|
22 |
+
|
23 |
+
Installation
|
24 |
+
------------
|
25 |
+
|
26 |
+
Be aware, the [installation](https://docs.facefusion.io/installation) needs technical skills and is not recommended for beginners. In case you are not comfortable using a terminal, our [Windows Installer](https://buymeacoffee.com/henryruhs/e/251939) can have you up and running in minutes.
|
27 |
+
|
28 |
+
|
29 |
+
Usage
|
30 |
+
-----
|
31 |
+
|
32 |
+
Run the command:
|
33 |
+
|
34 |
+
```
|
35 |
+
python facefusion.py [commands] [options]
|
36 |
+
|
37 |
+
options:
|
38 |
+
-h, --help show this help message and exit
|
39 |
+
-v, --version show program's version number and exit
|
40 |
+
|
41 |
+
commands:
|
42 |
+
run run the program
|
43 |
+
headless-run run the program in headless mode
|
44 |
+
force-download force automate downloads and exit
|
45 |
+
job-create create a drafted job
|
46 |
+
job-submit submit a drafted job to become a queued job
|
47 |
+
job-submit-all submit all drafted jobs to become a queued jobs
|
48 |
+
job-delete delete a drafted, queued, failed or completed job
|
49 |
+
job-delete-all delete all drafted, queued, failed and completed jobs
|
50 |
+
job-list list jobs by status
|
51 |
+
job-add-step add a step to a drafted job
|
52 |
+
job-remix-step remix a previous step from a drafted job
|
53 |
+
job-insert-step insert a step to a drafted job
|
54 |
+
job-remove-step remove a step from a drafted job
|
55 |
+
job-run run a queued job
|
56 |
+
job-run-all run all queued jobs
|
57 |
+
job-retry retry a failed job
|
58 |
+
job-retry-all retry all failed jobs
|
59 |
+
```
|
60 |
+
|
61 |
+
|
62 |
+
Documentation
|
63 |
+
-------------
|
64 |
+
|
65 |
+
Read the [documentation](https://docs.facefusion.io) for a deep dive.
|
facefusion.ini
ADDED
@@ -0,0 +1,96 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[paths]
|
2 |
+
jobs_path =
|
3 |
+
source_paths =
|
4 |
+
target_path =
|
5 |
+
output_path =
|
6 |
+
|
7 |
+
[face_detector]
|
8 |
+
face_detector_model =
|
9 |
+
face_detector_angles =
|
10 |
+
face_detector_size =
|
11 |
+
face_detector_score =
|
12 |
+
|
13 |
+
[face_landmarker]
|
14 |
+
face_landmarker_model =
|
15 |
+
face_landmarker_score =
|
16 |
+
|
17 |
+
[face_selector]
|
18 |
+
face_selector_mode =
|
19 |
+
face_selector_order =
|
20 |
+
face_selector_age =
|
21 |
+
face_selector_gender =
|
22 |
+
reference_face_position =
|
23 |
+
reference_face_distance =
|
24 |
+
reference_frame_number =
|
25 |
+
|
26 |
+
[face_masker]
|
27 |
+
face_mask_types =
|
28 |
+
face_mask_blur =
|
29 |
+
face_mask_padding =
|
30 |
+
face_mask_regions =
|
31 |
+
|
32 |
+
[frame_extraction]
|
33 |
+
trim_frame_start =
|
34 |
+
trim_frame_end =
|
35 |
+
temp_frame_format =
|
36 |
+
keep_temp =
|
37 |
+
|
38 |
+
[output_creation]
|
39 |
+
output_image_quality =
|
40 |
+
output_image_resolution =
|
41 |
+
output_audio_encoder =
|
42 |
+
output_video_encoder =
|
43 |
+
output_video_preset =
|
44 |
+
output_video_quality =
|
45 |
+
output_video_resolution =
|
46 |
+
output_video_fps =
|
47 |
+
skip_audio =
|
48 |
+
|
49 |
+
[processors]
|
50 |
+
processors =
|
51 |
+
age_modifier_model =
|
52 |
+
age_modifier_direction =
|
53 |
+
expression_restorer_model =
|
54 |
+
expression_restorer_factor =
|
55 |
+
face_debugger_items =
|
56 |
+
face_editor_model =
|
57 |
+
face_editor_eyebrow_direction =
|
58 |
+
face_editor_eye_gaze_horizontal =
|
59 |
+
face_editor_eye_gaze_vertical =
|
60 |
+
face_editor_eye_open_ratio =
|
61 |
+
face_editor_lip_open_ratio =
|
62 |
+
face_editor_mouth_grim =
|
63 |
+
face_editor_mouth_pout =
|
64 |
+
face_editor_mouth_purse =
|
65 |
+
face_editor_mouth_smile =
|
66 |
+
face_editor_mouth_position_horizontal =
|
67 |
+
face_editor_mouth_position_vertical =
|
68 |
+
face_enhancer_model =
|
69 |
+
face_enhancer_blend =
|
70 |
+
face_swapper_model =
|
71 |
+
face_swapper_pixel_boost =
|
72 |
+
frame_colorizer_model =
|
73 |
+
frame_colorizer_blend =
|
74 |
+
frame_colorizer_size =
|
75 |
+
frame_enhancer_model =
|
76 |
+
frame_enhancer_blend =
|
77 |
+
lip_syncer_model =
|
78 |
+
|
79 |
+
[uis]
|
80 |
+
open_browser =
|
81 |
+
ui_layouts =
|
82 |
+
ui_workflow =
|
83 |
+
|
84 |
+
[execution]
|
85 |
+
execution_device_id =
|
86 |
+
execution_providers =
|
87 |
+
execution_thread_count =
|
88 |
+
execution_queue_count =
|
89 |
+
|
90 |
+
[memory]
|
91 |
+
video_memory_strategy =
|
92 |
+
system_memory_limit =
|
93 |
+
|
94 |
+
[misc]
|
95 |
+
skip_download =
|
96 |
+
log_level =
|
facefusion.py
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#!/usr/bin/env python3
|
2 |
+
|
3 |
+
import os
|
4 |
+
|
5 |
+
os.environ['OMP_NUM_THREADS'] = '1'
|
6 |
+
|
7 |
+
from facefusion import core
|
8 |
+
|
9 |
+
if __name__ == '__main__':
|
10 |
+
core.cli()
|
facefusion/__init__.py
ADDED
File without changes
|
facefusion/__pycache__/__init__.cpython-310.pyc
ADDED
Binary file (135 Bytes). View file
|
|
facefusion/__pycache__/app_context.cpython-310.pyc
ADDED
Binary file (420 Bytes). View file
|
|
facefusion/__pycache__/args.cpython-310.pyc
ADDED
Binary file (4.21 kB). View file
|
|
facefusion/__pycache__/audio.cpython-310.pyc
ADDED
Binary file (4.51 kB). View file
|
|
facefusion/__pycache__/choices.cpython-310.pyc
ADDED
Binary file (3.54 kB). View file
|
|
facefusion/__pycache__/common_helper.cpython-310.pyc
ADDED
Binary file (2.26 kB). View file
|
|
facefusion/__pycache__/config.cpython-310.pyc
ADDED
Binary file (2.45 kB). View file
|
|
facefusion/__pycache__/content_analyser.cpython-310.pyc
ADDED
Binary file (3.85 kB). View file
|
|
facefusion/__pycache__/core.cpython-310.pyc
ADDED
Binary file (14.3 kB). View file
|
|
facefusion/__pycache__/date_helper.cpython-310.pyc
ADDED
Binary file (1.23 kB). View file
|
|
facefusion/__pycache__/download.cpython-310.pyc
ADDED
Binary file (4.73 kB). View file
|
|
facefusion/__pycache__/execution.cpython-310.pyc
ADDED
Binary file (4.41 kB). View file
|
|
facefusion/__pycache__/exit_helper.cpython-310.pyc
ADDED
Binary file (988 Bytes). View file
|
|
facefusion/__pycache__/face_analyser.cpython-310.pyc
ADDED
Binary file (3.38 kB). View file
|
|
facefusion/__pycache__/face_classifier.cpython-310.pyc
ADDED
Binary file (2.63 kB). View file
|
|
facefusion/__pycache__/face_detector.cpython-310.pyc
ADDED
Binary file (7.49 kB). View file
|
|
facefusion/__pycache__/face_helper.cpython-310.pyc
ADDED
Binary file (8.07 kB). View file
|
|
facefusion/__pycache__/face_landmarker.cpython-310.pyc
ADDED
Binary file (6.1 kB). View file
|
|
facefusion/__pycache__/face_masker.cpython-310.pyc
ADDED
Binary file (5.22 kB). View file
|
|
facefusion/__pycache__/face_recognizer.cpython-310.pyc
ADDED
Binary file (2.56 kB). View file
|
|
facefusion/__pycache__/face_selector.cpython-310.pyc
ADDED
Binary file (3.52 kB). View file
|
|
facefusion/__pycache__/face_store.cpython-310.pyc
ADDED
Binary file (1.75 kB). View file
|
|
facefusion/__pycache__/ffmpeg.cpython-310.pyc
ADDED
Binary file (6.69 kB). View file
|
|
facefusion/__pycache__/filesystem.cpython-310.pyc
ADDED
Binary file (4.74 kB). View file
|
|
facefusion/__pycache__/hash_helper.cpython-310.pyc
ADDED
Binary file (1.12 kB). View file
|
|
facefusion/__pycache__/inference_manager.cpython-310.pyc
ADDED
Binary file (2.44 kB). View file
|
|
facefusion/__pycache__/installer.cpython-310.pyc
ADDED
Binary file (3.06 kB). View file
|
|
facefusion/__pycache__/json.cpython-310.pyc
ADDED
Binary file (878 Bytes). View file
|
|
facefusion/__pycache__/logger.cpython-310.pyc
ADDED
Binary file (2.63 kB). View file
|
|
facefusion/__pycache__/memory.cpython-310.pyc
ADDED
Binary file (702 Bytes). View file
|
|
facefusion/__pycache__/metadata.cpython-310.pyc
ADDED
Binary file (532 Bytes). View file
|
|
facefusion/__pycache__/normalizer.cpython-310.pyc
ADDED
Binary file (837 Bytes). View file
|
|
facefusion/__pycache__/process_manager.cpython-310.pyc
ADDED
Binary file (1.7 kB). View file
|
|
facefusion/__pycache__/program.cpython-310.pyc
ADDED
Binary file (15.7 kB). View file
|
|
facefusion/__pycache__/program_helper.cpython-310.pyc
ADDED
Binary file (1.84 kB). View file
|
|