When I originally built this project, I approached it primarily as a technical experiment in generative media. Not long after releasing it, my view of the broader second-order effects around software in this category changed.
*Because of that, this project has been permanently discontinued.
Update: This repository has been archived to prevent pull requests.
This software is designed to contribute positively to the AI-generated media industry, assisting professionals with tasks like generating consistent faces for clothing models and character animation.
We are aware of the potential ethical issues and have implemented measures to prevent the software from being used for inappropriate content, such as nudity.
Users are expected to follow local laws and use the software responsibly. If using real faces, get consent and clearly label deepfakes when sharing. The developers aren't liable for user actions.
Start the program with arguments:
python run.py [options]
-h, --help show this help message and exit
-s SOURCE_PATH, --source SOURCE_PATH select an source image
-t TARGET_PATH, --target TARGET_PATH select an target image or video
-o OUTPUT_PATH, --output OUTPUT_PATH select output file or directory
--frame-processor FRAME_PROCESSOR [FRAME_PROCESSOR ...] frame processors (choices: face_swapper, face_enhancer, ...)
--keep-fps keep target fps
--keep-frames keep temporary frames
--skip-audio skip target audio
--many-faces process every face
--reference-face-position REFERENCE_FACE_POSITION position of the reference face
--reference-frame-number REFERENCE_FRAME_NUMBER number of the reference frame
--similar-face-distance SIMILAR_FACE_DISTANCE face distance used for recognition
--temp-frame-format {jpg,png} image format used for frame extraction
--temp-frame-quality [0-100] image quality used for frame extraction
--output-video-encoder {libx264,libx265,libvpx-vp9,h264_nvenc,hevc_nvenc} encoder used for the output video
--output-video-quality [0-100] quality used for the output video
--max-memory MAX_MEMORY maximum amount of RAM in GB
--execution-provider {cpu} [{cpu} ...] available execution provider (choices: cpu, ...)
--execution-threads EXECUTION_THREADS number of execution threads
-v, --version show program's version number and exit
Using the -s/--source, -t/--target and -o/--output argument will run the program in headless mode.
Be aware, the installation needs technical skills and is not for beginners. Please do not open platform and installation related issues on GitHub.
Basic - It is more likely to work on your computer, but will be quite slow
Acceleration - Unleash the full potential of your CPU and GPU
Our software uses a lot of third party libraries as well pre-trained models. The users should keep in mind that these third party components have their own license and terms, therefore our license is not being applied.
- deepinsight for their insightface project which provided a well-made library and models.
- all developers behind the libraries used in this project
Read the documentation for a deep dive.
