This project is an adaptation of EasyPhoto, which breaks down the process of EasyPhoto and will add a series of operations on human portraits in the future.
English | 简体中文
Community
If you have any questions or suggestions, you can reach us through:
Email: tototianhao@gmail.com
telegram: https://t.me/+JoFE2vqHU4phZjg1
QQ Group: 10419777
WeChat Group:
V1.2.0 Update
Add PM_SuperColorTransfer node to simplify the color transfer process
Add PM_SuperMakeUpTransfer node to simplify the process of makeup transfer
Add v1.2.0 workflow
V1.1.0 Update
faceskin adds blur option
Add PM_FaceShapMatch node. same as easyphot faceshap match
Add PM_MakeUpTransfer node. same as easyphoto makeup transfer.
Add a super-resolution model to the PM_PortraitEnhancement node. This super-resolution model can not highlight faces.
Add v1.1.0 workflow
RetinaFace supports face selection
V1.0.0 Update
Added log for model downloads.
Renamed nodes to resolve conflicts with other plugins.
Added “roop” model to the Facefusion PM node.
Updated the workflow.
Speed up the second model loading
Currently Resolving
Contacting modelscope to address Windows dependency issues.
Installation
Note: When you start the plugin for the first time, it will download all the models required by EasyPhoto. You can see the download progress in the terminal. Please do not interrupt the download (no hash verification for startup speed). If the download is interrupted, you need to manually delete the files downloaded halfway last time and download them again.
install step
First, install ComfyUI.
After ComfyUI runs successfully, go to the custom_nodes directory ComfyUI/custom_nodes/
cd custom_nodes
Clone this project into the custom_nodes directory.
git clone https://github.com/THtianhao/ComfyUI-Portrait-Maker.git
Restart ComfyUI.
ComfyUI Workflow
Easyphoto workflow location: ./workflow/easyphoto.json
Click “Load” in the right panel of ComfyUI and select the ./workflow/easyphoto_workflow.json file from the project.
Node Introduction
RetainFace PM: Perform matting using models from Model Scope. Link
image: Input image
multi_user_facecrop_ratio: Multiplicative factor for extracting the head region.
face_index : Choose which face
FaceFusion PM: Merge faces from two images.
image: Input image
user_image: The image with the face to be merged.
model: Choose between Ali’s model or Roop’s model for merging.
ali: Link
roop: Link
RatioMerge2Image PM: Merge two images according to a specified ratio.
image1: First input image
image2: Second input image
fusion_rate: Fusion ratio, ranging from 0 to 1, where higher values favor image1.
MaskMerge2Image PM: Merge images using a mask.
image1: First input image
image2: Second input image
mask: The mask to be applied for replacement.
ReplaceBoxImg PM: Replace the image inside a specified box area.
origin_image: The original image
box_area: The area to be replaced
replace_image: The image to replace (ensure the resolution matches box_area)
ExpandMaskFaceWidth PM: Proportionally expand the width of the mask.
mask: Input mask
box: Corresponding box of the mask
expand_width: The width expansion ratio, based on the box’s width.
BoxCropImage PM: Crop an image using a box.
ColorTransfer PM: Perform color transfer on images.
FaceSkin PM: Extract the mask of the facial region from an image.
MaskDilateErode PM: Dilate and erode masks.
Skin Retouching PM: Apply skin retouching using the following model.
Link
Portrait Enhancement PM: Process images using the following model.
model
gpen: Link
real_gan: Link
ImageResizeTarget PM: Resize images to a target width and height.
ImageScaleShort PM: Reduce the smaller dimension of an image proportionally.
image: Input image
size: Desired length for resizing (maintains the aspect ratio)
crop_face: Ensure the resulting width and height are multiples of 32.
GetImageInfo PM: Extract the width and height of an image.
Face Shape Match PM: Apply a certain level of fusion between the diffused image and the original image to reduce differences around the face.
Makeup Transfer PM: Use a GAN network model to perform makeup transfer.
SuperMakeUpTransfer PM:(Multi-node integration) makeup by merging two pictures
SuperColorTransfer PM:(Multi-node integration) transfer the colors of two pictures
Contribution
If you find any issues or have suggestions for improvement, feel free to contribute. Follow these steps:
Create a new feature branch: git checkout -b feature/your-feature-name
Make changes and commit: git commit -m "Add new feature"
Push to your remote branch: git push origin feature/your-feature-name
Create a Pull Request (PR).
License
This project is licensed under the MIT License. See the LICENSE file for more information.
Feel free to join us and contribute to the development of the EasyPhoto ConfyUI Plugin!