From 6a4b172bc0cabd3036670a993e7b14d7f6728d8b Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Thu, 23 Apr 2026 14:20:24 -0400 Subject: [PATCH] cleanup --- .../video/omni_gen_video_generate_handler.rs | 8 ++-- .../video/pipeline_v1/run_pipeline_v1.rs | 43 +++++++++++++------ 2 files changed, 33 insertions(+), 18 deletions(-) diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/omni_gen_video_generate_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/omni_gen_video_generate_handler.rs index af2ce866c8..884344db2e 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/omni_gen_video_generate_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/omni_gen_video_generate_handler.rs @@ -146,13 +146,13 @@ pub async fn omni_gen_video_generate_handler( } }; - // ==================== RESOLVE MEDIA, CHARACTERS ==================== // - let media_file_to_url_map: Option> = media_file_hydration_map.as_ref().map(|map| { map.iter().map(|(k, v)| (k.clone(), v.to_string())).collect() }); + // ==================== RESOLVE CHARACTERS ==================== // + let kinovi_character_id_map: Option> = resolve_kinovi_character_ids( request.reference_character_tokens.as_deref(), @@ -176,14 +176,12 @@ pub async fn omni_gen_video_generate_handler( kinovi_character_id_map: &kinovi_character_id_map, }).await? } else { - let empty_map = HashMap::new(); - let media_url_map = media_file_hydration_map.as_ref().unwrap_or(&empty_map); run_pipeline_v1(RunPipelineV1Args { request: &request, server_state: &server_state, mysql_connection: &mut mysql_connection, user_token, - media_url_map, + media_url_map: &media_file_hydration_map, kinovi_character_id_map: &kinovi_character_id_map, }).await? }; 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 b080afd46e..4fb0b0a8c9 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 @@ -32,7 +32,7 @@ pub struct RunPipelineV1Args<'a> { pub server_state: &'a ServerState, pub mysql_connection: &'a mut sqlx::pool::PoolConnection, pub user_token: &'a UserToken, - pub media_url_map: &'a HashMap, + pub media_url_map: &'a Option>, pub kinovi_character_id_map: &'a Option>, } @@ -95,18 +95,29 @@ pub async fn run_pipeline_v1(args: RunPipelineV1Args<'_>) -> Result) -> Result { execute_generation_kinovi( request, server_state, - Some(media_url_map), kinovi_character_ids, + media_url_map.as_ref(), kinovi_character_ids, billing.maybe_wallet_ledger_entry_token.as_ref(), mysql_connection, ).await? } @@ -180,16 +191,22 @@ pub fn distill_video_request( cost_plan.estimate_costs() }; + let start_frame = lookup_url(media_url_map, request.start_frame_image_media_token.as_ref()).map(ImageRef::Url); + let end_frame = lookup_url(media_url_map, request.end_frame_image_media_token.as_ref()).map(ImageRef::Url); + let reference_images = lookup_urls(media_url_map, request.reference_image_media_tokens.as_ref()).map(ImageListRef::Urls); + let reference_videos = lookup_urls(media_url_map, request.reference_video_media_tokens.as_ref()).map(VideoListRef::Urls); + let reference_audio = lookup_urls(media_url_map, request.reference_audio_media_tokens.as_ref()).map(AudioListRef::Urls); + let exec_request = GenerateVideoRequestBuilder { model: initial.model, provider: execution_provider, prompt: initial.prompt, negative_prompt: initial.negative_prompt, - start_frame: lookup_url(media_url_map, request.start_frame_image_media_token.as_ref()).map(ImageRef::Url), - end_frame: lookup_url(media_url_map, request.end_frame_image_media_token.as_ref()).map(ImageRef::Url), - reference_images: lookup_urls(media_url_map, request.reference_image_media_tokens.as_ref()).map(ImageListRef::Urls), - reference_videos: lookup_urls(media_url_map, request.reference_video_media_tokens.as_ref()).map(VideoListRef::Urls), - reference_audio: lookup_urls(media_url_map, request.reference_audio_media_tokens.as_ref()).map(AudioListRef::Urls), + start_frame, + end_frame, + reference_images, + reference_videos, + reference_audio, reference_character_tokens: None, resolution: initial.resolution, aspect_ratio: initial.aspect_ratio,