From 3214082d3203e8537797e2e6f607f629e1dd431b Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Fri, 10 Apr 2026 10:44:31 -0400 Subject: [PATCH] fix "quality" field in artcraft --- .../handle_image_edit_artcraft_via_router.rs | 16 +++++++++++++--- .../handle_text_to_image_artcraft_via_router.rs | 7 +++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/image_edit/artcraft/handle_image_edit_artcraft_via_router.rs b/crates/desktop/artcraft/src/core/commands/enqueue/image_edit/artcraft/handle_image_edit_artcraft_via_router.rs index 9d3572ae11..8e9701d49b 100644 --- a/crates/desktop/artcraft/src/core/commands/enqueue/image_edit/artcraft/handle_image_edit_artcraft_via_router.rs +++ b/crates/desktop/artcraft/src/core/commands/enqueue/image_edit/artcraft/handle_image_edit_artcraft_via_router.rs @@ -1,14 +1,13 @@ use crate::core::api_adapters::aspect_ratio::common_aspect_ratio::CommonAspectRatio as DesktopCommonAspectRatio; use crate::core::commands::enqueue::generate_error::{BadInputReason, GenerateError, MissingCredentialsReason}; -use crate::core::commands::enqueue::image_edit::enqueue_edit_image_command::{ - EditImageResolution, EditImageSize, EnqueueEditImageCommand, -}; +use crate::core::commands::enqueue::image_edit::enqueue_edit_image_command::{EditImageQuality, EditImageResolution, EditImageSize, EnqueueEditImageCommand}; 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 crate::services::storyteller::state::storyteller_credential_manager::StorytellerCredentialManager; use artcraft_router::api::common_aspect_ratio::CommonAspectRatio as RouterCommonAspectRatio; use artcraft_router::api::common_image_model::CommonImageModel; +use artcraft_router::api::common_quality::CommonQuality as RouterCommonQuality; use artcraft_router::api::common_resolution::CommonResolution as RouterCommonResolution; use artcraft_router::api::image_list_ref::ImageListRef; use artcraft_router::api::provider::Provider; @@ -64,6 +63,7 @@ pub(super) async fn handle_image_edit_artcraft_via_router( let aspect_ratio = get_aspect_ratio_edit(request); let resolution = get_resolution_edit(request); + let quality = get_quality_edit(request); let router_request = GenerateImageRequest { model, @@ -72,6 +72,7 @@ pub(super) async fn handle_image_edit_artcraft_via_router( image_inputs, resolution, aspect_ratio, + quality, image_batch_count: request.image_count.map(|n| n as u16), request_mismatch_mitigation_strategy: RequestMismatchMitigationStrategy::PayMoreUpgrade, generation_mode_mismatch_strategy: None, @@ -134,6 +135,15 @@ fn get_resolution_edit(request: &EnqueueEditImageCommand) -> Option Option { + request.image_quality.map(|res| match res { + EditImageQuality::High => RouterCommonQuality::High, + EditImageQuality::Medium => RouterCommonQuality::Medium, + EditImageQuality::Low => RouterCommonQuality::Low, + EditImageQuality::Auto => RouterCommonQuality::High, + }) +} + fn convert_desktop_aspect_ratio(ar: DesktopCommonAspectRatio) -> RouterCommonAspectRatio { match ar { DesktopCommonAspectRatio::Auto => RouterCommonAspectRatio::Auto, diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/text_to_image/artcraft/handle_text_to_image_artcraft_via_router.rs b/crates/desktop/artcraft/src/core/commands/enqueue/text_to_image/artcraft/handle_text_to_image_artcraft_via_router.rs index 7a19c172dc..da8c5ad22b 100644 --- a/crates/desktop/artcraft/src/core/commands/enqueue/text_to_image/artcraft/handle_text_to_image_artcraft_via_router.rs +++ b/crates/desktop/artcraft/src/core/commands/enqueue/text_to_image/artcraft/handle_text_to_image_artcraft_via_router.rs @@ -10,6 +10,7 @@ use crate::core::state::app_env_configs::app_env_configs::AppEnvConfigs; use crate::services::storyteller::state::storyteller_credential_manager::StorytellerCredentialManager; use artcraft_router::api::common_aspect_ratio::CommonAspectRatio as RouterCommonAspectRatio; use artcraft_router::api::common_image_model::CommonImageModel; +use artcraft_router::api::common_quality::CommonQuality as RouterCommonQuality; use artcraft_router::api::common_resolution::CommonResolution as RouterCommonResolution; use artcraft_router::api::image_list_ref::ImageListRef; use artcraft_router::api::provider::Provider; @@ -42,6 +43,7 @@ pub(super) async fn handle_text_to_image_artcraft_via_router( let aspect_ratio = get_aspect_ratio_t2i(request); let resolution = get_resolution_t2i(request); + let quality = get_quality_t2i(request); let router_request = GenerateImageRequest { model, @@ -50,6 +52,7 @@ pub(super) async fn handle_text_to_image_artcraft_via_router( image_inputs, resolution, aspect_ratio, + quality, image_batch_count: request.number_images.map(|n| n as u16), request_mismatch_mitigation_strategy: RequestMismatchMitigationStrategy::PayMoreUpgrade, generation_mode_mismatch_strategy: None, @@ -116,6 +119,10 @@ fn get_resolution_t2i(request: &EnqueueTextToImageRequest) -> Option Option { + None // TODO +} + fn convert_desktop_aspect_ratio(ar: CommonAspectRatio2) -> RouterCommonAspectRatio { match ar { CommonAspectRatio2::Auto => RouterCommonAspectRatio::Auto,