Skip to content

Viso Master Ultimate Mod (Lots of Features - Updated -V8.2- Clustering+Frame Enhancer+Progress Bar Update 07/09/2025) #96

@FlowDownTheRiver

Description

@FlowDownTheRiver

Hi there everybody!
I wanted to have so many cool features,but I have seen whether the development is paused or some other forks are doing some background work. So I wanted to contribute in my own terms which is not pushing a PR, but I wanted to work freely.

So I added some features and I borrowed some from another repo.
Feature list :
V1 :

  1. Batch Processing.
    This can be run manually by pressing the batch process button after you set your parameter.(enable swapping,restore faces etc.)
    Important Note here : When Running batch processing set the face similarity slider down to a value as all images have different faces,so "the first image or video detected with the face dictates" how similar the other faces in the other sources and based upon that it triggers the face detection. If the value is high this can lead to faces not getting swapped for the rest of the batch. Be aware of this.
    My previous code was for images only here: Process All Images with current settings (Mod) #94 but now it have the intelligent mode for file types.So images are processed like images,but video or gif file types are pressing the record button so to say.
  2. Clipboard monitoring.
    First you set your options like selecting an embedding,source faces,enable swap etc.
    When clipboard monitoring is enabled any image or video is copied to the target file list.
  3. Clear Target files after Processing.
    This automatically clears the target file list after batch processing.
    This can be used in combination with clipboard monitoring.
  4. Auto process new target files .
    This gives the ability to trigger automatic batch processing.
    This can be used with clipboard monitoring,clear target files after processing.
    So for example :
    clipboard monitoring : on
    clear target files after processing : on
    auto process new target files : on
    You copy some image,video or mixed file type. This will add files to target list ,it will automatically process files with the settings you have and clear the target file list all automatically.
    Note : It has a hidden feature like queue as well. So when the program is processing files and you copy new items to clipboard,it will process the current operation first and then add new files to target list and process these new files. Pretty nice feature to have.
  5. Output to target location.
    This gives the ability to ignore your static output folder and outputs the batch processing files into the directory of target's folder. So you now have the ability to "work in place" . This also can be used with all of the combinations above like clipboard monitoring etc.

Note : With these options above you can now process images or videos even "WITHOUT LOOKING" at the program interface. Just copy files and they will be automatically processed. Cool option!

  1. Open output directory button.(Located next to search embeddings)
    This is an intelligent button.How? If you enable "output to target location" this will output to the target directory,and this button is intelligent to know that your last output directory is not static but changing. So it opens this dynamic output location. If "output to target location" is off,this will open your static output directory that you set from the program .

6.5) Extra little features I added is clear source and target list,multi select clearing.

Note : Above the features I have done,below the features I borrowed.

Features that I borrowed which is still being in development here : https://github.com/asdf31jsa/VisoMaster-Experimental . So thanks to the official developer .
7) Texture transfer for the faces.
8) Texture transfer masking.
9) Xseg mouth masking as a secondary Xseg.
10) Interpolation types and block shift. (not sure what these are intended to do.)
11) Auto restore ( these are not working ) Edit : It works but very subtle effect,not that impactful in my tests.
12) This repo had the bug for DFM models are not scaled correctly so I personally fixed it. All DFM models are correctly scaling to 512 now without any bugs.

@asdf31jsa Thanks to your work .
@axel-devs I have seen your work, but did not have the chance to test it. So if any of you guys want to go from here,please be my guest. Do not expect any PR from me :)

V2 :
This version has everything V1 has.
New Features :

  1. Sort embeddings.
    You can now sort embeddings in 3 modes. No sorting (default sorting), A-Z (alphabetically from A to Z) , Z-A (alphabetically from Z to A). This also supports loading embeddings list from a file in any kind of order. Simply set a mode and load your file.

Image

  1. This is more of a bug fix where V1 had an issue. Sometimes the program was giving Qthread error and crashing when batch processing with clipboard monitoring + clear target files + auto process target files is on. So to reproduce that, I almost non-stop copied new files to clipboard when the program is still processing files and at some point it was crashing. Now that is fixed ! (hopefully,because I have made very long tests after the code got no more error.)

V3 :
This version has everything V2 has.

  1. File operations for image files are saved as "jpg" instead of "png" as it saves huge space. (It was requested)

