{"id":22668957,"url":"https://github.com/player29879/facefusion","last_synced_at":"2026-02-22T18:37:13.468Z","repository":{"id":252252381,"uuid":"838888135","full_name":"player29879/facefusion","owner":"player29879","description":"Next generation face swapper and enhancer","archived":false,"fork":false,"pushed_at":"2024-08-10T03:48:35.000Z","size":16450,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-08-10T04:38:05.000Z","etag":null,"topics":["ai","face-swap","faceswap","fakedeep","webcam"],"latest_commit_sha":null,"homepage":"http://join.facefusion.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/player29879.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"henryruhs","custom":["buymeacoffee.com/henryruhs","paypal.me/henryruhs"]}},"created_at":"2024-08-06T14:36:17.000Z","updated_at":"2024-08-10T03:48:21.000Z","dependencies_parsed_at":"2024-08-08T16:58:01.813Z","dependency_job_id":"412f5dce-ab46-4d8c-942e-3a23b35f3a09","html_url":"https://github.com/player29879/facefusion","commit_stats":null,"previous_names":["player29879/facefusion"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/player29879%2Ffacefusion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/player29879%2Ffacefusion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/player29879%2Ffacefusion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/player29879%2Ffacefusion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/player29879","download_url":"https://codeload.github.com/player29879/facefusion/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228911883,"owners_count":17990774,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","face-swap","faceswap","fakedeep","webcam"],"created_at":"2024-12-09T15:17:34.096Z","updated_at":"2025-10-24T02:48:47.450Z","avatar_url":"https://github.com/player29879.png","language":"Python","funding_links":["https://github.com/sponsors/henryruhs","buymeacoffee.com/henryruhs","paypal.me/henryruhs","https://buymeacoffee.com/henryruhs/e/251939"],"categories":[],"sub_categories":[],"readme":"FaceFusion\n==========\n\n\u003e Next generation face swapper and enhancer.\n\n[![Build Status](https://img.shields.io/github/actions/workflow/status/facefusion/facefusion/ci.yml.svg?branch=master)](https://github.com/facefusion/facefusion/actions?query=workflow:ci)\n![License](https://img.shields.io/badge/license-MIT-green)\n\n\nPreview\n-------\n\n![Preview](https://raw.githubusercontent.com/facefusion/facefusion/master/.github/preview.png?sanitize=true)\n\n\nInstallation\n------------\n\nBe 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.\n\n\nUsage\n-----\n\nRun the command:\n\n```\npython run.py [options]\n\noptions:\n  -h, --help                                                                                                                                                                            show this help message and exit\n  -c CONFIG_PATH, --config CONFIG_PATH                                                                                                                                                  choose the config file to override defaults\n  -s SOURCE_PATHS, --source SOURCE_PATHS                                                                                                                                                choose single or multiple source images or audios\n  -t TARGET_PATH, --target TARGET_PATH                                                                                                                                                  choose single target image or video\n  -o OUTPUT_PATH, --output OUTPUT_PATH                                                                                                                                                  specify the output file or directory\n  -v, --version                                                                                                                                                                         show program's version number and exit\n\nmisc:\n  --force-download                                                                                                                                                                      force automate downloads and exit\n  --skip-download                                                                                                                                                                       omit automate downloads and remote lookups\n  --headless                                                                                                                                                                            run the program without a user interface\n  --log-level {error,warn,info,debug}                                                                                                                                                   adjust the message severity displayed in the terminal\n\nexecution:\n  --execution-device-id EXECUTION_DEVICE_ID                                                                                                                                             specify the device used for processing\n  --execution-providers EXECUTION_PROVIDERS [EXECUTION_PROVIDERS ...]                                                                                                                   accelerate the model inference using different providers (choices: cpu, ...)\n  --execution-thread-count [1-128]                                                                                                                                                      specify the amount of parallel threads while processing\n  --execution-queue-count [1-32]                                                                                                                                                        specify the amount of frames each thread is processing\n\nmemory:\n  --video-memory-strategy {strict,moderate,tolerant}                                                                                                                                    balance fast frame processing and low VRAM usage\n  --system-memory-limit [0-128]                                                                                                                                                         limit the available RAM that can be used while processing\n\nface analyser:\n  --face-analyser-order {left-right,right-left,top-bottom,bottom-top,small-large,large-small,best-worst,worst-best}                                                                     specify the order in which the face analyser detects faces\n  --face-analyser-age {child,teen,adult,senior}                                                                                                                                         filter the detected faces based on their age\n  --face-analyser-gender {female,male}                                                                                                                                                  filter the detected faces based on their gender\n  --face-detector-model {many,retinaface,scrfd,yoloface,yunet}                                                                                                                          choose the model responsible for detecting the face\n  --face-detector-size FACE_DETECTOR_SIZE                                                                                                                                               specify the size of the frame provided to the face detector\n  --face-detector-score [0.0-0.95]                                                                                                                                                      filter the detected faces base on the confidence score\n  --face-landmarker-score [0.0-0.95]                                                                                                                                                    filter the detected landmarks base on the confidence score\n\nface selector:\n  --face-selector-mode {many,one,reference}                                                                                                                                             use reference based tracking or simple matching\n  --reference-face-position REFERENCE_FACE_POSITION                                                                                                                                     specify the position used to create the reference face\n  --reference-face-distance [0.0-1.45]                                                                                                                                                  specify the desired similarity between the reference face and target face\n  --reference-frame-number REFERENCE_FRAME_NUMBER                                                                                                                                       specify the frame used to create the reference face\n\nface mask:\n  --face-mask-types FACE_MASK_TYPES [FACE_MASK_TYPES ...]                                                                                                                               mix and match different face mask types (choices: box, occlusion, region)\n  --face-mask-blur [0.0-0.95]                                                                                                                                                           specify the degree of blur applied the box mask\n  --face-mask-padding FACE_MASK_PADDING [FACE_MASK_PADDING ...]                                                                                                                         apply top, right, bottom and left padding to the box mask\n  --face-mask-regions FACE_MASK_REGIONS [FACE_MASK_REGIONS ...]                                                                                                                         choose the facial features used for the region mask (choices: skin, left-eyebrow, right-eyebrow, left-eye, right-eye, glasses, nose, mouth, upper-lip, lower-lip)\n\nframe extraction:\n  --trim-frame-start TRIM_FRAME_START                                                                                                                                                   specify the the start frame of the target video\n  --trim-frame-end TRIM_FRAME_END                                                                                                                                                       specify the the end frame of the target video\n  --temp-frame-format {bmp,jpg,png}                                                                                                                                                     specify the temporary resources format\n  --keep-temp                                                                                                                                                                           keep the temporary resources after processing\n\noutput creation:\n  --output-image-quality [0-100]                                                                                                                                                        specify the image quality which translates to the compression factor\n  --output-image-resolution OUTPUT_IMAGE_RESOLUTION                                                                                                                                     specify the image output resolution based on the target image\n  --output-video-encoder {libx264,libx265,libvpx-vp9,h264_nvenc,hevc_nvenc,h264_amf,hevc_amf}                                                                                           specify the encoder use for the video compression\n  --output-video-preset {ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow}                                                                                          balance fast video processing and video file size\n  --output-video-quality [0-100]                                                                                                                                                        specify the video quality which translates to the compression factor\n  --output-video-resolution OUTPUT_VIDEO_RESOLUTION                                                                                                                                     specify the video output resolution based on the target video\n  --output-video-fps OUTPUT_VIDEO_FPS                                                                                                                                                   specify the video output fps based on the target video\n  --skip-audio                                                                                                                                                                          omit the audio from the target video\n\nframe processors:\n  --frame-processors FRAME_PROCESSORS [FRAME_PROCESSORS ...]                                                                                                                            load a single or multiple frame processors. (choices: face_debugger, face_enhancer, face_swapper, frame_colorizer, frame_enhancer, lip_syncer, ...)\n  --face-debugger-items FACE_DEBUGGER_ITEMS [FACE_DEBUGGER_ITEMS ...]                                                                                                                   load a single or multiple frame processors (choices: bounding-box, face-landmark-5, face-landmark-5/68, face-landmark-68, face-landmark-68/5, face-mask, face-detector-score, face-landmarker-score, age, gender)\n  --face-enhancer-model {codeformer,gfpgan_1.2,gfpgan_1.3,gfpgan_1.4,gpen_bfr_256,gpen_bfr_512,gpen_bfr_1024,gpen_bfr_2048,restoreformer_plus_plus}                                     choose the model responsible for enhancing the face\n  --face-enhancer-blend [0-100]                                                                                                                                                         blend the enhanced into the previous face\n  --face-swapper-model {blendswap_256,inswapper_128,inswapper_128_fp16,simswap_256,simswap_512_unofficial,uniface_256}                                                                  choose the model responsible for swapping the face\n  --frame-colorizer-model {ddcolor,ddcolor_artistic,deoldify,deoldify_artistic,deoldify_stable}                                                                                         choose the model responsible for colorizing the frame\n  --frame-colorizer-blend [0-100]                                                                                                                                                       blend the colorized into the previous frame\n  --frame-colorizer-size {192x192,256x256,384x384,512x512}                                                                                                                              specify the size of the frame provided to the frame colorizer\n  --frame-enhancer-model {clear_reality_x4,lsdir_x4,nomos8k_sc_x4,real_esrgan_x2,real_esrgan_x2_fp16,real_esrgan_x4,real_esrgan_x4_fp16,real_hatgan_x4,span_kendata_x4,ultra_sharp_x4}  choose the model responsible for enhancing the frame\n  --frame-enhancer-blend [0-100]                                                                                                                                                        blend the enhanced into the previous frame\n  --lip-syncer-model {wav2lip_gan}                                                                                                                                                      choose the model responsible for syncing the lips\n\nuis:\n  --open-browser                                                                                                                                                                        open the browser once the program is ready\n  --ui-layouts UI_LAYOUTS [UI_LAYOUTS ...]                                                                                                                                              launch a single or multiple UI layouts (choices: benchmark, default, webcam, ...)\n```\n\n\nDocumentation\n-------------\n\nRead the [documentation](https://docs.facefusion.io) for a deep dive.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplayer29879%2Ffacefusion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplayer29879%2Ffacefusion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplayer29879%2Ffacefusion/lists"}