mirror of
https://github.com/facefusion/facefusion.git
synced 2026-07-31 14:27:24 +02:00
rename workflow to workflow-mode ahead of workflow-strategy (#1186)
Claude-Session: https://claude.ai/code/session_01Tbcd6VWCiU4BQP1gywPr2a Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
2c72bb21c8
commit
0ce48da740
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
[workflow]
|
[workflow]
|
||||||
workflow =
|
workflow_mode =
|
||||||
|
|
||||||
[paths]
|
[paths]
|
||||||
temp_path =
|
temp_path =
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ from facefusion.vision import detect_video_fps
|
|||||||
|
|
||||||
def apply_args(args : Args, apply_state_item : ApplyStateItem) -> None:
|
def apply_args(args : Args, apply_state_item : ApplyStateItem) -> None:
|
||||||
apply_state_item('command', args.get('command'))
|
apply_state_item('command', args.get('command'))
|
||||||
apply_state_item('workflow', args.get('workflow'))
|
apply_state_item('workflow_mode', args.get('workflow_mode'))
|
||||||
apply_state_item('temp_path', args.get('temp_path'))
|
apply_state_item('temp_path', args.get('temp_path'))
|
||||||
apply_state_item('jobs_path', args.get('jobs_path'))
|
apply_state_item('jobs_path', args.get('jobs_path'))
|
||||||
apply_state_item('source_paths', args.get('source_paths'))
|
apply_state_item('source_paths', args.get('source_paths'))
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import logging
|
|||||||
from typing import List, Sequence, get_args
|
from typing import List, Sequence, get_args
|
||||||
|
|
||||||
from facefusion.common_helper import create_float_range, create_int_range
|
from facefusion.common_helper import create_float_range, create_int_range
|
||||||
from facefusion.types import Angle, ApiSecurityStrategy, AudioEncoder, AudioFormat, AudioSet, BenchmarkMode, BenchmarkResolution, BenchmarkSet, DownloadProvider, DownloadProviderSet, DownloadScope, ExecutionProvider, ExecutionProviderSet, FaceDetectorModel, FaceDetectorSet, FaceLandmarkerModel, FaceMaskArea, FaceMaskAreaSet, FaceMaskRegion, FaceMaskRegionSet, FaceMaskType, FaceOccluderModel, FaceParserModel, FaceSelectorGender, FaceSelectorMode, FaceSelectorOrder, FaceSelectorRace, Gender, ImageEncoder, ImageFormat, ImageSet, JobStatus, LogLevel, LogLevelSet, Race, Score, TempFrameFormat, VideoEncoder, VideoFormat, VideoMemoryStrategy, VideoPreset, VideoSet, VoiceExtractorModel, WorkFlow
|
from facefusion.types import Angle, ApiSecurityStrategy, AudioEncoder, AudioFormat, AudioSet, BenchmarkMode, BenchmarkResolution, BenchmarkSet, DownloadProvider, DownloadProviderSet, DownloadScope, ExecutionProvider, ExecutionProviderSet, FaceDetectorModel, FaceDetectorSet, FaceLandmarkerModel, FaceMaskArea, FaceMaskAreaSet, FaceMaskRegion, FaceMaskRegionSet, FaceMaskType, FaceOccluderModel, FaceParserModel, FaceSelectorGender, FaceSelectorMode, FaceSelectorOrder, FaceSelectorRace, Gender, ImageEncoder, ImageFormat, ImageSet, JobStatus, LogLevel, LogLevelSet, Race, Score, TempFrameFormat, VideoEncoder, VideoFormat, VideoMemoryStrategy, VideoPreset, VideoSet, VoiceExtractorModel, WorkflowMode
|
||||||
|
|
||||||
face_detector_set : FaceDetectorSet =\
|
face_detector_set : FaceDetectorSet =\
|
||||||
{
|
{
|
||||||
@@ -47,7 +47,7 @@ face_mask_regions : List[FaceMaskRegion] = list(get_args(FaceMaskRegion))
|
|||||||
|
|
||||||
voice_extractor_models : List[VoiceExtractorModel] = list(get_args(VoiceExtractorModel))
|
voice_extractor_models : List[VoiceExtractorModel] = list(get_args(VoiceExtractorModel))
|
||||||
|
|
||||||
workflows : List[WorkFlow] = [ 'auto', 'audio-to-image:frames', 'audio-to-image:video', 'image-to-image', 'image-to-video', 'image-to-video:frames' ]
|
workflow_modes : List[WorkflowMode] = [ 'auto', 'audio-to-image:frames', 'audio-to-image:video', 'image-to-image', 'image-to-video', 'image-to-video:frames' ]
|
||||||
|
|
||||||
audio_set : AudioSet =\
|
audio_set : AudioSet =\
|
||||||
{
|
{
|
||||||
|
|||||||
+9
-9
@@ -19,7 +19,7 @@ from facefusion.jobs.job_list import compose_job_list
|
|||||||
from facefusion.processors.core import get_processors_modules
|
from facefusion.processors.core import get_processors_modules
|
||||||
from facefusion.program import create_program
|
from facefusion.program import create_program
|
||||||
from facefusion.program_helper import validate_args
|
from facefusion.program_helper import validate_args
|
||||||
from facefusion.types import Args, ErrorCode, WorkFlow
|
from facefusion.types import Args, ErrorCode, WorkflowMode
|
||||||
from facefusion.workflows import audio_to_image, audio_to_image_as_frames, image_to_image, image_to_video, image_to_video_as_frames
|
from facefusion.workflows import audio_to_image, audio_to_image_as_frames, image_to_image, image_to_video, image_to_video_as_frames
|
||||||
|
|
||||||
|
|
||||||
@@ -317,28 +317,28 @@ def process_step(job_id : str, step_index : int, step_args : Args) -> bool:
|
|||||||
def conditional_process() -> ErrorCode:
|
def conditional_process() -> ErrorCode:
|
||||||
start_time = time()
|
start_time = time()
|
||||||
|
|
||||||
if state_manager.get_item('workflow') == 'auto':
|
if state_manager.get_item('workflow_mode') == 'auto':
|
||||||
state_manager.set_item('workflow', detect_workflow())
|
state_manager.set_item('workflow_mode', detect_workflow_mode())
|
||||||
|
|
||||||
for processor_module in get_processors_modules(state_manager.get_item('processors')):
|
for processor_module in get_processors_modules(state_manager.get_item('processors')):
|
||||||
if not processor_module.pre_process('output'):
|
if not processor_module.pre_process('output'):
|
||||||
return 2
|
return 2
|
||||||
|
|
||||||
if state_manager.get_item('workflow') == 'audio-to-image:video':
|
if state_manager.get_item('workflow_mode') == 'audio-to-image:video':
|
||||||
return audio_to_image.process(start_time)
|
return audio_to_image.process(start_time)
|
||||||
if state_manager.get_item('workflow') == 'audio-to-image:frames':
|
if state_manager.get_item('workflow_mode') == 'audio-to-image:frames':
|
||||||
return audio_to_image_as_frames.process(start_time)
|
return audio_to_image_as_frames.process(start_time)
|
||||||
if state_manager.get_item('workflow') == 'image-to-image':
|
if state_manager.get_item('workflow_mode') == 'image-to-image':
|
||||||
return image_to_image.process(start_time)
|
return image_to_image.process(start_time)
|
||||||
if state_manager.get_item('workflow') == 'image-to-video':
|
if state_manager.get_item('workflow_mode') == 'image-to-video':
|
||||||
return image_to_video.process(start_time)
|
return image_to_video.process(start_time)
|
||||||
if state_manager.get_item('workflow') == 'image-to-video:frames':
|
if state_manager.get_item('workflow_mode') == 'image-to-video:frames':
|
||||||
return image_to_video_as_frames.process(start_time)
|
return image_to_video_as_frames.process(start_time)
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
def detect_workflow() -> WorkFlow:
|
def detect_workflow_mode() -> WorkflowMode:
|
||||||
if has_video([ state_manager.get_item('target_path') ]):
|
if has_video([ state_manager.get_item('target_path') ]):
|
||||||
if get_file_extension(state_manager.get_item('output_path')):
|
if get_file_extension(state_manager.get_item('output_path')):
|
||||||
return 'image-to-video'
|
return 'image-to-video'
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ LOCALES : Locales =\
|
|||||||
{
|
{
|
||||||
'install_dependency': 'choose the variant of {dependency} to install',
|
'install_dependency': 'choose the variant of {dependency} to install',
|
||||||
'skip_conda': 'skip the conda environment check',
|
'skip_conda': 'skip the conda environment check',
|
||||||
'workflow': 'choose the workflow',
|
'workflow_mode': 'choose the workflow mode',
|
||||||
'config_path': 'choose the config file to override defaults',
|
'config_path': 'choose the config file to override defaults',
|
||||||
'temp_path': 'specify the directory for the temporary resources',
|
'temp_path': 'specify the directory for the temporary resources',
|
||||||
'jobs_path': 'specify the directory to store jobs',
|
'jobs_path': 'specify the directory to store jobs',
|
||||||
|
|||||||
@@ -170,7 +170,7 @@ def pre_process(mode : ProcessMode) -> bool:
|
|||||||
if mode in [ 'output', 'preview' ] and not is_image(state_manager.get_item('target_path')) and not is_video(state_manager.get_item('target_path')):
|
if mode in [ 'output', 'preview' ] and not is_image(state_manager.get_item('target_path')) and not is_video(state_manager.get_item('target_path')):
|
||||||
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
if state_manager.get_item('workflow') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
if state_manager.get_item('workflow_mode') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
||||||
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
||||||
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
|
|||||||
@@ -548,7 +548,7 @@ def pre_process(mode : ProcessMode) -> bool:
|
|||||||
if mode in [ 'output', 'preview' ] and not is_image(state_manager.get_item('target_path')) and not is_video(state_manager.get_item('target_path')):
|
if mode in [ 'output', 'preview' ] and not is_image(state_manager.get_item('target_path')) and not is_video(state_manager.get_item('target_path')):
|
||||||
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
if state_manager.get_item('workflow') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
if state_manager.get_item('workflow_mode') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
||||||
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
||||||
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
|
|||||||
@@ -324,7 +324,7 @@ def pre_process(mode : ProcessMode) -> bool:
|
|||||||
if mode in [ 'output', 'preview' ] and not is_image(state_manager.get_item('target_path')) and not is_video(state_manager.get_item('target_path')):
|
if mode in [ 'output', 'preview' ] and not is_image(state_manager.get_item('target_path')) and not is_video(state_manager.get_item('target_path')):
|
||||||
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
if state_manager.get_item('workflow') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
if state_manager.get_item('workflow_mode') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
||||||
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
||||||
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
|
|||||||
@@ -157,7 +157,7 @@ def pre_process(mode : ProcessMode) -> bool:
|
|||||||
if mode in [ 'output', 'preview' ] and not is_image(state_manager.get_item('target_path')) and not is_video(state_manager.get_item('target_path')):
|
if mode in [ 'output', 'preview' ] and not is_image(state_manager.get_item('target_path')) and not is_video(state_manager.get_item('target_path')):
|
||||||
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
if state_manager.get_item('workflow') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
if state_manager.get_item('workflow_mode') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
||||||
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
||||||
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ def pre_process(mode : ProcessMode) -> bool:
|
|||||||
if mode in [ 'output', 'preview' ] and not is_image(state_manager.get_item('target_path')) and not is_video(state_manager.get_item('target_path')):
|
if mode in [ 'output', 'preview' ] and not is_image(state_manager.get_item('target_path')) and not is_video(state_manager.get_item('target_path')):
|
||||||
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
if state_manager.get_item('workflow') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
if state_manager.get_item('workflow_mode') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
||||||
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
||||||
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
|
|||||||
@@ -292,7 +292,7 @@ def pre_process(mode : ProcessMode) -> bool:
|
|||||||
if mode in [ 'output', 'preview' ] and not is_image(state_manager.get_item('target_path')) and not is_video(state_manager.get_item('target_path')):
|
if mode in [ 'output', 'preview' ] and not is_image(state_manager.get_item('target_path')) and not is_video(state_manager.get_item('target_path')):
|
||||||
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
if state_manager.get_item('workflow') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
if state_manager.get_item('workflow_mode') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
||||||
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
||||||
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
|
|||||||
@@ -348,7 +348,7 @@ def pre_process(mode : ProcessMode) -> bool:
|
|||||||
if mode in [ 'output', 'preview' ] and not is_image(state_manager.get_item('target_path')) and not is_video(state_manager.get_item('target_path')):
|
if mode in [ 'output', 'preview' ] and not is_image(state_manager.get_item('target_path')) and not is_video(state_manager.get_item('target_path')):
|
||||||
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
if state_manager.get_item('workflow') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
if state_manager.get_item('workflow_mode') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
||||||
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
||||||
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
|
|||||||
@@ -599,7 +599,7 @@ def pre_process(mode : ProcessMode) -> bool:
|
|||||||
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if state_manager.get_item('workflow') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
if state_manager.get_item('workflow_mode') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
||||||
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
||||||
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
|
|||||||
@@ -240,7 +240,7 @@ def pre_process(mode : ProcessMode) -> bool:
|
|||||||
if mode in [ 'output', 'preview' ] and not is_image(state_manager.get_item('target_path')) and not is_video(state_manager.get_item('target_path')):
|
if mode in [ 'output', 'preview' ] and not is_image(state_manager.get_item('target_path')) and not is_video(state_manager.get_item('target_path')):
|
||||||
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
if state_manager.get_item('workflow') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
if state_manager.get_item('workflow_mode') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
||||||
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
||||||
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
|
|||||||
@@ -627,7 +627,7 @@ def pre_process(mode : ProcessMode) -> bool:
|
|||||||
if mode in [ 'output', 'preview' ] and not is_image(state_manager.get_item('target_path')) and not is_video(state_manager.get_item('target_path')):
|
if mode in [ 'output', 'preview' ] and not is_image(state_manager.get_item('target_path')) and not is_video(state_manager.get_item('target_path')):
|
||||||
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('choose_image_or_video_target') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
if state_manager.get_item('workflow') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
if state_manager.get_item('workflow_mode') in [ 'audio-to-image:video', 'image-to-image', 'image-to-video' ]:
|
||||||
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
if mode == 'output' and not in_directory(state_manager.get_item('output_path')):
|
||||||
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
logger.error(translator.get('specify_image_or_video_output') + translator.get('exclamation_mark'), __name__)
|
||||||
return False
|
return False
|
||||||
|
|||||||
@@ -46,10 +46,10 @@ def create_workflow_program() -> ArgumentParser:
|
|||||||
capability_store.register_capability_set(
|
capability_store.register_capability_set(
|
||||||
[
|
[
|
||||||
group_paths.add_argument(
|
group_paths.add_argument(
|
||||||
'--workflow',
|
'--workflow-mode',
|
||||||
help = translator.get('help.workflow'),
|
help = translator.get('help.workflow_mode'),
|
||||||
default = config.get_str_value('workflow', 'workflow', 'auto'),
|
default = config.get_str_value('workflow', 'workflow_mode', 'auto'),
|
||||||
choices = facefusion.choices.workflows
|
choices = facefusion.choices.workflow_modes
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
scopes = [ 'api', 'cli' ]
|
scopes = [ 'api', 'cli' ]
|
||||||
|
|||||||
+3
-3
@@ -65,7 +65,7 @@ Language = Literal['en']
|
|||||||
Locales : TypeAlias = Dict[Language, Dict[str, Any]]
|
Locales : TypeAlias = Dict[Language, Dict[str, Any]]
|
||||||
LocalePoolSet : TypeAlias = Dict[str, Locales]
|
LocalePoolSet : TypeAlias = Dict[str, Locales]
|
||||||
|
|
||||||
WorkFlow = Literal['auto', 'audio-to-image:frames', 'audio-to-image:video', 'image-to-image', 'image-to-video', 'image-to-video:frames']
|
WorkflowMode = Literal['auto', 'audio-to-image:frames', 'audio-to-image:video', 'image-to-image', 'image-to-video', 'image-to-video:frames']
|
||||||
|
|
||||||
VideoCaptureSet : TypeAlias = Dict[str, cv2.VideoCapture]
|
VideoCaptureSet : TypeAlias = Dict[str, cv2.VideoCapture]
|
||||||
VideoWriterSet : TypeAlias = Dict[str, cv2.VideoWriter]
|
VideoWriterSet : TypeAlias = Dict[str, cv2.VideoWriter]
|
||||||
@@ -475,7 +475,7 @@ StateValue : TypeAlias = Any
|
|||||||
StateKey = Literal\
|
StateKey = Literal\
|
||||||
[
|
[
|
||||||
'command',
|
'command',
|
||||||
'workflow',
|
'workflow_mode',
|
||||||
'config_path',
|
'config_path',
|
||||||
'temp_path',
|
'temp_path',
|
||||||
'jobs_path',
|
'jobs_path',
|
||||||
@@ -549,7 +549,7 @@ StateKey = Literal\
|
|||||||
State = TypedDict('State',
|
State = TypedDict('State',
|
||||||
{
|
{
|
||||||
'command' : str,
|
'command' : str,
|
||||||
'workflow' : WorkFlow,
|
'workflow_mode' : WorkflowMode,
|
||||||
'config_path' : str,
|
'config_path' : str,
|
||||||
'temp_path' : str,
|
'temp_path' : str,
|
||||||
'jobs_path' : str,
|
'jobs_path' : str,
|
||||||
|
|||||||
@@ -34,11 +34,11 @@ def clear() -> ErrorCode:
|
|||||||
|
|
||||||
|
|
||||||
def conditional_get_source_audio_frame(frame_number : int) -> AudioFrame:
|
def conditional_get_source_audio_frame(frame_number : int) -> AudioFrame:
|
||||||
if state_manager.get_item('workflow') in [ 'audio-to-image:frames', 'audio-to-image:video', 'image-to-video' ]:
|
if state_manager.get_item('workflow_mode') in [ 'audio-to-image:frames', 'audio-to-image:video', 'image-to-video' ]:
|
||||||
source_audio_path = get_first(filter_audio_paths(state_manager.get_item('source_paths')))
|
source_audio_path = get_first(filter_audio_paths(state_manager.get_item('source_paths')))
|
||||||
fps = state_manager.get_item('output_audio_fps')
|
fps = state_manager.get_item('output_audio_fps')
|
||||||
|
|
||||||
if state_manager.get_item('workflow') == 'image-to-video':
|
if state_manager.get_item('workflow_mode') == 'image-to-video':
|
||||||
fps = restrict_video_fps(state_manager.get_item('target_path'), state_manager.get_item('output_video_fps'))
|
fps = restrict_video_fps(state_manager.get_item('target_path'), state_manager.get_item('output_video_fps'))
|
||||||
|
|
||||||
source_audio_frame = get_audio_frame(source_audio_path, fps, frame_number)
|
source_audio_frame = get_audio_frame(source_audio_path, fps, frame_number)
|
||||||
@@ -50,11 +50,11 @@ def conditional_get_source_audio_frame(frame_number : int) -> AudioFrame:
|
|||||||
|
|
||||||
|
|
||||||
def conditional_get_source_voice_frame(frame_number : int) -> AudioFrame:
|
def conditional_get_source_voice_frame(frame_number : int) -> AudioFrame:
|
||||||
if state_manager.get_item('workflow') in [ 'audio-to-image:frames', 'audio-to-image:video', 'image-to-video' ]:
|
if state_manager.get_item('workflow_mode') in [ 'audio-to-image:frames', 'audio-to-image:video', 'image-to-video' ]:
|
||||||
source_audio_path = get_first(filter_audio_paths(state_manager.get_item('source_paths')))
|
source_audio_path = get_first(filter_audio_paths(state_manager.get_item('source_paths')))
|
||||||
temp_fps = state_manager.get_item('output_audio_fps')
|
temp_fps = state_manager.get_item('output_audio_fps')
|
||||||
|
|
||||||
if state_manager.get_item('workflow') == 'image-to-video':
|
if state_manager.get_item('workflow_mode') == 'image-to-video':
|
||||||
temp_fps = restrict_video_fps(state_manager.get_item('target_path'), state_manager.get_item('output_video_fps'))
|
temp_fps = restrict_video_fps(state_manager.get_item('target_path'), state_manager.get_item('output_video_fps'))
|
||||||
|
|
||||||
source_voice_frame = get_voice_frame(source_audio_path, temp_fps, frame_number)
|
source_voice_frame = get_voice_frame(source_audio_path, temp_fps, frame_number)
|
||||||
@@ -66,13 +66,13 @@ def conditional_get_source_voice_frame(frame_number : int) -> AudioFrame:
|
|||||||
|
|
||||||
|
|
||||||
def conditional_get_reference_vision_frame() -> VisionFrame:
|
def conditional_get_reference_vision_frame() -> VisionFrame:
|
||||||
if state_manager.get_item('workflow') in [ 'image-to-video', 'image-to-video:frames' ]:
|
if state_manager.get_item('workflow_mode') in [ 'image-to-video', 'image-to-video:frames' ]:
|
||||||
return read_static_video_frame(state_manager.get_item('target_path'), state_manager.get_item('reference_frame_number'))
|
return read_static_video_frame(state_manager.get_item('target_path'), state_manager.get_item('reference_frame_number'))
|
||||||
return read_static_image(state_manager.get_item('target_path'))
|
return read_static_image(state_manager.get_item('target_path'))
|
||||||
|
|
||||||
|
|
||||||
def conditional_get_target_vision_frames(frame_number : int) -> List[VisionFrame]:
|
def conditional_get_target_vision_frames(frame_number : int) -> List[VisionFrame]:
|
||||||
if state_manager.get_item('workflow') in [ 'image-to-video', 'image-to-video:frames' ]:
|
if state_manager.get_item('workflow_mode') in [ 'image-to-video', 'image-to-video:frames' ]:
|
||||||
return select_video_frames(state_manager.get_item('target_path'), frame_number, state_manager.get_item('target_frame_amount'))
|
return select_video_frames(state_manager.get_item('target_path'), frame_number, state_manager.get_item('target_frame_amount'))
|
||||||
return [ read_static_image(state_manager.get_item('target_path')) ]
|
return [ read_static_image(state_manager.get_item('target_path')) ]
|
||||||
|
|
||||||
|
|||||||
@@ -94,23 +94,23 @@ def finalize_video(start_time : float) -> ErrorCode:
|
|||||||
|
|
||||||
|
|
||||||
def conditional_clear_video_pool() -> None:
|
def conditional_clear_video_pool() -> None:
|
||||||
if state_manager.get_item('workflow') == 'image-to-video':
|
if state_manager.get_item('workflow_mode') == 'image-to-video':
|
||||||
video_manager.clear_video_pool()
|
video_manager.clear_video_pool()
|
||||||
|
|
||||||
|
|
||||||
def conditional_restrict_video_fps() -> Fps:
|
def conditional_restrict_video_fps() -> Fps:
|
||||||
if state_manager.get_item('workflow') == 'image-to-video':
|
if state_manager.get_item('workflow_mode') == 'image-to-video':
|
||||||
return restrict_video_fps(state_manager.get_item('target_path'), state_manager.get_item('output_video_fps'))
|
return restrict_video_fps(state_manager.get_item('target_path'), state_manager.get_item('output_video_fps'))
|
||||||
return conditional_get_output_fps()
|
return conditional_get_output_fps()
|
||||||
|
|
||||||
|
|
||||||
def conditional_get_output_fps() -> Fps:
|
def conditional_get_output_fps() -> Fps:
|
||||||
if state_manager.get_item('workflow') in [ 'audio-to-image:frames', 'audio-to-image:video' ]:
|
if state_manager.get_item('workflow_mode') in [ 'audio-to-image:frames', 'audio-to-image:video' ]:
|
||||||
return state_manager.get_item('output_audio_fps')
|
return state_manager.get_item('output_audio_fps')
|
||||||
return state_manager.get_item('output_video_fps')
|
return state_manager.get_item('output_video_fps')
|
||||||
|
|
||||||
|
|
||||||
def conditional_scale_resolution() -> Resolution:
|
def conditional_scale_resolution() -> Resolution:
|
||||||
if state_manager.get_item('workflow') == 'image-to-video':
|
if state_manager.get_item('workflow_mode') == 'image-to-video':
|
||||||
return scale_resolution(detect_video_resolution(state_manager.get_item('target_path')), state_manager.get_item('output_video_scale'))
|
return scale_resolution(detect_video_resolution(state_manager.get_item('target_path')), state_manager.get_item('output_video_scale'))
|
||||||
return scale_resolution(detect_image_resolution(state_manager.get_item('target_path')), state_manager.get_item('output_video_scale'))
|
return scale_resolution(detect_image_resolution(state_manager.get_item('target_path')), state_manager.get_item('output_video_scale'))
|
||||||
|
|||||||
@@ -26,21 +26,21 @@ def before_each() -> None:
|
|||||||
|
|
||||||
|
|
||||||
def test_modify_age_to_image() -> None:
|
def test_modify_age_to_image() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'age_modifier', '--age-modifier-direction', '100', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-age-face-to-image.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'age_modifier', '--age-modifier-direction', '100', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-age-face-to-image.jpg') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-age-face-to-image.jpg') is True
|
assert is_test_output_file('test-age-face-to-image.jpg') is True
|
||||||
|
|
||||||
|
|
||||||
def test_modify_age_to_video() -> None:
|
def test_modify_age_to_video() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'age_modifier', '--age-modifier-direction', '100', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-age-face-to-video.mp4'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'age_modifier', '--age-modifier-direction', '100', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-age-face-to-video.mp4'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-age-face-to-video.mp4') is True
|
assert is_test_output_file('test-age-face-to-video.mp4') is True
|
||||||
|
|
||||||
|
|
||||||
def test_modify_age_to_video_as_frames() -> None:
|
def test_modify_age_to_video_as_frames() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'age_modifier', '--age-modifier-direction', '100', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-age-face-to-video-as-frames'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'age_modifier', '--age-modifier-direction', '100', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-age-face-to-video-as-frames'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_sequence(get_test_output_path('test-age-face-to-video-as-frames')) is True
|
assert is_test_output_sequence(get_test_output_path('test-age-face-to-video-as-frames')) is True
|
||||||
|
|||||||
@@ -27,21 +27,21 @@ def before_each() -> None:
|
|||||||
|
|
||||||
|
|
||||||
def test_remove_background_to_image() -> None:
|
def test_remove_background_to_image() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'background_remover', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-remove-background-to-image.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'background_remover', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-remove-background-to-image.jpg') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-remove-background-to-image.jpg') is True
|
assert is_test_output_file('test-remove-background-to-image.jpg') is True
|
||||||
|
|
||||||
|
|
||||||
def test_remove_background_to_video() -> None:
|
def test_remove_background_to_video() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'background_remover', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-remove-background-to-video.mp4'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'background_remover', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-remove-background-to-video.mp4'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-remove-background-to-video.mp4') is True
|
assert is_test_output_file('test-remove-background-to-video.mp4') is True
|
||||||
|
|
||||||
|
|
||||||
def test_remove_background_to_video_as_frames() -> None:
|
def test_remove_background_to_video_as_frames() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'background_remover', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-remove-background-to-video-as-frames'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'background_remover', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-remove-background-to-video-as-frames'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_sequence(get_test_output_path('test-remove-background-to-video-as-frames')) is True
|
assert is_test_output_sequence(get_test_output_path('test-remove-background-to-video-as-frames')) is True
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ def before_each() -> None:
|
|||||||
|
|
||||||
|
|
||||||
def test_batch_run_targets() -> None:
|
def test_batch_run_targets() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'batch-run', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p-batch-*.jpg'), '-o', get_test_output_path('test-batch-run-targets-{index}.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'batch-run', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p-batch-*.jpg'), '-o', get_test_output_path('test-batch-run-targets-{index}.jpg') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-batch-run-targets-0.jpg') is True
|
assert is_test_output_file('test-batch-run-targets-0.jpg') is True
|
||||||
@@ -36,7 +36,7 @@ def test_batch_run_targets() -> None:
|
|||||||
|
|
||||||
|
|
||||||
def test_batch_run_sources_to_targets() -> None:
|
def test_batch_run_sources_to_targets() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'batch-run', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('target-240p-batch-*.jpg'), '-t', get_test_example_file('target-240p-batch-*.jpg'), '-o', get_test_output_path('test-batch-run-sources-to-targets-{index}.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'batch-run', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('target-240p-batch-*.jpg'), '-t', get_test_example_file('target-240p-batch-*.jpg'), '-o', get_test_output_path('test-batch-run-sources-to-targets-{index}.jpg') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-batch-run-sources-to-targets-0.jpg') is True
|
assert is_test_output_file('test-batch-run-sources-to-targets-0.jpg') is True
|
||||||
|
|||||||
@@ -26,21 +26,21 @@ def before_each() -> None:
|
|||||||
|
|
||||||
|
|
||||||
def test_restore_expression_to_image() -> None:
|
def test_restore_expression_to_image() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'expression_restorer', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-restore-expression-to-image.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'expression_restorer', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-restore-expression-to-image.jpg') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-restore-expression-to-image.jpg') is True
|
assert is_test_output_file('test-restore-expression-to-image.jpg') is True
|
||||||
|
|
||||||
|
|
||||||
def test_restore_expression_to_video() -> None:
|
def test_restore_expression_to_video() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'expression_restorer', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-restore-expression-to-video.mp4'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'expression_restorer', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-restore-expression-to-video.mp4'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-restore-expression-to-video.mp4') is True
|
assert is_test_output_file('test-restore-expression-to-video.mp4') is True
|
||||||
|
|
||||||
|
|
||||||
def test_restore_expression_to_video_as_frames() -> None:
|
def test_restore_expression_to_video_as_frames() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'expression_restorer', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-restore-expression-to-video-as-frames'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'expression_restorer', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-restore-expression-to-video-as-frames'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_sequence(get_test_output_path('test-restore-expression-to-video-as-frames')) is True
|
assert is_test_output_sequence(get_test_output_path('test-restore-expression-to-video-as-frames')) is True
|
||||||
|
|||||||
@@ -27,21 +27,21 @@ def before_each() -> None:
|
|||||||
|
|
||||||
|
|
||||||
def test_debug_face_to_image() -> None:
|
def test_debug_face_to_image() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-debug-face-to-image.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-debug-face-to-image.jpg') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-debug-face-to-image.jpg') is True
|
assert is_test_output_file('test-debug-face-to-image.jpg') is True
|
||||||
|
|
||||||
|
|
||||||
def test_debug_face_to_video() -> None:
|
def test_debug_face_to_video() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-debug-face-to-video.mp4'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-debug-face-to-video.mp4'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-debug-face-to-video.mp4') is True
|
assert is_test_output_file('test-debug-face-to-video.mp4') is True
|
||||||
|
|
||||||
|
|
||||||
def test_debug_face_to_video_as_frames() -> None:
|
def test_debug_face_to_video_as_frames() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-debug-face-to-video-as-frames'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-debug-face-to-video-as-frames'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_sequence(get_test_output_path('test-debug-face-to-video-as-frames')) is True
|
assert is_test_output_sequence(get_test_output_path('test-debug-face-to-video-as-frames')) is True
|
||||||
|
|||||||
@@ -27,21 +27,21 @@ def before_each() -> None:
|
|||||||
|
|
||||||
|
|
||||||
def test_edit_face_to_image() -> None:
|
def test_edit_face_to_image() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_editor', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-edit-face-to-image.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_editor', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-edit-face-to-image.jpg') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-edit-face-to-image.jpg') is True
|
assert is_test_output_file('test-edit-face-to-image.jpg') is True
|
||||||
|
|
||||||
|
|
||||||
def test_edit_face_to_video() -> None:
|
def test_edit_face_to_video() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_editor', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-edit-face-to-video.mp4'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_editor', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-edit-face-to-video.mp4'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-edit-face-to-video.mp4') is True
|
assert is_test_output_file('test-edit-face-to-video.mp4') is True
|
||||||
|
|
||||||
|
|
||||||
def test_edit_face_to_video_as_frames() -> None:
|
def test_edit_face_to_video_as_frames() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_editor', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-edit-face-to-video-as-frames'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_editor', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-edit-face-to-video-as-frames'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_sequence(get_test_output_path('test-edit-face-to-video-as-frames')) is True
|
assert is_test_output_sequence(get_test_output_path('test-edit-face-to-video-as-frames')) is True
|
||||||
|
|||||||
@@ -27,21 +27,21 @@ def before_each() -> None:
|
|||||||
|
|
||||||
|
|
||||||
def test_enhance_face_to_image() -> None:
|
def test_enhance_face_to_image() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_enhancer', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-enhance-face-to-image.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_enhancer', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-enhance-face-to-image.jpg') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-enhance-face-to-image.jpg') is True
|
assert is_test_output_file('test-enhance-face-to-image.jpg') is True
|
||||||
|
|
||||||
|
|
||||||
def test_enhance_face_to_video() -> None:
|
def test_enhance_face_to_video() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_enhancer', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-enhance-face-to-video.mp4'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_enhancer', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-enhance-face-to-video.mp4'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-enhance-face-to-video.mp4') is True
|
assert is_test_output_file('test-enhance-face-to-video.mp4') is True
|
||||||
|
|
||||||
|
|
||||||
def test_enhance_face_to_video_as_frames() -> None:
|
def test_enhance_face_to_video_as_frames() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_enhancer', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-enhance-face-to-video-as-frames'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_enhancer', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-enhance-face-to-video-as-frames'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_sequence(get_test_output_path('test-enhance-face-to-video-as-frames')) is True
|
assert is_test_output_sequence(get_test_output_path('test-enhance-face-to-video-as-frames')) is True
|
||||||
|
|||||||
@@ -27,21 +27,21 @@ def before_each() -> None:
|
|||||||
|
|
||||||
|
|
||||||
def test_swap_face_to_image() -> None:
|
def test_swap_face_to_image() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_swapper', '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-swap-face-to-image.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_swapper', '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-swap-face-to-image.jpg') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-swap-face-to-image.jpg') is True
|
assert is_test_output_file('test-swap-face-to-image.jpg') is True
|
||||||
|
|
||||||
|
|
||||||
def test_swap_face_to_video() -> None:
|
def test_swap_face_to_video() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_swapper', '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-swap-face-to-video.mp4'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_swapper', '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-swap-face-to-video.mp4'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-swap-face-to-video.mp4') is True
|
assert is_test_output_file('test-swap-face-to-video.mp4') is True
|
||||||
|
|
||||||
|
|
||||||
def test_swap_face_to_video_as_frames() -> None:
|
def test_swap_face_to_video_as_frames() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_swapper', '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-swap-face-to-video-as-frames'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_swapper', '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-swap-face-to-video-as-frames'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_sequence(get_test_output_path('test-swap-face-to-video-as-frames')) is True
|
assert is_test_output_sequence(get_test_output_path('test-swap-face-to-video-as-frames')) is True
|
||||||
|
|||||||
@@ -28,21 +28,21 @@ def before_each() -> None:
|
|||||||
|
|
||||||
|
|
||||||
def test_colorize_frame_to_image() -> None:
|
def test_colorize_frame_to_image() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'frame_colorizer', '-t', get_test_example_file('target-240p-0sat.jpg'), '-o', get_test_output_path('test_colorize-frame-to-image.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'frame_colorizer', '-t', get_test_example_file('target-240p-0sat.jpg'), '-o', get_test_output_path('test_colorize-frame-to-image.jpg') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test_colorize-frame-to-image.jpg') is True
|
assert is_test_output_file('test_colorize-frame-to-image.jpg') is True
|
||||||
|
|
||||||
|
|
||||||
def test_colorize_frame_to_video() -> None:
|
def test_colorize_frame_to_video() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'frame_colorizer', '-t', get_test_example_file('target-240p-0sat.mp4'), '-o', get_test_output_path('test-colorize-frame-to-video.mp4'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'frame_colorizer', '-t', get_test_example_file('target-240p-0sat.mp4'), '-o', get_test_output_path('test-colorize-frame-to-video.mp4'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-colorize-frame-to-video.mp4') is True
|
assert is_test_output_file('test-colorize-frame-to-video.mp4') is True
|
||||||
|
|
||||||
|
|
||||||
def test_colorize_frame_to_video_as_frames() -> None:
|
def test_colorize_frame_to_video_as_frames() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'frame_colorizer', '-t', get_test_example_file('target-240p-0sat.mp4'), '-o', get_test_output_path('test-colorize-frame-to-video-as-frames'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'frame_colorizer', '-t', get_test_example_file('target-240p-0sat.mp4'), '-o', get_test_output_path('test-colorize-frame-to-video-as-frames'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_sequence(get_test_output_path('test-colorize-frame-to-video-as-frames')) is True
|
assert is_test_output_sequence(get_test_output_path('test-colorize-frame-to-video-as-frames')) is True
|
||||||
|
|||||||
@@ -27,21 +27,21 @@ def before_each() -> None:
|
|||||||
|
|
||||||
|
|
||||||
def test_enhance_frame_to_image() -> None:
|
def test_enhance_frame_to_image() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'frame_enhancer', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-enhance-frame-to-image.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'frame_enhancer', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-enhance-frame-to-image.jpg') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-enhance-frame-to-image.jpg') is True
|
assert is_test_output_file('test-enhance-frame-to-image.jpg') is True
|
||||||
|
|
||||||
|
|
||||||
def test_enhance_frame_to_video() -> None:
|
def test_enhance_frame_to_video() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'frame_enhancer', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-enhance-frame-to-video.mp4'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'frame_enhancer', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-enhance-frame-to-video.mp4'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test-enhance-frame-to-video.mp4') is True
|
assert is_test_output_file('test-enhance-frame-to-video.mp4') is True
|
||||||
|
|
||||||
|
|
||||||
def test_enhance_frame_to_video_as_frames() -> None:
|
def test_enhance_frame_to_video_as_frames() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'frame_enhancer', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-enhance-frame-to-video-as-frames'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'frame_enhancer', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-enhance-frame-to-video-as-frames'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_sequence(get_test_output_path('test-enhance-frame-to-video-as-frames')) is True
|
assert is_test_output_sequence(get_test_output_path('test-enhance-frame-to-video-as-frames')) is True
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ def test_job_submit() -> None:
|
|||||||
|
|
||||||
assert subprocess.run(commands).returncode == 1
|
assert subprocess.run(commands).returncode == 1
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-submit', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-submit', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-submit', 'test-job-submit', '--jobs-path', get_test_jobs_directory() ]
|
commands = [ sys.executable, 'facefusion.py', 'job-submit', 'test-job-submit', '--jobs-path', get_test_jobs_directory() ]
|
||||||
@@ -74,10 +74,10 @@ def test_submit_all() -> None:
|
|||||||
|
|
||||||
assert subprocess.run(commands).returncode == 1
|
assert subprocess.run(commands).returncode == 1
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-submit-all-1', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-submit-all-1', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-submit-all-2', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-submit-all-2', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-submit-all', '--jobs-path', get_test_jobs_directory(), '--halt-on-error' ]
|
commands = [ sys.executable, 'facefusion.py', 'job-submit-all', '--jobs-path', get_test_jobs_directory(), '--halt-on-error' ]
|
||||||
@@ -123,7 +123,7 @@ def test_job_delete_all() -> None:
|
|||||||
|
|
||||||
|
|
||||||
def test_job_add_step() -> None:
|
def test_job_add_step() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-add-step', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-add-step', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 1
|
assert subprocess.run(commands).returncode == 1
|
||||||
assert count_step_total('test-job-add-step') == 0
|
assert count_step_total('test-job-add-step') == 0
|
||||||
@@ -131,14 +131,14 @@ def test_job_add_step() -> None:
|
|||||||
commands = [ sys.executable, 'facefusion.py', 'job-create', 'test-job-add-step', '--jobs-path', get_test_jobs_directory() ]
|
commands = [ sys.executable, 'facefusion.py', 'job-create', 'test-job-add-step', '--jobs-path', get_test_jobs_directory() ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-add-step', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-add-step', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert count_step_total('test-job-add-step') == 1
|
assert count_step_total('test-job-add-step') == 1
|
||||||
|
|
||||||
|
|
||||||
def test_job_remix() -> None:
|
def test_job_remix() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-remix-step', 'test-job-remix-step', '0', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'job-remix-step', 'test-job-remix-step', '0', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 1
|
assert subprocess.run(commands).returncode == 1
|
||||||
assert count_step_total('test-job-remix-step') == 0
|
assert count_step_total('test-job-remix-step') == 0
|
||||||
@@ -146,23 +146,23 @@ def test_job_remix() -> None:
|
|||||||
commands = [ sys.executable, 'facefusion.py', 'job-create', 'test-job-remix-step', '--jobs-path', get_test_jobs_directory() ]
|
commands = [ sys.executable, 'facefusion.py', 'job-create', 'test-job-remix-step', '--jobs-path', get_test_jobs_directory() ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-remix-step', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-remix-step', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-remix-step', 'test-job-remix-step', '0', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'job-remix-step', 'test-job-remix-step', '0', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
||||||
|
|
||||||
assert count_step_total('test-job-remix-step') == 1
|
assert count_step_total('test-job-remix-step') == 1
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert count_step_total('test-job-remix-step') == 2
|
assert count_step_total('test-job-remix-step') == 2
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-remix-step', 'test-job-remix-step', '-1', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'job-remix-step', 'test-job-remix-step', '-1', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert count_step_total('test-job-remix-step') == 3
|
assert count_step_total('test-job-remix-step') == 3
|
||||||
|
|
||||||
|
|
||||||
def test_job_insert_step() -> None:
|
def test_job_insert_step() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-insert-step', 'test-job-insert-step', '0', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'job-insert-step', 'test-job-insert-step', '0', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 1
|
assert subprocess.run(commands).returncode == 1
|
||||||
assert count_step_total('test-job-insert-step') == 0
|
assert count_step_total('test-job-insert-step') == 0
|
||||||
@@ -170,16 +170,16 @@ def test_job_insert_step() -> None:
|
|||||||
commands = [ sys.executable, 'facefusion.py', 'job-create', 'test-job-insert-step', '--jobs-path', get_test_jobs_directory() ]
|
commands = [ sys.executable, 'facefusion.py', 'job-create', 'test-job-insert-step', '--jobs-path', get_test_jobs_directory() ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-insert-step', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-insert-step', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-insert-step', 'test-job-insert-step', '0', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'job-insert-step', 'test-job-insert-step', '0', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
||||||
|
|
||||||
assert count_step_total('test-job-insert-step') == 1
|
assert count_step_total('test-job-insert-step') == 1
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert count_step_total('test-job-insert-step') == 2
|
assert count_step_total('test-job-insert-step') == 2
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-insert-step', 'test-job-insert-step', '-1', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'job-insert-step', 'test-job-insert-step', '-1', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert count_step_total('test-job-insert-step') == 3
|
assert count_step_total('test-job-insert-step') == 3
|
||||||
@@ -193,7 +193,7 @@ def test_job_remove_step() -> None:
|
|||||||
commands = [ sys.executable, 'facefusion.py', 'job-create', 'test-job-remove-step', '--jobs-path', get_test_jobs_directory() ]
|
commands = [ sys.executable, 'facefusion.py', 'job-create', 'test-job-remove-step', '--jobs-path', get_test_jobs_directory() ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-remove-step', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-remove-step', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '-s', get_test_example_file('source.jpg'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-remix-step.jpg') ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ def test_job_run() -> None:
|
|||||||
commands = [ sys.executable, 'facefusion.py', 'job-create', 'test-job-run', '--jobs-path', get_test_jobs_directory() ]
|
commands = [ sys.executable, 'facefusion.py', 'job-create', 'test-job-run', '--jobs-path', get_test_jobs_directory() ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-run', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-run.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-run', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-run.jpg') ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-run', 'test-job-run', '--jobs-path', get_test_jobs_directory() ]
|
commands = [ sys.executable, 'facefusion.py', 'job-run', 'test-job-run', '--jobs-path', get_test_jobs_directory() ]
|
||||||
@@ -62,13 +62,13 @@ def test_job_run_all() -> None:
|
|||||||
commands = [ sys.executable, 'facefusion.py', 'job-create', 'test-job-run-all-2', '--jobs-path', get_test_jobs_directory() ]
|
commands = [ sys.executable, 'facefusion.py', 'job-create', 'test-job-run-all-2', '--jobs-path', get_test_jobs_directory() ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-run-all-1', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-run-all-1.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-run-all-1', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-run-all-1.jpg') ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-run-all-2', '--workflow', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-job-run-all-2.mp4'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-run-all-2', '--workflow-mode', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-job-run-all-2.mp4'), '--trim-frame-end', '1' ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-run-all-2', '--workflow', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-job-run-all-2.mp4'), '--trim-frame-start', '0', '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-run-all-2', '--workflow-mode', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-job-run-all-2.mp4'), '--trim-frame-start', '0', '--trim-frame-end', '1' ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-run-all', '--jobs-path', get_test_jobs_directory(), '--halt-on-error' ]
|
commands = [ sys.executable, 'facefusion.py', 'job-run-all', '--jobs-path', get_test_jobs_directory(), '--halt-on-error' ]
|
||||||
@@ -94,7 +94,7 @@ def test_job_retry() -> None:
|
|||||||
commands = [ sys.executable, 'facefusion.py', 'job-create', 'test-job-retry', '--jobs-path', get_test_jobs_directory() ]
|
commands = [ sys.executable, 'facefusion.py', 'job-create', 'test-job-retry', '--jobs-path', get_test_jobs_directory() ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [sys.executable, 'facefusion.py', 'job-add-step', 'test-job-retry', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-retry.jpg') ]
|
commands = [sys.executable, 'facefusion.py', 'job-add-step', 'test-job-retry', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-retry.jpg') ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-retry', 'test-job-retry', '--jobs-path', get_test_jobs_directory() ]
|
commands = [ sys.executable, 'facefusion.py', 'job-retry', 'test-job-retry', '--jobs-path', get_test_jobs_directory() ]
|
||||||
@@ -122,13 +122,13 @@ def test_job_retry_all() -> None:
|
|||||||
commands = [ sys.executable, 'facefusion.py', 'job-create', 'test-job-retry-all-2', '--jobs-path', get_test_jobs_directory() ]
|
commands = [ sys.executable, 'facefusion.py', 'job-create', 'test-job-retry-all-2', '--jobs-path', get_test_jobs_directory() ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-retry-all-1', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-retry-all-1.jpg') ]
|
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-retry-all-1', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test-job-retry-all-1.jpg') ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-retry-all-2', '--workflow', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-job-retry-all-2.mp4'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-retry-all-2', '--workflow-mode', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-job-retry-all-2.mp4'), '--trim-frame-end', '1' ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-retry-all-2', '--workflow', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-job-retry-all-2.mp4'), '--trim-frame-start', '0', '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'job-add-step', 'test-job-retry-all-2', '--workflow-mode', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'face_debugger', '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test-job-retry-all-2.mp4'), '--trim-frame-start', '0', '--trim-frame-end', '1' ]
|
||||||
subprocess.run(commands)
|
subprocess.run(commands)
|
||||||
|
|
||||||
commands = [ sys.executable, 'facefusion.py', 'job-retry-all', '--jobs-path', get_test_jobs_directory(), '--halt-on-error' ]
|
commands = [ sys.executable, 'facefusion.py', 'job-retry-all', '--jobs-path', get_test_jobs_directory(), '--halt-on-error' ]
|
||||||
|
|||||||
@@ -28,28 +28,28 @@ def before_each() -> None:
|
|||||||
|
|
||||||
|
|
||||||
def test_sync_lip_to_image() -> None:
|
def test_sync_lip_to_image() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'audio-to-image:video', '--jobs-path', get_test_jobs_directory(), '--processors', 'lip_syncer', '-s', get_test_example_file('source.mp3'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test_sync_lip_to_image.mp4') ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'audio-to-image:video', '--jobs-path', get_test_jobs_directory(), '--processors', 'lip_syncer', '-s', get_test_example_file('source.mp3'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test_sync_lip_to_image.mp4') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test_sync_lip_to_image.mp4') is True
|
assert is_test_output_file('test_sync_lip_to_image.mp4') is True
|
||||||
|
|
||||||
|
|
||||||
def test_sync_lip_to_image_as_frames() -> None:
|
def test_sync_lip_to_image_as_frames() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'audio-to-image:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'lip_syncer', '-s', get_test_example_file('source.mp3'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test_sync_lip_to_image_as_frames') ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'audio-to-image:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'lip_syncer', '-s', get_test_example_file('source.mp3'), '-t', get_test_example_file('target-240p.jpg'), '-o', get_test_output_path('test_sync_lip_to_image_as_frames') ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_sequence(get_test_output_path('test_sync_lip_to_image_as_frames')) is True
|
assert is_test_output_sequence(get_test_output_path('test_sync_lip_to_image_as_frames')) is True
|
||||||
|
|
||||||
|
|
||||||
def test_sync_lip_to_video() -> None:
|
def test_sync_lip_to_video() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'lip_syncer', '-s', get_test_example_file('source.mp3'), '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test_sync_lip_to_video.mp4'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'lip_syncer', '-s', get_test_example_file('source.mp3'), '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test_sync_lip_to_video.mp4'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_file('test_sync_lip_to_video.mp4') is True
|
assert is_test_output_file('test_sync_lip_to_video.mp4') is True
|
||||||
|
|
||||||
|
|
||||||
def test_sync_lip_to_video_as_frames() -> None:
|
def test_sync_lip_to_video_as_frames() -> None:
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'lip_syncer', '-s', get_test_example_file('source.mp3'), '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test_sync_lip_to_video_as_frames'), '--trim-frame-end', '1' ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video:frames', '--jobs-path', get_test_jobs_directory(), '--processors', 'lip_syncer', '-s', get_test_example_file('source.mp3'), '-t', get_test_example_file('target-240p.mp4'), '-o', get_test_output_path('test_sync_lip_to_video_as_frames'), '--trim-frame-end', '1' ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert is_test_output_sequence(get_test_output_path('test_sync_lip_to_video_as_frames')) is True
|
assert is_test_output_sequence(get_test_output_path('test_sync_lip_to_video_as_frames')) is True
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ def before_each() -> None:
|
|||||||
])
|
])
|
||||||
def test_output_image_scale(output_image_scale : Scale, output_image_resolution : Resolution) -> None:
|
def test_output_image_scale(output_image_scale : Scale, output_image_resolution : Resolution) -> None:
|
||||||
output_file_path = get_test_output_path('test-output-image-scale-' + str(output_image_scale) + '.jpg')
|
output_file_path = get_test_output_path('test-output-image-scale-' + str(output_image_scale) + '.jpg')
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'frame_enhancer', '-t', get_test_example_file('target-240p.jpg'), '-o', output_file_path, '--output-image-scale', str(output_image_scale) ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-image', '--jobs-path', get_test_jobs_directory(), '--processors', 'frame_enhancer', '-t', get_test_example_file('target-240p.jpg'), '-o', output_file_path, '--output-image-scale', str(output_image_scale) ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert detect_image_resolution(output_file_path) == output_image_resolution
|
assert detect_image_resolution(output_file_path) == output_image_resolution
|
||||||
@@ -52,7 +52,7 @@ def test_output_image_scale(output_image_scale : Scale, output_image_resolution
|
|||||||
])
|
])
|
||||||
def test_output_video_scale(output_video_scale : Scale, output_video_resolution : Resolution) -> None:
|
def test_output_video_scale(output_video_scale : Scale, output_video_resolution : Resolution) -> None:
|
||||||
output_file_path = get_test_output_path('test-output-video-scale-' + str(output_video_scale) + '.mp4')
|
output_file_path = get_test_output_path('test-output-video-scale-' + str(output_video_scale) + '.mp4')
|
||||||
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'frame_enhancer', '-t', get_test_example_file('target-240p.mp4'), '-o', output_file_path, '--trim-frame-end', '1', '--output-video-scale', str(output_video_scale) ]
|
commands = [ sys.executable, 'facefusion.py', 'run', '--workflow-mode', 'image-to-video', '--jobs-path', get_test_jobs_directory(), '--processors', 'frame_enhancer', '-t', get_test_example_file('target-240p.mp4'), '-o', output_file_path, '--trim-frame-end', '1', '--output-video-scale', str(output_video_scale) ]
|
||||||
|
|
||||||
assert subprocess.run(commands).returncode == 0
|
assert subprocess.run(commands).returncode == 0
|
||||||
assert detect_video_resolution(output_file_path) == output_video_resolution
|
assert detect_video_resolution(output_file_path) == output_video_resolution
|
||||||
|
|||||||
Reference in New Issue
Block a user