V4 :
This version has everything V3 has.

  1. HyperSwap models support is added. Added Hyperswap256 from FaceFusionLabs #103 (thanks to @jcuzens work) but his work was not complete as the models needed to be downloaded manually. But in my implementation everything is downloaded automatically when you select the model.

Image

Note : I have tested what I can and vs V3 there shall not be anything broken.

V5 :
This version has everything V4 has.

  1. I have added 2 new options. Process all target images for each source or each embedding for the batch processing.
    (Note you can use both options enabled). The feature was requested in here : Viso Master Ultimate Mod (Lots of Features - Updated -V8.2- Clustering+Frame Enhancer+Progress Bar Update 07/09/2025) #96 (comment)
    I have done my tests with multiple source,target and embeddings for both image and video files. Hopefully nothing is broken :)
    Second note : The process bar is doing its calculation based on target image count and it doesn't multiple it with total embedding count or source image count. So it was not designed to show this kind of processing at the first place. I will not update it,as it is only cosmetics,not functionality,I really don't have time for that,sorry!)

Image

V6 :
This may not be a proper release as some features were broken starting from the app version 1,such as face make up options. Why it was broken? When you try to implement,add new features including borrowing code from other repos things tend to break apart. So that happened,but since I personally do not use make up options that slipped from my attention. This was the most challenging coding so far as I spend around 5-6 hours and still have some problems. By knowing that...
This was brought to my attention here : #96 (comment)

This version has everything V5 has. (hopefully)...

  1. Face make up features fixed.

NOTE : THIS IS THE FINAL RELEASE. I will not be pushing any more updates or take requests. There can be bugs and there are bugs I know that exists but however this is it.

I appreciate all the great people here and there for taking up the journey together...

Community Contribution Edition : (developped by @goodjobching . Thanks to his work on this)
V6.1:
This version was released in this post : #96 (comment)
His release notes are :

  1. Fix: In v6, batch-saving EMBs for photos could output the same face each time (likely related to my environment or character-encoding settings, not the project’s logic). This has been fixed.

  2. Directory grouping: On save, a subfolder is created under the output root based on the EMB label (auto-created if missing).
    Example: EMB named test1 → saved to output_root/test1/

  3. New feature: Added “Batch Save (Current Frame)” next to single-save: applies all EMBs to the currently displayed frame and saves each (works for both videos and images). (While processing, it’s recommended to wait until the batch completes before performing other actions.)

  4. Filename de-dup: Preserves the original naming while prepending YYYY-MM-DD-hh-mm-ss and appending a 6-character alphanumeric suffix to avoid overwriting across frames of the same source.


Here I want to add some extra notes to be clear. I have tested this mod personally but didn't test every single feature to check anything is broken or not. However I just assume it works as V6 + his work.
Here EMB = embeddings.

The difference of "Batch Save(Frame) button" from "Batch Process button" is, this button saves the current selected single image or single frame with the settings you set in the UI by doing a loop over all the embeddings while Batch Process doing the looping over all target images or videos,not a single one. Also it creates a subfolder with the name of the embeedding and saves the result inside it with a protection of adding date and a suffix for not overwriting the previous results.

It is great to see a version shared by other people especially under this post! Totally loved it.

V7 :
This version has everything V6.1 has.
According to the user complaints here in this post : #96 (comment) I decided to make this.

Based on https://github.com/starrlord/embeddingtool, I have made an Advanced Embedding Editor.
Do not get fooled I said "based on", it has really big code change and advanced features and this is implemented into Visomaster. Credits to @starrlord for making the base.

Features of "Advanced Embedding Editor" : (located next to search embeddings section in the UI)

  1. You can load a single json file or multiple files to combine them together. It is intelligent enough to know if there are common embeddings it keeps 1 unique record.
  2. You can use menu buttons to load or drag & drop to load single or multiple files. If you already have a file open it will present you a pop-up menu to use different modes for loading.
  3. Speaking of which,you have multiple loading and saving options.
    a) Load file or Files
    b) Load additive (This will give you the option to load file but it will add embeddings from the new file to the current one)
    c) Save the whole list
    d) Save Selected
  4. Sorting from "A-Z", "Z-A", original, manual. You can select embeddings drag & drop to different placements for manual sorting.
  5. You can copy embeddings and paste them even across the files.
  6. Lots of shortcuts including redo,undo operations.

Shortcuts :
Image
UI :
Image

