diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_kling_1_6_pro_video_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_kling_1_6_pro_video_handler.rs index 4064f14e2f..883676b400 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_kling_1_6_pro_video_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_kling_1_6_pro_video_handler.rs @@ -33,6 +33,7 @@ use mysql_queries::queries::prompts::insert_prompt::{insert_prompt, InsertPrompt use sqlx::Acquire; use tokens::tokens::generic_inference_jobs::InferenceJobToken; use utoipa::ToSchema; +use enums::common::generation::common_aspect_ratio::CommonAspectRatio; use enums::common::generation::common_generation_mode::CommonGenerationMode; /// Kling 1.6 Pro Image to Video @@ -223,7 +224,11 @@ pub async fn generate_kling_1_6_pro_video_handler( maybe_negative_prompt: None, maybe_other_args: None, maybe_generation_mode: Some(CommonGenerationMode::Keyframe), // TODO: This endpoint only supports keyframes for now - maybe_aspect_ratio: None, + maybe_aspect_ratio: request.aspect_ratio.as_ref().map(|ar| match ar { + GenerateKling16ProAspectRatio::Square => CommonAspectRatio::Square, + GenerateKling16ProAspectRatio::WideSixteenNine => CommonAspectRatio::WideSixteenByNine, + GenerateKling16ProAspectRatio::TallNineSixteen => CommonAspectRatio::TallNineBySixteen, + }), maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_kling_2_1_master_video_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_kling_2_1_master_video_handler.rs index 3769f986a5..76a6381be1 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_kling_2_1_master_video_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_kling_2_1_master_video_handler.rs @@ -30,6 +30,7 @@ use mysql_queries::queries::prompts::insert_prompt::{insert_prompt, InsertPrompt use sqlx::Acquire; use tokens::tokens::generic_inference_jobs::InferenceJobToken; use utoipa::ToSchema; +use enums::common::generation::common_aspect_ratio::CommonAspectRatio; use enums::common::generation::common_generation_mode::CommonGenerationMode; /// Kling 2.1 Master Image to Video @@ -210,7 +211,11 @@ pub async fn generate_kling_2_1_master_video_handler( maybe_negative_prompt: None, maybe_other_args: None, maybe_generation_mode: Some(CommonGenerationMode::Keyframe), // TODO: This endpoint only supports keyframes for now - maybe_aspect_ratio: None, + maybe_aspect_ratio: request.aspect_ratio.as_ref().map(|ar| match ar { + GenerateKling21MasterAspectRatio::Square => CommonAspectRatio::Square, + GenerateKling21MasterAspectRatio::WideSixteenNine => CommonAspectRatio::WideSixteenByNine, + GenerateKling21MasterAspectRatio::TallNineSixteen => CommonAspectRatio::TallNineBySixteen, + }), maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_kling_2_1_pro_video_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_kling_2_1_pro_video_handler.rs index e1d8696be3..9e4f1e479f 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_kling_2_1_pro_video_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_kling_2_1_pro_video_handler.rs @@ -35,6 +35,7 @@ use mysql_queries::queries::prompts::insert_prompt::{insert_prompt, InsertPrompt use sqlx::Acquire; use tokens::tokens::generic_inference_jobs::InferenceJobToken; use utoipa::ToSchema; +use enums::common::generation::common_aspect_ratio::CommonAspectRatio; use enums::common::generation::common_generation_mode::CommonGenerationMode; /// Kling 2.1 Pro Image to Video @@ -225,7 +226,11 @@ pub async fn generate_kling_2_1_pro_video_handler( maybe_negative_prompt: None, maybe_other_args: None, maybe_generation_mode: Some(CommonGenerationMode::Keyframe), // TODO: This endpoint only supports keyframes for now - maybe_aspect_ratio: None, + maybe_aspect_ratio: request.aspect_ratio.as_ref().map(|ar| match ar { + GenerateKling21ProAspectRatio::Square => CommonAspectRatio::Square, + GenerateKling21ProAspectRatio::WideSixteenNine => CommonAspectRatio::WideSixteenByNine, + GenerateKling21ProAspectRatio::TallNineSixteen => CommonAspectRatio::TallNineBySixteen, + }), maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_seedance_1_0_lite_image_to_video_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_seedance_1_0_lite_image_to_video_handler.rs index 59ee872cce..2e72083ba8 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_seedance_1_0_lite_image_to_video_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_seedance_1_0_lite_image_to_video_handler.rs @@ -20,6 +20,7 @@ use enums::by_table::prompts::prompt_type::PromptType; use enums::common::generation_provider::GenerationProvider; use enums::common::generation::common_model_type::CommonModelType; use enums::common::visibility::Visibility; +use enums::common::generation::common_aspect_ratio::CommonAspectRatio; use enums::common::generation::common_generation_mode::CommonGenerationMode; use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator; use fal_client::requests::webhook::video::image::enqueue_seedance_1_lite_image_to_video_webhook::Seedance1LiteDuration; @@ -240,7 +241,15 @@ pub async fn generate_seedance_1_0_lite_image_to_video_handler( maybe_negative_prompt: None, maybe_other_args: None, maybe_generation_mode: Some(CommonGenerationMode::Keyframe), // TODO: This endpoint only supports keyframes for now - maybe_aspect_ratio: None, + maybe_aspect_ratio: request.aspect_ratio.as_ref().map(|ar| match ar { + GenerateSeedance10LiteAspectRatio::Auto => CommonAspectRatio::Auto, + GenerateSeedance10LiteAspectRatio::TwentyOneByNine => CommonAspectRatio::WideTwentyOneByNine, + GenerateSeedance10LiteAspectRatio::SixteenByNine => CommonAspectRatio::WideSixteenByNine, + GenerateSeedance10LiteAspectRatio::FourByThree => CommonAspectRatio::WideFourByThree, + GenerateSeedance10LiteAspectRatio::Square => CommonAspectRatio::Square, + GenerateSeedance10LiteAspectRatio::ThreeByFour => CommonAspectRatio::TallThreeByFour, + GenerateSeedance10LiteAspectRatio::NineBySixteen => CommonAspectRatio::TallNineBySixteen, + }), maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_veo_2_image_to_video_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_veo_2_image_to_video_handler.rs index 1bea668702..c66cd8d134 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_veo_2_image_to_video_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_veo_2_image_to_video_handler.rs @@ -20,6 +20,7 @@ use enums::by_table::prompts::prompt_type::PromptType; use enums::common::generation_provider::GenerationProvider; use enums::common::generation::common_model_type::CommonModelType; use enums::common::visibility::Visibility; +use enums::common::generation::common_aspect_ratio::CommonAspectRatio; use enums::common::generation::common_generation_mode::CommonGenerationMode; use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator; use fal_client::requests::webhook::video::image::enqueue_veo_2_image_to_video_webhook::enqueue_veo_2_image_to_video_webhook; @@ -221,7 +222,12 @@ pub async fn generate_veo_2_image_to_video_handler( maybe_negative_prompt: None, maybe_other_args: None, maybe_generation_mode: Some(CommonGenerationMode::Keyframe), // TODO: This endpoint only supports keyframes for now - maybe_aspect_ratio: None, + maybe_aspect_ratio: request.aspect_ratio.as_ref().map(|ar| match ar { + GenerateVeo2AspectRatio::Auto => CommonAspectRatio::Auto, + GenerateVeo2AspectRatio::AutoPreferPortrait => CommonAspectRatio::Auto, + GenerateVeo2AspectRatio::WideSixteenNine => CommonAspectRatio::WideSixteenByNine, + GenerateVeo2AspectRatio::TallNineSixteen => CommonAspectRatio::TallNineBySixteen, + }), maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_veo_3_image_to_video_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_veo_3_image_to_video_handler.rs index a09f449205..ec6bb349ff 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_veo_3_image_to_video_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_veo_3_image_to_video_handler.rs @@ -17,6 +17,7 @@ use enums::by_table::prompts::prompt_type::PromptType; use enums::common::generation_provider::GenerationProvider; use enums::common::generation::common_model_type::CommonModelType; use enums::common::visibility::Visibility; +use enums::common::generation::common_aspect_ratio::CommonAspectRatio; use enums::common::generation::common_generation_mode::CommonGenerationMode; use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator; use fal_client::requests::webhook::video::image::enqueue_veo_3_image_to_video_webhook::{enqueue_veo_3_image_to_video_webhook, Veo3Args, Veo3AspectRatio, Veo3Duration, Veo3Resolution}; @@ -222,7 +223,11 @@ pub async fn generate_veo_3_image_to_video_handler( maybe_negative_prompt: None, maybe_other_args: None, maybe_generation_mode: Some(CommonGenerationMode::Keyframe), // TODO: This endpoint only supports keyframes for now - maybe_aspect_ratio: None, + maybe_aspect_ratio: request.aspect_ratio.as_ref().map(|ar| match ar { + GenerateVeo3AspectRatio::WideSixteenNine => CommonAspectRatio::WideSixteenByNine, + GenerateVeo3AspectRatio::TallNineSixteen => CommonAspectRatio::TallNineBySixteen, + GenerateVeo3AspectRatio::Square => CommonAspectRatio::Square, + }), maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: Some(generate_audio),