diff --git a/crates/service/job/download_job/src/job_loop/process_single_job.rs b/crates/service/job/download_job/src/job_loop/process_single_job.rs index ba69531e70..4a133216d9 100644 --- a/crates/service/job/download_job/src/job_loop/process_single_job.rs +++ b/crates/service/job/download_job/src/job_loop/process_single_job.rs @@ -76,6 +76,8 @@ pub async fn do_process_single_job(job_state: &JobState, job: &AvailableDownload return Err(anyhow!("Bad download URL: `{}`", &job.download_url)); } + // TODO USE THIS DOWNLOADER + let download_filename = match job_state.sidecar_configs.google_drive_downloader.download_file(&job.download_url, &temp_dir).await { Ok(filename) => filename, Err(e) => { diff --git a/crates/service/job/inference_job/src/job/job_loop/process_single_job.rs b/crates/service/job/inference_job/src/job/job_loop/process_single_job.rs index 1aab84a477..a9896d8a7b 100644 --- a/crates/service/job/inference_job/src/job/job_loop/process_single_job.rs +++ b/crates/service/job/inference_job/src/job/job_loop/process_single_job.rs @@ -17,6 +17,7 @@ use crate::job::job_types::lipsync::process_single_lipsync_job::process_single_l use crate::job::job_types::tts::process_single_tts_job::process_single_tts_job; use crate::job::job_types::vc::process_single_vc_job::process_single_vc_job; use crate::job::job_types::videofilter::process_single_vf_job::process_single_vf_job; +use crate::job::job_types::imagegen::process_single_ig_job::process_single_ig_job; use crate::job_dependencies::JobDependencies; pub async fn process_single_job( @@ -186,6 +187,9 @@ async fn do_process_single_job( InferenceCategory::VideoFilter => { process_single_vf_job(job_dependencies, job).await? } + InferenceCategory::ImageGeneration => { + process_single_ig_job(job_dependencies, job).await? + } }; let maybe_entity_type = job_success_result.maybe_result_entity diff --git a/crates/service/job/inference_job/src/job/job_types/mod.rs b/crates/service/job/inference_job/src/job/job_types/mod.rs index a688e281ba..d73c394afb 100644 --- a/crates/service/job/inference_job/src/job/job_types/mod.rs +++ b/crates/service/job/inference_job/src/job/job_types/mod.rs @@ -1,4 +1,5 @@ pub mod lipsync; pub mod tts; pub mod vc; -pub(crate) mod videofilter; \ No newline at end of file +pub(crate) mod videofilter; +pub mod imagegen; \ No newline at end of file diff --git a/crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/download_model_file.rs b/crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/download_model_file.rs index bc5ded36a7..0cd5fa52f4 100644 --- a/crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/download_model_file.rs +++ b/crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/download_model_file.rs @@ -16,7 +16,7 @@ use crate::util::scoped_temp_dir_creator::ScopedTempDirCreator; pub struct ModelFile { pub filesystem_path: PathBuf, } - +// TODO replace this with remote cloud file manager. pub async fn download_model_file( model_record: &Option, public_bucket_client: &BucketClient, diff --git a/crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/download_video_file.rs b/crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/download_video_file.rs index 6ec512d1ea..86d73379a8 100644 --- a/crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/download_video_file.rs +++ b/crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/download_video_file.rs @@ -22,7 +22,7 @@ use crate::util::scoped_temp_dir_creator::ScopedTempDirCreator; pub struct VideoFile { pub filesystem_path: PathBuf, } - +// TODO replace this with remote cloud file manager. pub async fn download_video_file( video_source: &VideofilterVideoSource, public_bucket_client: &BucketClient, diff --git a/crates/service/job/inference_job/src/job_specific_dependencies.rs b/crates/service/job/inference_job/src/job_specific_dependencies.rs index a863b3872c..f70052dc2c 100644 --- a/crates/service/job/inference_job/src/job_specific_dependencies.rs +++ b/crates/service/job/inference_job/src/job_specific_dependencies.rs @@ -1,5 +1,6 @@ use enums::by_table::generic_inference_jobs::inference_model_type::InferenceModelType; use errors::AnyhowResult; +use sqlx::pool::maybe; use crate::job::job_types::lipsync::sad_talker::sad_talker_dependencies::SadTalkerDependencies; use crate::job::job_types::tts::tacotron2_v2_early_fakeyou::tacotron2_dependencies::Tacotron2Dependencies; @@ -8,6 +9,8 @@ use crate::job::job_types::tts::vits::vits_dependencies::VitsDependencies; use crate::job::job_types::vc::rvc_v2::rvc_v2_dependencies::RvcV2Dependencies; use crate::job::job_types::vc::so_vits_svc::svc_dependencies::SvcDependencies; use crate::job::job_types::videofilter::rerender_a_video::rerender_dependencies::RerenderDependencies; +use crate::job::job_types::imagegen::sd::stable_diffusion_dependencies::StableDiffusionDependencies; + use crate::util::scoped_execution::ScopedExecution; pub struct JobSpecificDependencies { @@ -18,6 +21,7 @@ pub struct JobSpecificDependencies { pub maybe_vall_e_x_dependencies: Option, pub maybe_vits_dependencies: Option, pub maybe_rerender_dependencies: Option, + pub maybe_stable_diffusion_dependencies: Option, } impl JobSpecificDependencies { @@ -30,6 +34,7 @@ impl JobSpecificDependencies { let mut maybe_vall_e_x_dependencies = None; let mut maybe_vits_dependencies = None; let mut maybe_rerender_dependencies = None; + let mut maybe_stable_diffusion_dependencies = None; if scoped_execution.can_run_job(InferenceModelType::RvcV2) { print_with_space("Setting RVCv2 dependencies..."); @@ -65,6 +70,11 @@ impl JobSpecificDependencies { print_with_space("Setting Rerender dependencies..."); maybe_rerender_dependencies = Some(RerenderDependencies::setup()?); } + + if scoped_execution.can_run_job(job_model_type::StableDiffusion) { + print_with_space("Setting Stable Diffusion dependencies..."); + maybe_stable_diffusion_dependencies = Some(StableDiffusionDependencies::setup()?); + } Ok(JobSpecificDependencies { maybe_rvc_v2_dependencies, @@ -74,6 +84,7 @@ impl JobSpecificDependencies { maybe_vall_e_x_dependencies, maybe_vits_dependencies, maybe_rerender_dependencies, + maybe_stable_diffusion_dependencies }) } }