This has taken huge time of mine,I said V6 was my last push but hey I couldn't let somebody else to make the last push with V6.1, so this is a huge update :)

V7.2 :
This version has everything V7 has.

  1. Bug fixes for "view face compare", "view face mask" , "frame enhancement" , "face make up" . Video face alignment problem also fixed.
    I tried to test what I can and everything seems to work.

V8 :
This version has everything V7.2 has.

  1. Bug fix for "Frame enhancers". It was outputting 1x even though the model enhancing with its native resolution. This bug is coming from way back in the first version. Now it produces the expected output.
  2. Clustering Feature : This was added in version 6.1 when Batch Single Frame was introduced but it was forced.So Outputs were categorized in subfolders with embeddings name. Now it is optional. Settings -> Batch Processing -> Cluster Output by Source Name. This is also supported with other Batch Processing options enabled via Clipboard monitoring and manual batch processing with clicking batch processing buttons. In short it does the subfolder thing or not. :) It was requested in here : Viso Master Ultimate Mod (Lots of Features - Updated -V8.2- Clustering+Frame Enhancer+Progress Bar Update 07/09/2025) #96 (comment) and I also got annoyed by the fact that it was forced to have.
  3. Progress bar now evaluates and makes the math for the source + embeddings + the target images/videos. So you will have a correct representation for the progress bar.

Image

V8.2 :
This version has everything V8 has.

  1. Missing feature of manual saving video with "record button" now accounts for "clustering" setting. Discovered in here : Viso Master Ultimate Mod (Lots of Features - Updated -V8.2- Clustering+Frame Enhancer+Progress Bar Update 07/09/2025) #96 (comment)

app.zip

app_v2.zip

app_V3.zip

app_v4.zip

app_v5.zip

app_v6.zip

app-6.1.zip

app_v7.zip

app_v7.2.zip

app_v8.zip

app_v8.2.zip

How to apply the mod :
Download "app" folder,backup your previous app folder. Replace this folder with the old one. (you can either delete the old one,or overwrite)

Image

--- IMPORTANT INFORMATION for "CONDA" environment users. ---

I have investigated the error what users are getting about embeddings. The root cause of the error is your launch script :

call conda activate visomaster
call app/ui/core/convert_ui_to_py.bat <--- This line causes the error,it overwrites the modded file
SET APP_ROOT=%~dp0
SET APP_ROOT=%APP_ROOT:~0,-1%
SET DEPENDENCIES=%APP_ROOT%\dependencies
echo %DEPENDENCIES%
SET PATH=%DEPENDENCIES%;%PATH%
python main.py
pause

Instead do this. Make a copy of the start.bat file and remove that line,save the bat file and now copy the modded "app" directory in the main folder of the app(note if you already copied but launched the bat script,it overwrites the modified file,so you need to re-copy the modded "app" folder again) :

call conda activate visomaster
SET APP_ROOT=%~dp0
SET APP_ROOT=%APP_ROOT:~0,-1%
SET DEPENDENCIES=%APP_ROOT%\dependencies
echo %DEPENDENCIES%
SET PATH=%DEPENDENCIES%;%PATH%
python main.py
pause

Short instruction :

  1. Modify your start.bat file and remove "call app/ui/core/convert_ui_to_py.bat" line
  2. Copy the mod file to the main folder.
  3. Start visomaster with your "new" start.bat file.

And All credits goes to official developers and contributers...

Future Ideas section :

Not because I will work on these but...

Gender-age detection.

  • Full scanning all embeddings for gender detection and tag(assign) embeddings with gender. (these will not be scanned next time to save time). Right click option to change tags to fix auto detection errors.

  • Auto assign selected male and female embeddings across all frames.

  • Search embeddings options to limit batch process. for example you search for embbedings to limit your list and batch processing will account for only these faces. search can be modified to have comma for multi search items to widen the range here as well.

  • Ah and right click option to rename embeddings.Sometimes we make typo errors. (done with advanced embedding editor)

  • Flagging embeddings to be excluded for batch processing shall be nice as well.

  • Speaker diarization,audio driven lips with expressions. Here different facial expressions can be saved as presets or assigned to letters,so lips can be moved by matching the talk. Easier said than done.

These are concepts if somebody wants to work on these...I am not stuck about ideas,but I don't have time to work on. I write these for those who wants to work on the project to push it further and to guide...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions