diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/cost/video/omni_gen_video_cost_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/cost/video/omni_gen_video_cost_handler.rs index c69b43beeb..2dfc8d6f19 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/cost/video/omni_gen_video_cost_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/cost/video/omni_gen_video_cost_handler.rs @@ -9,7 +9,7 @@ use artcraft_router::errors::artcraft_router_error::ArtcraftRouterError; use log::warn; use crate::http_server::common_responses::advanced_common_web_error::AdvancedCommonWebError; -use crate::http_server::endpoints::omni_gen::generate::video::pipeline_v1::distill_helper::hydrate_to_router_request::hydrate_to_router_request; +use crate::http_server::endpoints::omni_gen::generate::video::hydrate_router_request::hydrate_to_router_request; use crate::state::server_state::ServerState; /// Estimate the cost of a video generation. diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v1/distill_helper/hydrate_to_router_request.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/hydrate_router_request.rs similarity index 95% rename from crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v1/distill_helper/hydrate_to_router_request.rs rename to crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/hydrate_router_request.rs index 988c1c90c6..2aef127a68 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v1/distill_helper/hydrate_to_router_request.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/hydrate_router_request.rs @@ -14,6 +14,53 @@ use enums::common::generation::common_aspect_ratio::CommonAspectRatio as CommonA use enums::common::generation::common_resolution::CommonResolution as CommonResolutionEnum; use enums::common::generation::common_video_model::CommonVideoModel as CommonVideoModelEnum; +pub fn hydrate_to_router_request( + request: &OmniGenVideoCostAndGenerateRequest, +) -> Result { + let api_model = request.model + .as_ref() + .ok_or_else(|| AdvancedCommonWebError::BadInputWithSimpleMessage( + "model is required".to_string(), + ))?; + + let model = convert_model(api_model)?; + + let aspect_ratio = request.aspect_ratio + .as_ref() + .map(convert_aspect_ratio) + .transpose()?; + + let resolution = request.resolution + .as_ref() + .map(convert_resolution) + .transpose()?; + + Ok(GenerateVideoRequestBuilder { + model, + provider: Provider::Artcraft, + prompt: request.prompt.clone(), + negative_prompt: request.negative_prompt.clone(), + start_frame: request.start_frame_image_media_token.clone() + .map(ImageRef::MediaFileToken), + end_frame: request.end_frame_image_media_token.clone() + .map(ImageRef::MediaFileToken), + reference_images: request.reference_image_media_tokens.clone() + .map(ImageListRef::MediaFileTokens), + reference_videos: request.reference_video_media_tokens.clone() + .map(VideoListRef::MediaFileTokens), + reference_audio: request.reference_audio_media_tokens.clone() + .map(AudioListRef::MediaFileTokens), + reference_character_tokens: None, + resolution, + aspect_ratio, + duration_seconds: request.duration_seconds, + video_batch_count: request.video_batch_count, + generate_audio: request.generate_audio, + request_mismatch_mitigation_strategy: RequestMismatchMitigationStrategy::PayMoreUpgrade, + idempotency_token: request.idempotency_token.clone(), + }) +} + fn convert_model( model: &CommonVideoModelEnum, ) -> Result { @@ -46,47 +93,3 @@ fn convert_resolution( ) }) } - -pub fn hydrate_to_router_request( - request: &OmniGenVideoCostAndGenerateRequest, -) -> Result { - let api_model = request.model.as_ref() - .ok_or_else(|| AdvancedCommonWebError::BadInputWithSimpleMessage( - "model is required".to_string(), - ))?; - - let model = convert_model(api_model)?; - - let aspect_ratio = request.aspect_ratio.as_ref() - .map(convert_aspect_ratio) - .transpose()?; - - let resolution = request.resolution.as_ref() - .map(convert_resolution) - .transpose()?; - - Ok(GenerateVideoRequestBuilder { - model, - provider: Provider::Artcraft, - prompt: request.prompt.clone(), - negative_prompt: request.negative_prompt.clone(), - start_frame: request.start_frame_image_media_token.clone() - .map(ImageRef::MediaFileToken), - end_frame: request.end_frame_image_media_token.clone() - .map(ImageRef::MediaFileToken), - reference_images: request.reference_image_media_tokens.clone() - .map(ImageListRef::MediaFileTokens), - reference_videos: request.reference_video_media_tokens.clone() - .map(VideoListRef::MediaFileTokens), - reference_audio: request.reference_audio_media_tokens.clone() - .map(AudioListRef::MediaFileTokens), - reference_character_tokens: None, - resolution, - aspect_ratio, - duration_seconds: request.duration_seconds, - video_batch_count: request.video_batch_count, - generate_audio: request.generate_audio, - request_mismatch_mitigation_strategy: RequestMismatchMitigationStrategy::PayMoreUpgrade, - idempotency_token: request.idempotency_token.clone(), - }) -} diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/mod.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/mod.rs index 02b1044cb9..06281803fd 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/mod.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/mod.rs @@ -1,5 +1,6 @@ pub mod omni_gen_video_generate_handler; pub mod helpers; +pub(crate) mod hydrate_router_request; pub mod pipeline_result; pub mod pipeline_v1; pub mod pipeline_v2; diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v1/distill_helper/mod.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v1/distill_helper/mod.rs index 706ab177f0..ca33f3690d 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v1/distill_helper/mod.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v1/distill_helper/mod.rs @@ -1,3 +1,2 @@ -pub(crate) mod hydrate_to_router_request; pub(crate) mod request_to_costs; pub(crate) mod request_to_plan; diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v1/distill_video_request.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v1/distill_video_request.rs index 56c67abe58..2791340062 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v1/distill_video_request.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v1/distill_video_request.rs @@ -25,7 +25,7 @@ use tokens::tokens::media_files::MediaFileToken; use crate::http_server::common_responses::advanced_common_web_error::AdvancedCommonWebError; -use super::distill_helper::hydrate_to_router_request::hydrate_to_router_request; +use crate::http_server::endpoints::omni_gen::generate::video::hydrate_router_request::hydrate_to_router_request; /// Self-contained, owned representation of a fully-distilled omni-gen video /// request: the router request, the bill-on cost estimate, and the executable diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v1/run_pipeline_v1.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v1/run_pipeline_v1.rs index 88796026de..371bfde03f 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v1/run_pipeline_v1.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v1/run_pipeline_v1.rs @@ -12,7 +12,7 @@ use tokens::tokens::media_files::MediaFileToken; use crate::http_server::common_responses::advanced_common_web_error::AdvancedCommonWebError; use crate::http_server::endpoints::omni_gen::generate::video::helpers::bill_wallet::bill_wallet; use crate::http_server::endpoints::omni_gen::generate::video::pipeline_result::PipelineResult; -use crate::http_server::endpoints::omni_gen::generate::video::pipeline_v1::distill_helper::hydrate_to_router_request::hydrate_to_router_request; +use crate::http_server::endpoints::omni_gen::generate::video::hydrate_router_request::hydrate_to_router_request; use crate::http_server::endpoints::omni_gen::generate::video::pipeline_v1::distill_video_request::distill_video_request; use crate::http_server::endpoints::omni_gen::generate::video::pipeline_v1::execute::execute_generation::execute_generation; use crate::http_server::endpoints::omni_gen::generate::video::request_helper::resolve_kinovi_character_ids::resolve_kinovi_character_ids; diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v2/run_pipeline_v2.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v2/run_pipeline_v2.rs index 469f550a9c..f409de657a 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v2/run_pipeline_v2.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/pipeline_v2/run_pipeline_v2.rs @@ -12,7 +12,7 @@ use tokens::tokens::media_files::MediaFileToken; use crate::http_server::common_responses::advanced_common_web_error::AdvancedCommonWebError; use crate::http_server::endpoints::omni_gen::generate::video::helpers::bill_wallet::bill_wallet; use crate::http_server::endpoints::omni_gen::generate::video::pipeline_result::PipelineResult; -use crate::http_server::endpoints::omni_gen::generate::video::pipeline_v1::distill_helper::hydrate_to_router_request::hydrate_to_router_request; +use crate::http_server::endpoints::omni_gen::generate::video::hydrate_router_request::hydrate_to_router_request; use crate::http_server::endpoints::omni_gen::generate::video::pipeline_v2::execute::execute_pipeline_v2; use crate::state::server_state::ServerState;