diff --git a/README.md b/README.md
index 78c259d..4f2c975 100644
--- a/README.md
+++ b/README.md
@@ -11,16 +11,16 @@ https://arxiv.org/abs/2005.05535
### the leading software for creating deepfakes
-
+
|
-
-
-
+
+
+
@@ -28,13 +28,13 @@ More than 95% of deepfake videos are created with DeepFaceLab.
DeepFaceLab is used by such popular youtube channels as
-| [Ctrl Shift Face](https://www.youtube.com/channel/UCKpH0CKltc73e4wh0_pgL3g)| [VFXChris Ume](https://www.youtube.com/channel/UCGf4OlX_aTt8DlrgiH3jN3g/videos)|
+| [Ctrl Shift Face](https://www.youtube.com/channel/UCKpH0CKltc73e4wh0_pgL3g)| [VFXChris Ume](https://www.youtube.com/channel/UCGf4OlX_aTt8DlrgiH3jN3g/videos)|
|---|---|
-| [Sham00k](https://www.youtube.com/channel/UCZXbWcv7fSZFTAZV4beckyw/videos)| [Collider videos](https://www.youtube.com/watch?v=A91P2qtPT54&list=PLayt6616lBclvOprvrC8qKGCO-mAhPRux)| [iFake](https://www.youtube.com/channel/UCC0lK2Zo2BMXX-k1Ks0r7dg/videos)|
+| [Sham00k](https://www.youtube.com/channel/UCZXbWcv7fSZFTAZV4beckyw/videos)| [Collider videos](https://www.youtube.com/watch?v=A91P2qtPT54&list=PLayt6616lBclvOprvrC8qKGCO-mAhPRux)| [iFake](https://www.youtube.com/channel/UCC0lK2Zo2BMXX-k1Ks0r7dg/videos)|
|---|---|---|
-| [NextFace](https://www.youtube.com/channel/UCFh3gL0a8BS21g-DHvXZEeQ/videos)| [Futuring Machine](https://www.youtube.com/channel/UCC5BbFxqLQgfnWPhprmQLVg)|
+| [NextFace](https://www.youtube.com/channel/UCFh3gL0a8BS21g-DHvXZEeQ/videos)| [Futuring Machine](https://www.youtube.com/channel/UCC5BbFxqLQgfnWPhprmQLVg)|
|---|---|
|
@@ -47,7 +47,7 @@ DeepFaceLab is used by such popular youtube channels as
## Replace the face
-
+
|
@@ -58,18 +58,18 @@ DeepFaceLab is used by such popular youtube channels as
|
-
+
|
-
+
|
|
- https://www.youtube.com/watch?v=Ddx5B-84ebo
+ https://www.youtube.com/watch?v=Ddx5B-84ebo
|
@@ -82,52 +82,52 @@ DeepFaceLab is used by such popular youtube channels as
-
+
|
-
+
|
|
- https://www.youtube.com/watch?v=xr5FHd0AdlQ
+ https://www.youtube.com/watch?v=xr5FHd0AdlQ
|
-
+
|
-
+
|
|
- https://www.youtube.com/watch?v=RTjgkhMugVw
+ https://www.youtube.com/watch?v=RTjgkhMugVw
|
-
+
|
-
+
|
|
- https://www.youtube.com/watch?v=R9f7WD0gKPo
+ https://www.youtube.com/watch?v=R9f7WD0gKPo
|
@@ -140,9 +140,9 @@ DeepFaceLab is used by such popular youtube channels as
## Change the lip movement of politicians*
-
+
- https://www.youtube.com/watch?v=2Z1oA3GYPaY
+ https://www.youtube.com/watch?v=2Z1oA3GYPaY
\* also requires a skill in video editors such as *Adobe After Effects* or *Davinci Resolve*
@@ -153,12 +153,12 @@ DeepFaceLab is used by such popular youtube channels as
-
+
|
-
+
Unfortunately, there is no "make everything ok" button in DeepFaceLab. You should spend time studying the workflow and growing your skills. A skill in programs such as *AfterEffects* or *Davince Resolve* is also desirable.
@@ -169,7 +169,7 @@ Unfortunately, there is no "make everything ok" button in DeepFaceLab. You shoul
-
+
@@ -228,7 +228,7 @@ Unfortunately, there is no "make everything ok" button in DeepFaceLab. You shoul
||[Donate via Paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=lepersorium@gmail.com&lc=US&no_note=0&item_name=Support+DeepFaceLab&cn=&curency_code=USD&bn=PP-DonationsBF:btn_donateCC_LG.gif:NonHosted)
||[Donate via Yandex.Money](https://money.yandex.ru/to/41001142318065)|
||bitcoin:bc1qkhh7h0gwwhxgg6h6gpllfgstkd645fefrd5s6z|
-|Alipay 捐款||
+|Alipay 捐款||
|||
|Last donations|-|
|||
@@ -247,19 +247,19 @@ Unfortunately, there is no "make everything ok" button in DeepFaceLab. You shoul
|
-
+
|
-
+
|
-
+
|
diff --git a/doc/Alipay_donation.jpg b/doc/Alipay_donation.jpg
deleted file mode 100644
index 48781e1..0000000
Binary files a/doc/Alipay_donation.jpg and /dev/null differ
diff --git a/doc/DFL_welcome.png b/doc/DFL_welcome.png
deleted file mode 100644
index 2e4e138..0000000
Binary files a/doc/DFL_welcome.png and /dev/null differ
diff --git a/doc/deage_0_1.jpg b/doc/deage_0_1.jpg
deleted file mode 100644
index 51e057e..0000000
Binary files a/doc/deage_0_1.jpg and /dev/null differ
diff --git a/doc/deage_0_2.jpg b/doc/deage_0_2.jpg
deleted file mode 100644
index 996cacd..0000000
Binary files a/doc/deage_0_2.jpg and /dev/null differ
diff --git a/doc/deepfake_progress.png b/doc/deepfake_progress.png
deleted file mode 100644
index e7a14a2..0000000
Binary files a/doc/deepfake_progress.png and /dev/null differ
diff --git a/doc/deepfake_progress_source.psd b/doc/deepfake_progress_source.psd
deleted file mode 100644
index d90b241..0000000
Binary files a/doc/deepfake_progress_source.psd and /dev/null differ
diff --git a/doc/head_replace_0_1.jpg b/doc/head_replace_0_1.jpg
deleted file mode 100644
index 9125d91..0000000
Binary files a/doc/head_replace_0_1.jpg and /dev/null differ
diff --git a/doc/head_replace_0_2.jpg b/doc/head_replace_0_2.jpg
deleted file mode 100644
index 14c23ec..0000000
Binary files a/doc/head_replace_0_2.jpg and /dev/null differ
diff --git a/doc/head_replace_1_1.jpg b/doc/head_replace_1_1.jpg
deleted file mode 100644
index 464bf50..0000000
Binary files a/doc/head_replace_1_1.jpg and /dev/null differ
diff --git a/doc/head_replace_1_2.jpg b/doc/head_replace_1_2.jpg
deleted file mode 100644
index 14c845a..0000000
Binary files a/doc/head_replace_1_2.jpg and /dev/null differ
diff --git a/doc/head_replace_2_1.jpg b/doc/head_replace_2_1.jpg
deleted file mode 100644
index a447893..0000000
Binary files a/doc/head_replace_2_1.jpg and /dev/null differ
diff --git a/doc/head_replace_2_2.jpg b/doc/head_replace_2_2.jpg
deleted file mode 100644
index dc4eaf3..0000000
Binary files a/doc/head_replace_2_2.jpg and /dev/null differ
diff --git a/doc/landmarks.jpg b/doc/landmarks.jpg
deleted file mode 100644
index 1b9c275..0000000
Binary files a/doc/landmarks.jpg and /dev/null differ
diff --git a/doc/landmarks_98.jpg b/doc/landmarks_98.jpg
deleted file mode 100644
index f2b32ab..0000000
Binary files a/doc/landmarks_98.jpg and /dev/null differ
diff --git a/doc/logo_cuda.png b/doc/logo_cuda.png
deleted file mode 100644
index 0b928a6..0000000
Binary files a/doc/logo_cuda.png and /dev/null differ
diff --git a/doc/logo_python.png b/doc/logo_python.png
deleted file mode 100644
index f2f1d90..0000000
Binary files a/doc/logo_python.png and /dev/null differ
diff --git a/doc/logo_tensorflow.png b/doc/logo_tensorflow.png
deleted file mode 100644
index 1287842..0000000
Binary files a/doc/logo_tensorflow.png and /dev/null differ
diff --git a/doc/make_everything_ok.png b/doc/make_everything_ok.png
deleted file mode 100644
index 9a90c0d..0000000
Binary files a/doc/make_everything_ok.png and /dev/null differ
diff --git a/doc/meme1.jpg b/doc/meme1.jpg
deleted file mode 100644
index 819d36d..0000000
Binary files a/doc/meme1.jpg and /dev/null differ
diff --git a/doc/meme2.jpg b/doc/meme2.jpg
deleted file mode 100644
index 9899c85..0000000
Binary files a/doc/meme2.jpg and /dev/null differ
diff --git a/doc/meme3.jpg b/doc/meme3.jpg
deleted file mode 100644
index 3ee794a..0000000
Binary files a/doc/meme3.jpg and /dev/null differ
diff --git a/doc/mini_tutorial.jpg b/doc/mini_tutorial.jpg
deleted file mode 100644
index 193129f..0000000
Binary files a/doc/mini_tutorial.jpg and /dev/null differ
diff --git a/doc/political_speech.jpg b/doc/political_speech.jpg
deleted file mode 100644
index 9775e75..0000000
Binary files a/doc/political_speech.jpg and /dev/null differ
diff --git a/doc/replace_the_face.png b/doc/replace_the_face.png
deleted file mode 100644
index 7d612dc..0000000
Binary files a/doc/replace_the_face.png and /dev/null differ
diff --git a/doc/youtube_icon.png b/doc/youtube_icon.png
deleted file mode 100644
index dff95d4..0000000
Binary files a/doc/youtube_icon.png and /dev/null differ
diff --git a/scripts/1_clear_workspace.sh b/scripts/1_clear_workspace.sh
new file mode 100644
index 0000000..237d059
--- /dev/null
+++ b/scripts/1_clear_workspace.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+source env.sh
+
+rm -r "$DFL_WORKSPACE"
+mkdir "$DFL_WORKSPACE"
+mkdir "$DFL_WORKSPACE/data_src"
+mkdir "$DFL_WORKSPACE/data_src/aligned"
+mkdir "$DFL_WORKSPACE/data_src/aligned_debug"
+mkdir "$DFL_WORKSPACE/data_dst"
+mkdir "$DFL_WORKSPACE/data_dst/aligned"
+mkdir "$DFL_WORKSPACE/data_dst/aligned_debug"
+mkdir "$DFL_WORKSPACE/model"
\ No newline at end of file
diff --git a/scripts/2_extract_image_from_data_src.sh b/scripts/2_extract_image_from_data_src.sh
new file mode 100644
index 0000000..8ef5277
--- /dev/null
+++ b/scripts/2_extract_image_from_data_src.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" videoed extract-video \
+ --input-file "$DFL_WORKSPACE/data_src.*" \
+ --output-dir "$DFL_WORKSPACE/data_src"
diff --git a/scripts/3.1_denoise_data_dst_images.sh b/scripts/3.1_denoise_data_dst_images.sh
new file mode 100644
index 0000000..c970051
--- /dev/null
+++ b/scripts/3.1_denoise_data_dst_images.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" videoed denoise-image-sequence \
+ --output-dir "$DFL_WORKSPACE/data_dst"
+
diff --git a/scripts/3_extract_image_from_data_dst.sh b/scripts/3_extract_image_from_data_dst.sh
new file mode 100644
index 0000000..da97427
--- /dev/null
+++ b/scripts/3_extract_image_from_data_dst.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" videoed extract-video \
+ --input-file "$DFL_WORKSPACE/data_dst.*" \
+ --output-dir "$DFL_WORKSPACE/data_dst" \
+ --fps 0
+
diff --git a/scripts/4.2_data_src_sort.sh b/scripts/4.2_data_src_sort.sh
new file mode 100755
index 0000000..9deed6c
--- /dev/null
+++ b/scripts/4.2_data_src_sort.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" sort \
+ --input-dir "$DFL_WORKSPACE/data_src/aligned"
+
diff --git a/scripts/4.2_data_src_util_add_landmarks_debug_images.sh b/scripts/4.2_data_src_util_add_landmarks_debug_images.sh
new file mode 100755
index 0000000..a8f4fdc
--- /dev/null
+++ b/scripts/4.2_data_src_util_add_landmarks_debug_images.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" util \
+ --input-dir "$DFL_WORKSPACE/data_src/aligned" \
+ --add-landmarks-debug-images
+
diff --git a/scripts/4.2_data_src_util_faceset_enhance.sh b/scripts/4.2_data_src_util_faceset_enhance.sh
new file mode 100755
index 0000000..5d5e3dd
--- /dev/null
+++ b/scripts/4.2_data_src_util_faceset_enhance.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" facesettool enhance \
+ --input-dir "$DFL_WORKSPACE/data_src/aligned"
+
diff --git a/scripts/4.2_data_src_util_faceset_metadata_restore.sh b/scripts/4.2_data_src_util_faceset_metadata_restore.sh
new file mode 100755
index 0000000..f22c2a7
--- /dev/null
+++ b/scripts/4.2_data_src_util_faceset_metadata_restore.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" util \
+ --input-dir "$DFL_WORKSPACE/data_src/aligned" \
+ --restore-faceset-metadata
+
diff --git a/scripts/4.2_data_src_util_faceset_metadata_save.sh b/scripts/4.2_data_src_util_faceset_metadata_save.sh
new file mode 100755
index 0000000..bd284f9
--- /dev/null
+++ b/scripts/4.2_data_src_util_faceset_metadata_save.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" util \
+ --input-dir "$DFL_WORKSPACE/data_src/aligned" \
+ --save-faceset-metadata
+
diff --git a/scripts/4.2_data_src_util_faceset_pack.sh b/scripts/4.2_data_src_util_faceset_pack.sh
new file mode 100755
index 0000000..f7234f5
--- /dev/null
+++ b/scripts/4.2_data_src_util_faceset_pack.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" util \
+ --input-dir "$DFL_WORKSPACE/data_src/aligned" \
+ --pack-faceset
+
diff --git a/scripts/4.2_data_src_util_faceset_unpack.sh b/scripts/4.2_data_src_util_faceset_unpack.sh
new file mode 100755
index 0000000..5df2a1a
--- /dev/null
+++ b/scripts/4.2_data_src_util_faceset_unpack.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" util \
+ --input-dir "$DFL_WORKSPACE/data_src/aligned" \
+ --unpack-faceset
+
diff --git a/scripts/4.2_data_src_util_recover_original_filename.sh b/scripts/4.2_data_src_util_recover_original_filename.sh
new file mode 100755
index 0000000..ed3c5a4
--- /dev/null
+++ b/scripts/4.2_data_src_util_recover_original_filename.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" util \
+ --input-dir "$DFL_WORKSPACE/data_src/aligned" \
+ --recover-original-aligned-filename
+
diff --git a/scripts/4_data_src_extract_faces_MANUAL.sh b/scripts/4_data_src_extract_faces_MANUAL.sh
new file mode 100755
index 0000000..c7ce369
--- /dev/null
+++ b/scripts/4_data_src_extract_faces_MANUAL.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" extract \
+ --input-dir "$DFL_WORKSPACE/data_src" \
+ --output-dir "$DFL_WORKSPACE/data_src/aligned" \
+ --detector manual
+
diff --git a/scripts/4_data_src_extract_faces_S3FD.sh b/scripts/4_data_src_extract_faces_S3FD.sh
new file mode 100755
index 0000000..e54eb10
--- /dev/null
+++ b/scripts/4_data_src_extract_faces_S3FD.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" extract \
+ --input-dir "$DFL_WORKSPACE/data_src" \
+ --output-dir "$DFL_WORKSPACE/data_src/aligned" \
+ --detector s3fd
+
diff --git a/scripts/5.2_data_dst_sort.sh b/scripts/5.2_data_dst_sort.sh
new file mode 100755
index 0000000..0db0bff
--- /dev/null
+++ b/scripts/5.2_data_dst_sort.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" sort \
+ --input-dir "$DFL_WORKSPACE/data_dst/aligned"
+
diff --git a/scripts/5.2_data_dst_util_faceset_pack.sh b/scripts/5.2_data_dst_util_faceset_pack.sh
new file mode 100755
index 0000000..2a5148f
--- /dev/null
+++ b/scripts/5.2_data_dst_util_faceset_pack.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" util \
+ --input-dir "$DFL_WORKSPACE/data_dst/aligned" \
+ --pack-faceset
+
diff --git a/scripts/5.2_data_dst_util_faceset_unpack.sh b/scripts/5.2_data_dst_util_faceset_unpack.sh
new file mode 100755
index 0000000..d7b672c
--- /dev/null
+++ b/scripts/5.2_data_dst_util_faceset_unpack.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" util \
+ --input-dir "$DFL_WORKSPACE/data_dst/aligned" \
+ --unpack-faceset
+
diff --git a/scripts/5.2_data_dst_util_recover_original_filename.sh b/scripts/5.2_data_dst_util_recover_original_filename.sh
new file mode 100755
index 0000000..fc70651
--- /dev/null
+++ b/scripts/5.2_data_dst_util_recover_original_filename.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" util \
+ --input-dir "$DFL_WORKSPACE/data_dst/aligned" \
+ --recover-original-aligned-filename
+
diff --git a/scripts/5_XSeg_data_dst_mask_apply.sh b/scripts/5_XSeg_data_dst_mask_apply.sh
new file mode 100644
index 0000000..955ab10
--- /dev/null
+++ b/scripts/5_XSeg_data_dst_mask_apply.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" xseg fetch \
+ --input-dir "$DFL_WORKSPACE/data_dst/aligned" \
+ --model-dir "$DFL_WORKSPACE/model"
\ No newline at end of file
diff --git a/scripts/5_XSeg_data_dst_mask_edit.sh b/scripts/5_XSeg_data_dst_mask_edit.sh
new file mode 100644
index 0000000..3206bd7
--- /dev/null
+++ b/scripts/5_XSeg_data_dst_mask_edit.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" xseg editor \
+ --input-dir "$DFL_WORKSPACE/data_dst/aligned"
\ No newline at end of file
diff --git a/scripts/5_XSeg_data_dst_mask_fetch.sh b/scripts/5_XSeg_data_dst_mask_fetch.sh
new file mode 100644
index 0000000..1b90634
--- /dev/null
+++ b/scripts/5_XSeg_data_dst_mask_fetch.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" xseg fetch \
+ --input-dir "$DFL_WORKSPACE/data_dst/aligned"
\ No newline at end of file
diff --git a/scripts/5_XSeg_data_dst_mask_remove.sh b/scripts/5_XSeg_data_dst_mask_remove.sh
new file mode 100644
index 0000000..69bd681
--- /dev/null
+++ b/scripts/5_XSeg_data_dst_mask_remove.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" xseg remove_labels \
+ --input-dir "$DFL_WORKSPACE/data_dst/aligned"
\ No newline at end of file
diff --git a/scripts/5_XSeg_data_dst_trained_mask_remove.sh b/scripts/5_XSeg_data_dst_trained_mask_remove.sh
new file mode 100644
index 0000000..dcda553
--- /dev/null
+++ b/scripts/5_XSeg_data_dst_trained_mask_remove.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" xseg remove \
+ --input-dir "$DFL_WORKSPACE/data_dst/aligned"
\ No newline at end of file
diff --git a/scripts/5_XSeg_data_src_mask_apply.sh b/scripts/5_XSeg_data_src_mask_apply.sh
new file mode 100644
index 0000000..e007f54
--- /dev/null
+++ b/scripts/5_XSeg_data_src_mask_apply.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" xseg fetch \
+ --input-dir "$DFL_WORKSPACE/data_src/aligned" \
+ --model-dir "$DFL_WORKSPACE/model"
\ No newline at end of file
diff --git a/scripts/5_XSeg_data_src_mask_fetch.sh b/scripts/5_XSeg_data_src_mask_fetch.sh
new file mode 100644
index 0000000..957f329
--- /dev/null
+++ b/scripts/5_XSeg_data_src_mask_fetch.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" xseg fetch \
+ --input-dir "$DFL_WORKSPACE/data_src/aligned"
\ No newline at end of file
diff --git a/scripts/5_XSeg_data_src_mask_remove.sh b/scripts/5_XSeg_data_src_mask_remove.sh
new file mode 100644
index 0000000..ed0fc1b
--- /dev/null
+++ b/scripts/5_XSeg_data_src_mask_remove.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" xseg remove_labels \
+ --input-dir "$DFL_WORKSPACE/data_src/aligned"
\ No newline at end of file
diff --git a/scripts/5_XSeg_data_src_trained_mask_remove.sh b/scripts/5_XSeg_data_src_trained_mask_remove.sh
new file mode 100644
index 0000000..5e7f63d
--- /dev/null
+++ b/scripts/5_XSeg_data_src_trained_mask_remove.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" xseg remove \
+ --input-dir "$DFL_WORKSPACE/data_src/aligned"
\ No newline at end of file
diff --git a/scripts/5_XSeg_train.sh b/scripts/5_XSeg_train.sh
new file mode 100644
index 0000000..dea04f4
--- /dev/null
+++ b/scripts/5_XSeg_train.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" train \
+ --training-data-src-dir "$DFL_WORKSPACE/data_src/aligned" \
+ --training-data-dst-dir "$DFL_WORKSPACE/data_dst/aligned" \
+ --model-dir "$DFL_WORKSPACE/model" \
+ --model XSeg
\ No newline at end of file
diff --git a/scripts/5_data_dst_extract_faces_MANUAL.sh b/scripts/5_data_dst_extract_faces_MANUAL.sh
new file mode 100755
index 0000000..79918fe
--- /dev/null
+++ b/scripts/5_data_dst_extract_faces_MANUAL.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" extract \
+ --input-dir "$DFL_WORKSPACE/data_dst" \
+ --output-dir "$DFL_WORKSPACE/data_dst/aligned" \
+ --detector manual \
+ --max-faces-from-image 0 \
+ --output-debug
+
diff --git a/scripts/5_data_dst_extract_faces_MANUAL_RE-EXTRACT_DELETED_ALIGNED_DEBUG.sh b/scripts/5_data_dst_extract_faces_MANUAL_RE-EXTRACT_DELETED_ALIGNED_DEBUG.sh
new file mode 100755
index 0000000..a962924
--- /dev/null
+++ b/scripts/5_data_dst_extract_faces_MANUAL_RE-EXTRACT_DELETED_ALIGNED_DEBUG.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" extract \
+ --input-dir "$DFL_WORKSPACE/data_dst" \
+ --output-dir "$DFL_WORKSPACE/data_dst/aligned" \
+ --detector manual \
+ --max-faces-from-image 0 \
+ --output-debug \
+ --manual-output-debug-fix \
+
+
diff --git a/scripts/5_data_dst_extract_faces_S3FD.sh b/scripts/5_data_dst_extract_faces_S3FD.sh
new file mode 100755
index 0000000..ef72309
--- /dev/null
+++ b/scripts/5_data_dst_extract_faces_S3FD.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" extract \
+ --input-dir "$DFL_WORKSPACE/data_dst" \
+ --output-dir "$DFL_WORKSPACE/data_dst/aligned" \
+ --detector s3fd \
+ --max-faces-from-image 0 \
+ --output-debug
+
diff --git a/scripts/5_data_dst_extract_faces_S3FD_+_manual_fix.sh b/scripts/5_data_dst_extract_faces_S3FD_+_manual_fix.sh
new file mode 100755
index 0000000..8860b16
--- /dev/null
+++ b/scripts/5_data_dst_extract_faces_S3FD_+_manual_fix.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" extract \
+ --input-dir "$DFL_WORKSPACE/data_dst" \
+ --output-dir "$DFL_WORKSPACE/data_dst/aligned" \
+ --output-debug \
+ --detector s3fd \
+ --max-faces-from-image 0 \
+ --manual-fix
+
diff --git a/scripts/6_train_Quick96.sh b/scripts/6_train_Quick96.sh
new file mode 100755
index 0000000..c958f1b
--- /dev/null
+++ b/scripts/6_train_Quick96.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" train \
+ --training-data-src-dir "$DFL_WORKSPACE/data_src/aligned" \
+ --training-data-dst-dir "$DFL_WORKSPACE/data_dst/aligned" \
+ --pretraining-data-dir "$DFL_ROOT/pretrain_CelebA" \
+ --pretrained-model-dir "$DFL_ROOT/pretrain_Quick96" \
+ --model-dir "$DFL_WORKSPACE/model" \
+ --model Quick96
+
diff --git a/scripts/6_train_Quick96_no_preview.sh b/scripts/6_train_Quick96_no_preview.sh
new file mode 100755
index 0000000..0644c71
--- /dev/null
+++ b/scripts/6_train_Quick96_no_preview.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" train \
+ --training-data-src-dir "$DFL_WORKSPACE/data_src/aligned" \
+ --training-data-dst-dir "$DFL_WORKSPACE/data_dst/aligned" \
+ --pretraining-data-dir "$DFL_SRC/pretrain_CelebA" \
+ --pretrained-model-dir "$DFL_SRC/pretrain_Quick96" \
+ --model-dir "$DFL_WORKSPACE/model" \
+ --model Quick96 \
+ --no-preview
+
diff --git a/scripts/6_train_SAEHD.sh b/scripts/6_train_SAEHD.sh
new file mode 100755
index 0000000..10ea707
--- /dev/null
+++ b/scripts/6_train_SAEHD.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" train \
+ --training-data-src-dir "$DFL_WORKSPACE/data_src/aligned" \
+ --training-data-dst-dir "$DFL_WORKSPACE/data_dst/aligned" \
+ --pretraining-data-dir "$DFL_ROOT/pretrain_CelebA" \
+ --model-dir "$DFL_WORKSPACE/model" \
+ --model SAEHD
+
diff --git a/scripts/6_train_SAEHD_no_preview.sh b/scripts/6_train_SAEHD_no_preview.sh
new file mode 100755
index 0000000..d174616
--- /dev/null
+++ b/scripts/6_train_SAEHD_no_preview.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" train \
+ --training-data-src-dir "$DFL_WORKSPACE/data_src/aligned" \
+ --training-data-dst-dir "$DFL_WORKSPACE/data_dst/aligned" \
+ --pretraining-data-dir "$DFL_SRC/pretrain_CelebA" \
+ --model-dir "$DFL_WORKSPACE/model" \
+ --model SAEHD \
+ --no-preview
+
diff --git a/scripts/7_merge_Quick96.sh b/scripts/7_merge_Quick96.sh
new file mode 100755
index 0000000..1787e27
--- /dev/null
+++ b/scripts/7_merge_Quick96.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" merge \
+ --input-dir "$DFL_WORKSPACE/data_dst" \
+ --output-dir "$DFL_WORKSPACE/data_dst/merged" \
+ --output-mask-dir "$DFL_WORKSPACE/data_dst/merged_mask" \
+ --aligned-dir "$DFL_WORKSPACE/data_dst/aligned" \
+ --model-dir "$DFL_WORKSPACE/model" \
+ --model Quick96
+
diff --git a/scripts/7_merge_SAEHD.sh b/scripts/7_merge_SAEHD.sh
new file mode 100755
index 0000000..4eb9d95
--- /dev/null
+++ b/scripts/7_merge_SAEHD.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" merge \
+ --input-dir "$DFL_WORKSPACE/data_dst" \
+ --output-dir "$DFL_WORKSPACE/data_dst/merged" \
+ --output-mask-dir "$DFL_WORKSPACE/data_dst/merged_mask" \
+ --aligned-dir "$DFL_WORKSPACE/data_dst/aligned" \
+ --model-dir "$DFL_WORKSPACE/model" \
+ --model SAEHD
+
diff --git a/scripts/8_merged_to_avi.sh b/scripts/8_merged_to_avi.sh
new file mode 100755
index 0000000..9226243
--- /dev/null
+++ b/scripts/8_merged_to_avi.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+source env.sh
+
+
+$DFL_PYTHON "$DFL_SRC/main.py" videoed video-from-sequence \
+ --input-dir "$DFL_WORKSPACE/data_dst/merged" \
+ --output-file "$DFL_WORKSPACE/result.avi" \
+ --reference-file "$DFL_WORKSPACE/data_dst.*" \
+ --include-audio
+
+$DFL_PYTHON "$DFL_SRC/main.py" videoed video-from-sequence \
+ --input-dir "$DFL_WORKSPACE/data_dst/merged_mask" \
+ --output-file "$DFL_WORKSPACE/result_mask.avi" \
+ --reference-file "$DFL_WORKSPACE/data_dst.*" \
+ --lossless
+
diff --git a/scripts/8_merged_to_mov_lossless.sh b/scripts/8_merged_to_mov_lossless.sh
new file mode 100755
index 0000000..2ed8721
--- /dev/null
+++ b/scripts/8_merged_to_mov_lossless.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+source env.sh
+
+
+$DFL_PYTHON "$DFL_SRC/main.py" videoed video-from-sequence \
+ --input-dir "$DFL_WORKSPACE/data_dst/merged" \
+ --output-file "$DFL_WORKSPACE/result.mov" \
+ --reference-file "$DFL_WORKSPACE/data_dst.*" \
+ --include-audio \
+ --lossless
+
+$DFL_PYTHON "$DFL_SRC/main.py" videoed video-from-sequence \
+ --input-dir "$DFL_WORKSPACE/data_dst/merged_mask" \
+ --output-file "$DFL_WORKSPACE/result_mask.mov" \
+ --reference-file "$DFL_WORKSPACE/data_dst.*" \
+ --lossless
+
diff --git a/scripts/8_merged_to_mp4.sh b/scripts/8_merged_to_mp4.sh
new file mode 100755
index 0000000..f20b927
--- /dev/null
+++ b/scripts/8_merged_to_mp4.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+source env.sh
+
+$DFL_PYTHON "$DFL_SRC/main.py" videoed video-from-sequence \
+ --input-dir "$DFL_WORKSPACE/data_dst/merged" \
+ --output-file "$DFL_WORKSPACE/result.mp4" \
+ --reference-file "$DFL_WORKSPACE/data_dst.*" \
+ --include-audio
+
+$DFL_PYTHON "$DFL_SRC/main.py" videoed video-from-sequence \
+ --input-dir "$DFL_WORKSPACE/data_dst/merged_mask" \
+ --output-file "$DFL_WORKSPACE/result_mask.mp4" \
+ --reference-file "$DFL_WORKSPACE/data_dst.*" \
+ --lossless
+
diff --git a/scripts/8_merged_to_mp4_lossless.sh b/scripts/8_merged_to_mp4_lossless.sh
new file mode 100755
index 0000000..a19928b
--- /dev/null
+++ b/scripts/8_merged_to_mp4_lossless.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+source env.sh
+
+
+$DFL_PYTHON "$DFL_SRC/main.py" videoed video-from-sequence \
+ --input-dir "$DFL_WORKSPACE/data_dst/merged" \
+ --output-file "$DFL_WORKSPACE/result.mp4" \
+ --reference-file "$DFL_WORKSPACE/data_dst.*" \
+ --include-audio \
+ --lossless
+
+$DFL_PYTHON "$DFL_SRC/main.py" videoed video-from-sequence \
+ --input-dir "$DFL_WORKSPACE/data_dst/merged_mask" \
+ --output-file "$DFL_WORKSPACE/result_mask.mp4" \
+ --reference-file "$DFL_WORKSPACE/data_dst.*" \
+ --lossless
+
diff --git a/scripts/env.sh b/scripts/env.sh
new file mode 100644
index 0000000..e7745e6
--- /dev/null
+++ b/scripts/env.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+export DFL_PYTHON="python3.6"
+export DFL_WORKSPACE="workspace/"
+
+if [ ! -d "$DFL_WORKSPACE" ]; then
+ mkdir "$DFL_WORKSPACE"
+ mkdir "$DFL_WORKSPACE/data_src"
+ mkdir "$DFL_WORKSPACE/data_src/aligned"
+ mkdir "$DFL_WORKSPACE/data_src/aligned_debug"
+ mkdir "$DFL_WORKSPACE/data_dst"
+ mkdir "$DFL_WORKSPACE/data_dst/aligned"
+ mkdir "$DFL_WORKSPACE/data_dst/aligned_debug"
+ mkdir "$DFL_WORKSPACE/model"
+fi
+
+export DFL_ROOT="./"
+export DFL_SRC="./DeepFaceLab"
\ No newline at end of file