From d610548e45ae2cabd267ce139d85ef9558c2a550 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Thu, 7 May 2026 19:20:48 -0400 Subject: [PATCH] web --- ...e_1p5_pro_multi_function_video_gen_handler.rs | 12 ++++++++---- ..._3p1_fast_multi_function_video_gen_handler.rs | 16 ++++++++++------ 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/seedance_1p5_pro_multi_function_video_gen_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/seedance_1p5_pro_multi_function_video_gen_handler.rs index 06ed3e144a..8c81b96b96 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/seedance_1p5_pro_multi_function_video_gen_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/seedance_1p5_pro_multi_function_video_gen_handler.rs @@ -19,7 +19,7 @@ use enums::common::generation_provider::GenerationProvider; use enums::common::visibility::Visibility; use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator; use fal_client::requests::webhook::video::image::enqueue_seedance_1p5_pro_image_to_video_webhook::{enqueue_seedance_1p5_pro_image_to_video_webhook, EnqueueSeedance1p5ProImageToVideoArgs, EnqueueSeedance1p5ProImageToVideoAspectRatio, EnqueueSeedance1p5ProImageToVideoDuration, EnqueueSeedance1p5ProImageToVideoRequest, EnqueueSeedance1p5ProImageToVideoResolution}; -use fal_client::requests::webhook::video::text::enqueue_seedance_1p5_pro_text_to_video_webhook::{enqueue_seedance_1p5_pro_text_to_video_webhook, EnqueueSeedance1p5ProTextToVideoArgs, EnqueueSeedance1p5ProTextToVideoAspectRatio, EnqueueSeedance1p5ProTextToVideoDuration, EnqueueSeedance1p5ProTextToVideoResolution}; +use fal_client::requests::webhook::video::text::enqueue_seedance_1p5_pro_text_to_video_webhook::{enqueue_seedance_1p5_pro_text_to_video_webhook, EnqueueSeedance1p5ProTextToVideoArgs, EnqueueSeedance1p5ProTextToVideoRequest, EnqueueSeedance1p5ProTextToVideoAspectRatio, EnqueueSeedance1p5ProTextToVideoDuration, EnqueueSeedance1p5ProTextToVideoResolution}; use http_server_common::request::get_request_ip::get_request_ip; use log::{error, info, warn}; use mysql_queries::queries::generic_inference::fal::insert_generic_inference_job_for_fal_queue::FalCategory; @@ -191,18 +191,22 @@ pub async fn seedance_1p5_pro_multi_function_video_gen_handler( let aspect_ratio = map_aspect_ratio_t2v(request.aspect_ratio); let resolution = map_resolution_t2v(request.resolution); - let args = EnqueueSeedance1p5ProTextToVideoArgs { + let t2v_request = EnqueueSeedance1p5ProTextToVideoRequest { prompt: request.prompt.as_deref().unwrap_or("").to_string(), duration: Some(duration), aspect_ratio: Some(aspect_ratio), resolution: Some(resolution), generate_audio: Some(generate_audio), + }; + + let cost = t2v_request.calculate_cost_in_cents(); + + let args = EnqueueSeedance1p5ProTextToVideoArgs { + request: t2v_request, webhook_url: &server_state.fal.webhook_url, api_key: &server_state.fal.api_key, }; - let cost = args.calculate_cost_in_cents(); - info!("Charging wallet: {}", cost); attempt_wallet_deduction_else_common_web_error( diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/veo_3p1_fast_multi_function_video_gen_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/veo_3p1_fast_multi_function_video_gen_handler.rs index 12005e12f3..0fc3ddcbe5 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/veo_3p1_fast_multi_function_video_gen_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/veo_3p1_fast_multi_function_video_gen_handler.rs @@ -25,7 +25,7 @@ use fal_client::creds::open_ai_api_key::OpenAiApiKey; use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator; use fal_client::requests::webhook::video::image::enqueue_veo_3p1_fast_first_last_frame_image_to_video_webhook::{enqueue_veo_3p1_fast_first_last_frame_image_to_video_webhook, EnqueueVeo3p1FastFirstLastFrameImageToVideoArgs, EnqueueVeo3p1FastFirstLastFrameImageToVideoAspectRatio, EnqueueVeo3p1FastFirstLastFrameImageToVideoDurationSeconds, EnqueueVeo3p1FastFirstLastFrameImageToVideoRequest, EnqueueVeo3p1FastFirstLastFrameImageToVideoResolution}; use fal_client::requests::webhook::video::image::enqueue_veo_3p1_fast_image_to_video_webhook::{enqueue_veo_3p1_fast_image_to_video_webhook, EnqueueVeo3p1FastImageToVideoArgs, EnqueueVeo3p1FastImageToVideoAspectRatio, EnqueueVeo3p1FastImageToVideoDurationSeconds, EnqueueVeo3p1FastImageToVideoRequest, EnqueueVeo3p1FastImageToVideoResolution}; -use fal_client::requests::webhook::video::text::enqueue_veo_3p1_fast_text_to_video_webhook::{enqueue_veo_3p1_fast_text_to_video_webhook, EnqueueVeo3p1FastTextToVideoArgs, EnqueueVeo3p1FastTextToVideoAspectRatio, EnqueueVeo3p1FastTextToVideoDurationSeconds, EnqueueVeo3p1FastTextToVideoResolution}; +use fal_client::requests::webhook::video::text::enqueue_veo_3p1_fast_text_to_video_webhook::{enqueue_veo_3p1_fast_text_to_video_webhook, EnqueueVeo3p1FastTextToVideoArgs, EnqueueVeo3p1FastTextToVideoRequest, EnqueueVeo3p1FastTextToVideoAspectRatio, EnqueueVeo3p1FastTextToVideoDurationSeconds, EnqueueVeo3p1FastTextToVideoResolution}; use http_server_common::request::get_request_ip::get_request_ip; use log::{error, info, warn}; use mysql_queries::queries::generic_inference::fal::insert_generic_inference_job_for_fal_queue::insert_generic_inference_job_for_fal_queue; @@ -296,7 +296,7 @@ pub async fn veo_3p1_fast_multi_function_video_gen_handler( None => EnqueueVeo3p1FastTextToVideoResolution::TenEightyP, }; - let args = EnqueueVeo3p1FastTextToVideoArgs { + let t2v_request = EnqueueVeo3p1FastTextToVideoRequest { prompt: request.prompt.as_deref().unwrap_or("").to_string(), negative_prompt: request.negative_prompt.clone(), duration: Some(duration), @@ -306,11 +306,9 @@ pub async fn veo_3p1_fast_multi_function_video_gen_handler( enhance_prompt: Some(true), auto_fix: Some(true), seed: None, - webhook_url: &server_state.fal.webhook_url, - api_key: &server_state.fal.api_key, }; - - let cost = args.calculate_cost_in_cents(); + + let cost = t2v_request.calculate_cost_in_cents(); info!("Charging wallet: {}", cost); @@ -321,6 +319,12 @@ pub async fn veo_3p1_fast_multi_function_video_gen_handler( &mut mysql_connection, ).await?; + let args = EnqueueVeo3p1FastTextToVideoArgs { + request: t2v_request, + webhook_url: &server_state.fal.webhook_url, + api_key: &server_state.fal.api_key, + }; + fal_result = enqueue_veo_3p1_fast_text_to_video_webhook(args) .await .map_err(|err| {