From 19c223d5d5b4fa1c407b74db2ed9eb159605eca4 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Sun, 8 Mar 2026 17:57:55 -0400 Subject: [PATCH] cleanup tauri impl --- .../handle_artcraft_kling_3p0_standard.rs | 71 ------------------- .../artcraft/handle_artcraft_video.rs | 9 +-- ...rs => handle_artcraft_video_via_router.rs} | 8 ++- .../enqueue/image_to_video/artcraft/mod.rs | 3 +- 4 files changed, 11 insertions(+), 80 deletions(-) delete mode 100644 crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/handle_artcraft_kling_3p0_standard.rs rename crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/{handle_artcraft_kling_3p0_pro.rs => handle_artcraft_video_via_router.rs} (94%) diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/handle_artcraft_kling_3p0_standard.rs b/crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/handle_artcraft_kling_3p0_standard.rs deleted file mode 100644 index 237b39423b..0000000000 --- a/crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/handle_artcraft_kling_3p0_standard.rs +++ /dev/null @@ -1,71 +0,0 @@ -use crate::core::commands::enqueue::generate_error::GenerateError; -use crate::core::commands::enqueue::image_to_video::enqueue_image_to_video_command::EnqueueImageToVideoRequest; -use crate::core::commands::enqueue::task_enqueue_success::TaskEnqueueSuccess; -use crate::core::events::generation_events::common::GenerationModel; -use crate::core::state::app_env_configs::app_env_configs::AppEnvConfigs; -use artcraft_router::api::common_video_model::CommonVideoModel; -use artcraft_router::api::image_ref::ImageRef; -use artcraft_router::api::provider::Provider; -use artcraft_router::client::request_mismatch_mitigation_strategy::RequestMismatchMitigationStrategy; -use artcraft_router::client::router_artcraft_client::RouterArtcraftClient; -use artcraft_router::client::router_client::RouterClient; -use artcraft_router::generate::generate_video::generate_video_request::GenerateVideoRequest; -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_type::TaskType; -use log::{error, info}; -use artcraft_client::credentials::storyteller_credential_set::StorytellerCredentialSet; - -pub(super) async fn handle_artcraft_kling_3p0_standard( - request: &EnqueueImageToVideoRequest, - app_env_configs: &AppEnvConfigs, - creds: &StorytellerCredentialSet, -) -> Result { - let client = RouterClient::Artcraft(RouterArtcraftClient::new( - app_env_configs.storyteller_host.clone(), - creds.clone(), - )); - - let start_frame = request.image_media_token.as_ref().map(ImageRef::MediaFileToken); - let end_frame = request.end_frame_image_media_token.as_ref().map(ImageRef::MediaFileToken); - - let router_request = GenerateVideoRequest { - model: CommonVideoModel::Kling3p0Standard, - provider: Provider::Artcraft, - prompt: request.prompt.as_deref(), - start_frame, - end_frame, - reference_images: None, - resolution: None, - aspect_ratio: request.aspect_ratio, - duration_seconds: request.duration_seconds, - video_batch_count: request.video_batch_count, - request_mismatch_mitigation_strategy: RequestMismatchMitigationStrategy::PayMoreUpgrade, - idempotency_token: None, - }; - - let plan = router_request.build()?; - - info!("Video Generation Plan: {:?}", plan); - - let response = match plan.generate_video(&client).await { - Ok(resp) => { - info!("Successfully enqueued."); - resp - } - Err(err) => { - error!("Failed to enqueue: {:?}", err); - return Err(GenerateError::from(err)); - } - }; - - let job_id = response.get_artcraft_payload() - .map(|p| p.inference_job_token.to_string()) - .ok_or(GenerateError::ResponseHadNoJobTokens)?; - - Ok(TaskEnqueueSuccess { - task_type: TaskType::VideoGeneration, - model: Some(GenerationModel::Kling3p0Standard), - provider: GenerationProvider::Artcraft, - provider_job_id: Some(job_id), - }) -} diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/handle_artcraft_video.rs b/crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/handle_artcraft_video.rs index 80cd85a247..9200e9f961 100644 --- a/crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/handle_artcraft_video.rs +++ b/crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/handle_artcraft_video.rs @@ -5,9 +5,10 @@ use crate::core::commands::enqueue::image_to_video::artcraft::handle_artcraft_kl use crate::core::commands::enqueue::image_to_video::artcraft::handle_artcraft_kling_2p1_pro::handle_artcraft_kling_2p1_pro; use crate::core::commands::enqueue::image_to_video::artcraft::handle_artcraft_kling_2p5_turbo_pro::handle_artcraft_kling_2p5_turbo_pro; use crate::core::commands::enqueue::image_to_video::artcraft::handle_artcraft_kling_2p6_pro::handle_artcraft_kling_2p6_pro; -use crate::core::commands::enqueue::image_to_video::artcraft::handle_artcraft_kling_3p0_pro::handle_artcraft_kling_3p0_pro; -use crate::core::commands::enqueue::image_to_video::artcraft::handle_artcraft_kling_3p0_standard::handle_artcraft_kling_3p0_standard; +use crate::core::commands::enqueue::image_to_video::artcraft::handle_artcraft_video_via_router::handle_artcraft_video_via_router; use crate::core::commands::enqueue::image_to_video::artcraft::handle_artcraft_seedance_1_lite::handle_artcraft_seedance_1_lite; +use crate::core::events::generation_events::common::GenerationModel; +use artcraft_router::api::common_video_model::CommonVideoModel; use crate::core::commands::enqueue::image_to_video::artcraft::handle_artcraft_seedance_1p5_pro::handle_artcraft_seedance_1p5_pro; use crate::core::commands::enqueue::image_to_video::artcraft::handle_artcraft_seedance_2p0::handle_artcraft_seedance_2p0; use crate::core::commands::enqueue::image_to_video::artcraft::handle_artcraft_sora2::handle_artcraft_sora2; @@ -42,8 +43,8 @@ pub async fn handle_video_artcraft( Some(VideoModel::Kling21Master) => handle_artcraft_kling_2p1_master(request, app_env_configs, &creds).await, Some(VideoModel::Kling2p5TurboPro) => handle_artcraft_kling_2p5_turbo_pro(request, app_env_configs, &creds).await, Some(VideoModel::Kling2p6Pro) => handle_artcraft_kling_2p6_pro(request, app_env_configs, &creds).await, - Some(VideoModel::Kling3p0Standard) => handle_artcraft_kling_3p0_standard(request, app_env_configs, &creds).await, - Some(VideoModel::Kling3p0Pro) => handle_artcraft_kling_3p0_pro(request, app_env_configs, &creds).await, + Some(VideoModel::Kling3p0Standard) => handle_artcraft_video_via_router(request, app_env_configs, &creds, CommonVideoModel::Kling3p0Standard, GenerationModel::Kling3p0Standard).await, + Some(VideoModel::Kling3p0Pro) => handle_artcraft_video_via_router(request, app_env_configs, &creds, CommonVideoModel::Kling3p0Pro, GenerationModel::Kling3p0Pro).await, Some(VideoModel::Seedance10Lite) => handle_artcraft_seedance_1_lite(request, app_env_configs, &creds).await, Some(VideoModel::Seedance1p5Pro) => handle_artcraft_seedance_1p5_pro(request, app_env_configs, &creds).await, Some(VideoModel::Seedance2p0) => handle_artcraft_seedance_2p0(request, app_env_configs, &creds).await, diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/handle_artcraft_kling_3p0_pro.rs b/crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/handle_artcraft_video_via_router.rs similarity index 94% rename from crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/handle_artcraft_kling_3p0_pro.rs rename to crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/handle_artcraft_video_via_router.rs index 1704e57301..f47bed464d 100644 --- a/crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/handle_artcraft_kling_3p0_pro.rs +++ b/crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/handle_artcraft_video_via_router.rs @@ -15,10 +15,12 @@ use enums::tauri::tasks::task_type::TaskType; use log::{error, info}; use artcraft_client::credentials::storyteller_credential_set::StorytellerCredentialSet; -pub(super) async fn handle_artcraft_kling_3p0_pro( +pub(super) async fn handle_artcraft_video_via_router( request: &EnqueueImageToVideoRequest, app_env_configs: &AppEnvConfigs, creds: &StorytellerCredentialSet, + model: CommonVideoModel, + generation_model: GenerationModel, ) -> Result { let client = RouterClient::Artcraft(RouterArtcraftClient::new( app_env_configs.storyteller_host.clone(), @@ -29,7 +31,7 @@ pub(super) async fn handle_artcraft_kling_3p0_pro( let end_frame = request.end_frame_image_media_token.as_ref().map(ImageRef::MediaFileToken); let router_request = GenerateVideoRequest { - model: CommonVideoModel::Kling3p0Pro, + model, provider: Provider::Artcraft, prompt: request.prompt.as_deref(), start_frame, @@ -64,7 +66,7 @@ pub(super) async fn handle_artcraft_kling_3p0_pro( Ok(TaskEnqueueSuccess { task_type: TaskType::VideoGeneration, - model: Some(GenerationModel::Kling3p0Pro), + model: Some(generation_model), provider: GenerationProvider::Artcraft, provider_job_id: Some(job_id), }) diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/mod.rs b/crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/mod.rs index 3ef6048195..b35410abf7 100644 --- a/crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/mod.rs +++ b/crates/desktop/artcraft/src/core/commands/enqueue/image_to_video/artcraft/mod.rs @@ -4,8 +4,7 @@ mod handle_artcraft_kling_2p1_master; mod handle_artcraft_kling_2p1_pro; mod handle_artcraft_kling_2p5_turbo_pro; mod handle_artcraft_kling_2p6_pro; -mod handle_artcraft_kling_3p0_pro; -mod handle_artcraft_kling_3p0_standard; +mod handle_artcraft_video_via_router; mod handle_artcraft_seedance_1_lite; mod handle_artcraft_seedance_1p5_pro; mod handle_artcraft_seedance_2p0;