diff --git a/.sqlx/query-e674d80b86990bf3266eb81dd9445adf7a85646596c76ac975921c42a23005ea.json b/.sqlx/query-4a50b7bf06061f05e769a41e547cb927bd2b3a6f67c8ceb37883b744237ba34c.json similarity index 92% rename from .sqlx/query-e674d80b86990bf3266eb81dd9445adf7a85646596c76ac975921c42a23005ea.json rename to .sqlx/query-4a50b7bf06061f05e769a41e547cb927bd2b3a6f67c8ceb37883b744237ba34c.json index 0d4ce2e799..6202e1380c 100644 --- a/.sqlx/query-e674d80b86990bf3266eb81dd9445adf7a85646596c76ac975921c42a23005ea.json +++ b/.sqlx/query-4a50b7bf06061f05e769a41e547cb927bd2b3a6f67c8ceb37883b744237ba34c.json @@ -1,6 +1,6 @@ { "db_name": "MySQL", - "query": "\nSELECT\n p.token as `token: tokens::tokens::prompts::PromptToken`,\n\n p.prompt_type as `prompt_type: enums::by_table::prompts::prompt_type::PromptType`,\n\n p.maybe_model_type as `maybe_model_type: enums::common::generation::common_model_type::CommonModelType`,\n p.maybe_generation_provider as `maybe_generation_provider: enums::common::generation_provider::GenerationProvider`,\n\n p.maybe_creator_user_token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n\n p.maybe_positive_prompt,\n p.maybe_negative_prompt,\n\n p.maybe_generation_mode as `maybe_generation_mode: enums::common::generation::common_generation_mode::CommonGenerationMode`,\n p.maybe_aspect_ratio as `maybe_aspect_ratio: enums::common::generation::common_aspect_ratio::CommonAspectRatio`,\n p.maybe_resolution as `maybe_resolution: enums::common::generation::common_resolution::CommonResolution`,\n p.maybe_batch_count as `maybe_batch_count: u8`,\n p.maybe_generate_audio as `maybe_generate_audio: bool`,\n\n p.maybe_other_args,\n\n p.creator_ip_address,\n p.created_at\n\nFROM prompts as p\nWHERE\n p.token = ?\n ", + "query": "\nSELECT\n p.token as `token: tokens::tokens::prompts::PromptToken`,\n\n p.prompt_type as `prompt_type: enums::by_table::prompts::prompt_type::PromptType`,\n\n p.maybe_model_type as `maybe_model_type: enums::common::generation::common_model_type::CommonModelType`,\n p.maybe_generation_provider as `maybe_generation_provider: enums::common::generation_provider::GenerationProvider`,\n\n p.maybe_creator_user_token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n\n p.maybe_positive_prompt,\n p.maybe_negative_prompt,\n\n p.maybe_generation_mode as `maybe_generation_mode: enums::common::generation::common_generation_mode::CommonGenerationMode`,\n p.maybe_aspect_ratio as `maybe_aspect_ratio: enums::common::generation::common_aspect_ratio::CommonAspectRatio`,\n p.maybe_resolution as `maybe_resolution: enums::common::generation::common_resolution::CommonResolution`,\n p.maybe_batch_count as `maybe_batch_count: u8`,\n p.maybe_generate_audio as `maybe_generate_audio: bool`,\n p.maybe_duration_seconds as `maybe_duration_seconds: u32`,\n\n p.maybe_other_args,\n\n p.creator_ip_address,\n p.created_at\n\nFROM prompts as p\nWHERE\n p.token = ?\n ", "describe": { "columns": [ { @@ -125,6 +125,16 @@ }, { "ordinal": 12, + "name": "maybe_duration_seconds: u32", + "type_info": { + "type": "Long", + "flags": "UNSIGNED", + "char_set": 63, + "max_size": 10 + } + }, + { + "ordinal": 13, "name": "maybe_other_args", "type_info": { "type": "Blob", @@ -134,7 +144,7 @@ } }, { - "ordinal": 13, + "ordinal": 14, "name": "creator_ip_address", "type_info": { "type": "VarString", @@ -144,7 +154,7 @@ } }, { - "ordinal": 14, + "ordinal": 15, "name": "created_at", "type_info": { "type": "Timestamp", @@ -171,9 +181,10 @@ true, true, true, + true, false, false ] }, - "hash": "e674d80b86990bf3266eb81dd9445adf7a85646596c76ac975921c42a23005ea" + "hash": "4a50b7bf06061f05e769a41e547cb927bd2b3a6f67c8ceb37883b744237ba34c" } diff --git a/.sqlx/query-aa2f2e0b259e5512b16aa7c4db1d6e76b5313ed90ffeeed5d70ccaf2953b513f.json b/.sqlx/query-ccf92ebe0328d3019ac6b01be4b442df706a183362fa7e5c331f5a4bf1a74a00.json similarity index 63% rename from .sqlx/query-aa2f2e0b259e5512b16aa7c4db1d6e76b5313ed90ffeeed5d70ccaf2953b513f.json rename to .sqlx/query-ccf92ebe0328d3019ac6b01be4b442df706a183362fa7e5c331f5a4bf1a74a00.json index e989b0c4f9..c4f101dd57 100644 --- a/.sqlx/query-aa2f2e0b259e5512b16aa7c4db1d6e76b5313ed90ffeeed5d70ccaf2953b513f.json +++ b/.sqlx/query-ccf92ebe0328d3019ac6b01be4b442df706a183362fa7e5c331f5a4bf1a74a00.json @@ -1,12 +1,12 @@ { "db_name": "MySQL", - "query": "\nINSERT INTO prompts\nSET\n token = ?,\n prompt_type = ?,\n\n maybe_creator_user_token = ?,\n \n maybe_model_type = ?,\n maybe_generation_provider = ?,\n\n maybe_positive_prompt = ?,\n maybe_negative_prompt = ?,\n\n maybe_generation_mode = ?,\n maybe_aspect_ratio = ?,\n maybe_resolution = ?,\n maybe_batch_count = ?,\n maybe_generate_audio = ?,\n \n maybe_other_args = ?,\n\n creator_ip_address = ?\n ", + "query": "\nINSERT INTO prompts\nSET\n token = ?,\n prompt_type = ?,\n\n maybe_creator_user_token = ?,\n \n maybe_model_type = ?,\n maybe_generation_provider = ?,\n\n maybe_positive_prompt = ?,\n maybe_negative_prompt = ?,\n\n maybe_generation_mode = ?,\n maybe_aspect_ratio = ?,\n maybe_resolution = ?,\n maybe_batch_count = ?,\n maybe_generate_audio = ?,\n maybe_duration_seconds = ?,\n\n maybe_other_args = ?,\n\n creator_ip_address = ?\n ", "describe": { "columns": [], "parameters": { - "Right": 14 + "Right": 15 }, "nullable": [] }, - "hash": "aa2f2e0b259e5512b16aa7c4db1d6e76b5313ed90ffeeed5d70ccaf2953b513f" + "hash": "ccf92ebe0328d3019ac6b01be4b442df706a183362fa7e5c331f5a4bf1a74a00" } diff --git a/crates/api_clients/artcraft/artcraft_api_defs/src/prompts/create_prompt.rs b/crates/api_clients/artcraft/artcraft_api_defs/src/prompts/create_prompt.rs index 3d416c49b8..7e9d3298b5 100644 --- a/crates/api_clients/artcraft/artcraft_api_defs/src/prompts/create_prompt.rs +++ b/crates/api_clients/artcraft/artcraft_api_defs/src/prompts/create_prompt.rs @@ -40,6 +40,9 @@ pub struct CreatePromptRequest { /// OPTIONAL. Whether to generate audio. pub maybe_generate_audio: Option, + + /// OPTIONAL. The duration in seconds. + pub maybe_duration_seconds: Option, } #[derive(Serialize, Deserialize, ToSchema)] diff --git a/crates/api_clients/artcraft/artcraft_api_defs/src/prompts/get_prompt.rs b/crates/api_clients/artcraft/artcraft_api_defs/src/prompts/get_prompt.rs index 7a19590260..8eedbce967 100644 --- a/crates/api_clients/artcraft/artcraft_api_defs/src/prompts/get_prompt.rs +++ b/crates/api_clients/artcraft/artcraft_api_defs/src/prompts/get_prompt.rs @@ -72,6 +72,9 @@ pub struct PromptInfo { /// OPTIONAL. Whether to generate audio. pub maybe_generate_audio: Option, + /// OPTIONAL. The duration in seconds. + pub maybe_duration_seconds: Option, + /// Context images (optional) pub maybe_context_images: Option>, diff --git a/crates/desktop/artcraft/src/services/grok/threads/grok_image_websocket_thread/grok_image_websocket_thread.rs b/crates/desktop/artcraft/src/services/grok/threads/grok_image_websocket_thread/grok_image_websocket_thread.rs index e25ef9b455..ccef27783d 100644 --- a/crates/desktop/artcraft/src/services/grok/threads/grok_image_websocket_thread/grok_image_websocket_thread.rs +++ b/crates/desktop/artcraft/src/services/grok/threads/grok_image_websocket_thread/grok_image_websocket_thread.rs @@ -189,7 +189,7 @@ async fn upload_images_to_storyteller( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, - }; + maybe_duration_seconds: None, }; let prompt_response = create_prompt( &app_env_configs.storyteller_host, diff --git a/crates/desktop/artcraft/src/services/grok/threads/grok_video_task_polling/grok_video_task_polling_thread.rs b/crates/desktop/artcraft/src/services/grok/threads/grok_video_task_polling/grok_video_task_polling_thread.rs index 9693064db6..8e04929515 100644 --- a/crates/desktop/artcraft/src/services/grok/threads/grok_video_task_polling/grok_video_task_polling_thread.rs +++ b/crates/desktop/artcraft/src/services/grok/threads/grok_video_task_polling/grok_video_task_polling_thread.rs @@ -227,7 +227,7 @@ async fn upload_grok_video( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, - }; + maybe_duration_seconds: None, }; let prompt_response = create_prompt( &app_env_configs.storyteller_host, diff --git a/crates/desktop/artcraft/src/services/midjourney/threads/midjourney_long_polling_thread.rs b/crates/desktop/artcraft/src/services/midjourney/threads/midjourney_long_polling_thread.rs index f068412597..39819927fa 100644 --- a/crates/desktop/artcraft/src/services/midjourney/threads/midjourney_long_polling_thread.rs +++ b/crates/desktop/artcraft/src/services/midjourney/threads/midjourney_long_polling_thread.rs @@ -256,7 +256,7 @@ async fn upload_midjourney_batch( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, - }; + maybe_duration_seconds: None, }; let prompt_response = create_prompt( &app_env_configs.storyteller_host, diff --git a/crates/desktop/artcraft/src/services/sora/threads/sora_task_polling/helpers/handle_successful_generations.rs b/crates/desktop/artcraft/src/services/sora/threads/sora_task_polling/helpers/handle_successful_generations.rs index 37d13948d8..557bc23997 100644 --- a/crates/desktop/artcraft/src/services/sora/threads/sora_task_polling/helpers/handle_successful_generations.rs +++ b/crates/desktop/artcraft/src/services/sora/threads/sora_task_polling/helpers/handle_successful_generations.rs @@ -94,7 +94,7 @@ pub async fn handle_classic_successful_generations( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, - }; + maybe_duration_seconds: None, }; let prompt_response = create_prompt( &app_env_configs.storyteller_host, diff --git a/crates/schema/database/mysql_queries/src/queries/prompts/get_prompt.rs b/crates/schema/database/mysql_queries/src/queries/prompts/get_prompt.rs index 2d11585c3b..f25c8893d4 100644 --- a/crates/schema/database/mysql_queries/src/queries/prompts/get_prompt.rs +++ b/crates/schema/database/mysql_queries/src/queries/prompts/get_prompt.rs @@ -40,6 +40,7 @@ pub struct Prompt { pub maybe_resolution: Option, pub maybe_batch_count: Option, pub maybe_generate_audio: Option, + pub maybe_duration_seconds: Option, /// For moderators only pub creator_ip_address: Option, @@ -68,6 +69,7 @@ pub struct PromptRaw { pub maybe_resolution: Option, pub maybe_batch_count: Option, pub maybe_generate_audio: Option, + pub maybe_duration_seconds: Option, /// For moderators only pub creator_ip_address: Option, @@ -114,6 +116,7 @@ pub async fn get_prompt_from_connection( maybe_resolution: record.maybe_resolution, maybe_batch_count: record.maybe_batch_count, maybe_generate_audio: record.maybe_generate_audio, + maybe_duration_seconds: record.maybe_duration_seconds, maybe_other_args: record.maybe_other_args .as_deref() .map(|args| PromptInnerPayload::from_json(args)) @@ -148,6 +151,7 @@ SELECT p.maybe_resolution as `maybe_resolution: enums::common::generation::common_resolution::CommonResolution`, p.maybe_batch_count as `maybe_batch_count: u8`, p.maybe_generate_audio as `maybe_generate_audio: bool`, + p.maybe_duration_seconds as `maybe_duration_seconds: u32`, p.maybe_other_args, diff --git a/crates/schema/database/mysql_queries/src/queries/prompts/insert_prompt.rs b/crates/schema/database/mysql_queries/src/queries/prompts/insert_prompt.rs index f6c486792b..a1cec5b011 100644 --- a/crates/schema/database/mysql_queries/src/queries/prompts/insert_prompt.rs +++ b/crates/schema/database/mysql_queries/src/queries/prompts/insert_prompt.rs @@ -38,6 +38,7 @@ pub struct InsertPromptArgs<'e, 'c, E> pub maybe_resolution: Option, pub maybe_batch_count: Option, pub maybe_generate_audio: Option, + pub maybe_duration_seconds: Option, pub maybe_other_args: Option<&'e PromptInnerPayload>, @@ -90,7 +91,8 @@ SET maybe_resolution = ?, maybe_batch_count = ?, maybe_generate_audio = ?, - + maybe_duration_seconds = ?, + maybe_other_args = ?, creator_ip_address = ? @@ -107,6 +109,7 @@ SET args.maybe_resolution.map(|r| r.to_str()), args.maybe_batch_count, args.maybe_generate_audio, + args.maybe_duration_seconds, maybe_other_args, args.creator_ip_address, ); diff --git a/crates/service/job/deprecated/inference_job/src/job/job_types/image_generation/sd/process_job_inference.rs b/crates/service/job/deprecated/inference_job/src/job/job_types/image_generation/sd/process_job_inference.rs index 2e66cd0790..5fb2b45ff3 100644 --- a/crates/service/job/deprecated/inference_job/src/job/job_types/image_generation/sd/process_job_inference.rs +++ b/crates/service/job/deprecated/inference_job/src/job/job_types/image_generation/sd/process_job_inference.rs @@ -337,6 +337,7 @@ pub async fn process_job_inference( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &job.creator_ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/job/deprecated/inference_job/src/job/job_types/workflow/video_style_transfer/steps/validate_and_save_results.rs b/crates/service/job/deprecated/inference_job/src/job/job_types/workflow/video_style_transfer/steps/validate_and_save_results.rs index bdf2c2b373..b08c40de50 100644 --- a/crates/service/job/deprecated/inference_job/src/job/job_types/workflow/video_style_transfer/steps/validate_and_save_results.rs +++ b/crates/service/job/deprecated/inference_job/src/job/job_types/workflow/video_style_transfer/steps/validate_and_save_results.rs @@ -300,6 +300,7 @@ pub async fn validate_and_save_results(args: SaveResultsArgs<'_>) -> Result 4, }), maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/angle/qwen_edit_2511_edit_image_angle_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/angle/qwen_edit_2511_edit_image_angle_handler.rs index ec947bbc5e..4a07340394 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/angle/qwen_edit_2511_edit_image_angle_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/angle/qwen_edit_2511_edit_image_angle_handler.rs @@ -193,6 +193,7 @@ pub async fn qwen_edit_2511_edit_image_angle_handler( QwenEdit2511EditImageAngleNumImages::Four => 4, }), maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/flux_pro_kontext_max_edit_image_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/flux_pro_kontext_max_edit_image_handler.rs index ef63b5dadc..2a01b78174 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/flux_pro_kontext_max_edit_image_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/flux_pro_kontext_max_edit_image_handler.rs @@ -232,6 +232,7 @@ pub async fn flux_pro_kontext_max_edit_image_handler( maybe_resolution: None, maybe_batch_count, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/gemini_25_flash_edit_image_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/gemini_25_flash_edit_image_handler.rs index 47e886a02f..3496d8e526 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/gemini_25_flash_edit_image_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/gemini_25_flash_edit_image_handler.rs @@ -249,6 +249,7 @@ pub async fn gemini_25_flash_edit_image_handler( maybe_resolution: None, maybe_batch_count, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/gpt_image_1_edit_image_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/gpt_image_1_edit_image_handler.rs index 89f724fa3b..dd1bf1f03d 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/gpt_image_1_edit_image_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/gpt_image_1_edit_image_handler.rs @@ -279,6 +279,7 @@ pub async fn gpt_image_1_edit_image_handler( maybe_resolution: None, maybe_batch_count, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/qwen_edit_image_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/qwen_edit_image_handler.rs index 88b7150f3d..06b7225cfb 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/qwen_edit_image_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/qwen_edit_image_handler.rs @@ -223,6 +223,7 @@ pub async fn qwen_edit_image_handler( maybe_resolution: None, maybe_batch_count, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/seededit_3_edit_image_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/seededit_3_edit_image_handler.rs index 7a57b92ec5..7c74705abd 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/seededit_3_edit_image_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/edit/seededit_3_edit_image_handler.rs @@ -185,6 +185,7 @@ pub async fn seededit_3_edit_image_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/inpaint/flux_dev_juggernaut_inpaint_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/inpaint/flux_dev_juggernaut_inpaint_handler.rs index 4853509af2..2c5597865d 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/inpaint/flux_dev_juggernaut_inpaint_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/inpaint/flux_dev_juggernaut_inpaint_handler.rs @@ -228,6 +228,7 @@ pub async fn flux_dev_juggernaut_inpaint_image_handler( FluxDevJuggernautInpaintImageNumImages::Four => 4, }), maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/inpaint/flux_pro_1_inpaint_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/inpaint/flux_pro_1_inpaint_handler.rs index 8f712b2b88..622d248222 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/inpaint/flux_pro_1_inpaint_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/inpaint/flux_pro_1_inpaint_handler.rs @@ -228,6 +228,7 @@ pub async fn flux_pro_1_inpaint_image_handler( FluxPro1InpaintImageNumImages::Four => 4, }), maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/bytedance_seedream_5_lite_multi_function_image_gen_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/bytedance_seedream_5_lite_multi_function_image_gen_handler.rs index 5cb6518cea..a1b790efad 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/bytedance_seedream_5_lite_multi_function_image_gen_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/bytedance_seedream_5_lite_multi_function_image_gen_handler.rs @@ -265,6 +265,7 @@ pub async fn bytedance_seedream_5_lite_multi_function_image_gen_handler( maybe_resolution, maybe_batch_count, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/bytedance_seedream_v4_multi_function_image_gen_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/bytedance_seedream_v4_multi_function_image_gen_handler.rs index da63647f27..b4d8520751 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/bytedance_seedream_v4_multi_function_image_gen_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/bytedance_seedream_v4_multi_function_image_gen_handler.rs @@ -285,6 +285,7 @@ pub async fn bytedance_seedream_v4_multi_function_image_gen_handler( maybe_resolution: None, maybe_batch_count, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/bytedance_seedream_v4p5_multi_function_image_gen_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/bytedance_seedream_v4p5_multi_function_image_gen_handler.rs index 951f5228a2..ff4663612d 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/bytedance_seedream_v4p5_multi_function_image_gen_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/bytedance_seedream_v4p5_multi_function_image_gen_handler.rs @@ -282,6 +282,7 @@ pub async fn bytedance_seedream_v4p5_multi_function_image_gen_handler( maybe_resolution: None, maybe_batch_count, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/gpt_image_1p5_multi_function_image_gen_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/gpt_image_1p5_multi_function_image_gen_handler.rs index 0bbb934d11..77d4bc0fd7 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/gpt_image_1p5_multi_function_image_gen_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/gpt_image_1p5_multi_function_image_gen_handler.rs @@ -367,6 +367,7 @@ pub async fn gpt_image_1p5_multi_function_image_gen_handler( maybe_resolution: None, maybe_batch_count, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/nano_banana_2_multi_function_image_gen_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/nano_banana_2_multi_function_image_gen_handler.rs index 538cf2880d..b8a3ab7286 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/nano_banana_2_multi_function_image_gen_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/nano_banana_2_multi_function_image_gen_handler.rs @@ -295,6 +295,7 @@ pub async fn nano_banana_2_multi_function_image_gen_handler( maybe_resolution, maybe_batch_count, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/nano_banana_multi_function_image_gen_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/nano_banana_multi_function_image_gen_handler.rs index 4c79bb1d30..e3e65e2afe 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/nano_banana_multi_function_image_gen_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/nano_banana_multi_function_image_gen_handler.rs @@ -318,6 +318,7 @@ pub async fn nano_banana_multi_function_image_gen_handler( maybe_resolution: None, maybe_batch_count, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/nano_banana_pro_multi_function_image_gen_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/nano_banana_pro_multi_function_image_gen_handler.rs index c61c339f1f..21c4d2d68a 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/nano_banana_pro_multi_function_image_gen_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/multi_function/nano_banana_pro_multi_function_image_gen_handler.rs @@ -341,6 +341,7 @@ pub async fn nano_banana_pro_multi_function_image_gen_handler( maybe_resolution, maybe_batch_count, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_flux_1_dev_text_to_image_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_flux_1_dev_text_to_image_handler.rs index b61c6f1208..ac010f17e0 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_flux_1_dev_text_to_image_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_flux_1_dev_text_to_image_handler.rs @@ -223,6 +223,7 @@ pub async fn generate_flux_1_dev_text_to_image_handler( maybe_resolution: None, maybe_batch_count, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), @@ -308,6 +309,7 @@ async fn insert_mock_failure_job( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_flux_1_schnell_text_to_image_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_flux_1_schnell_text_to_image_handler.rs index 5aca251637..19e4031a9e 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_flux_1_schnell_text_to_image_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_flux_1_schnell_text_to_image_handler.rs @@ -203,6 +203,7 @@ pub async fn generate_flux_1_schnell_text_to_image_handler( maybe_resolution: None, maybe_batch_count, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_flux_pro_11_text_to_image_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_flux_pro_11_text_to_image_handler.rs index 353b059b50..71034c7481 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_flux_pro_11_text_to_image_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_flux_pro_11_text_to_image_handler.rs @@ -186,6 +186,7 @@ pub async fn generate_flux_pro_11_text_to_image_handler( maybe_resolution: None, maybe_batch_count, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_flux_pro_11_ultra_text_to_image_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_flux_pro_11_ultra_text_to_image_handler.rs index b8922534f2..0e994fcfda 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_flux_pro_11_ultra_text_to_image_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_flux_pro_11_ultra_text_to_image_handler.rs @@ -194,6 +194,7 @@ pub async fn generate_flux_pro_11_ultra_text_to_image_handler( maybe_resolution: None, maybe_batch_count, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_gpt_image_1_text_to_image_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_gpt_image_1_text_to_image_handler.rs index a16af7d787..a7c08c93aa 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_gpt_image_1_text_to_image_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/image/text/generate_gpt_image_1_text_to_image_handler.rs @@ -230,6 +230,7 @@ pub async fn generate_gpt_image_1_text_to_image_handler( maybe_resolution: None, maybe_batch_count, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/generate_hunyuan_2_0_image_to_3d_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/generate_hunyuan_2_0_image_to_3d_handler.rs index 7ff3063076..7cbe9474bd 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/generate_hunyuan_2_0_image_to_3d_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/generate_hunyuan_2_0_image_to_3d_handler.rs @@ -173,6 +173,7 @@ pub async fn generate_hunyuan_2_0_image_to_3d_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/generate_hunyuan_2_1_image_to_3d_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/generate_hunyuan_2_1_image_to_3d_handler.rs index f37fcd48bb..9a88dc4a49 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/generate_hunyuan_2_1_image_to_3d_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/generate_hunyuan_2_1_image_to_3d_handler.rs @@ -172,6 +172,7 @@ pub async fn generate_hunyuan_2_1_image_to_3d_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/multi_function/generate_hunyuan3d_v3_multi_function_object_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/multi_function/generate_hunyuan3d_v3_multi_function_object_handler.rs index c8dd545877..d088e15d16 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/multi_function/generate_hunyuan3d_v3_multi_function_object_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/multi_function/generate_hunyuan3d_v3_multi_function_object_handler.rs @@ -312,6 +312,7 @@ pub async fn generate_hunyuan3d_v3_multi_function_object_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/splat/generate_worldlabs_marble_0p1_mini_splat_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/splat/generate_worldlabs_marble_0p1_mini_splat_handler.rs index a97f4bb651..0f1a3ea884 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/splat/generate_worldlabs_marble_0p1_mini_splat_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/splat/generate_worldlabs_marble_0p1_mini_splat_handler.rs @@ -185,6 +185,7 @@ pub async fn generate_worldlabs_marble_0p1_mini_splat_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/splat/generate_worldlabs_marble_0p1_plus_splat_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/splat/generate_worldlabs_marble_0p1_plus_splat_handler.rs index 5a25eb523d..13a8bfbb73 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/splat/generate_worldlabs_marble_0p1_plus_splat_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/splat/generate_worldlabs_marble_0p1_plus_splat_handler.rs @@ -185,6 +185,7 @@ pub async fn generate_worldlabs_marble_0p1_plus_splat_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, + maybe_duration_seconds: None, creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), 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 883676b400..3f619babb6 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 @@ -232,6 +232,10 @@ pub async fn generate_kling_1_6_pro_video_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, + maybe_duration_seconds: request.duration.as_ref().map(|d| match d { + GenerateKling16ProDuration::FiveSeconds => 5, + GenerateKling16ProDuration::TenSeconds => 10, + }), creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), 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 76a6381be1..84d0763ce5 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 @@ -219,6 +219,10 @@ pub async fn generate_kling_2_1_master_video_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, + maybe_duration_seconds: request.duration.as_ref().map(|d| match d { + GenerateKling21MasterDuration::FiveSeconds => 5, + GenerateKling21MasterDuration::TenSeconds => 10, + }), creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), 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 9e4f1e479f..8ee7bdb69d 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 @@ -234,6 +234,10 @@ pub async fn generate_kling_2_1_pro_video_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, + maybe_duration_seconds: request.duration.as_ref().map(|d| match d { + GenerateKling21ProDuration::FiveSeconds => 5, + GenerateKling21ProDuration::TenSeconds => 10, + }), creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), 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 2e72083ba8..1a078265a0 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 @@ -253,6 +253,10 @@ pub async fn generate_seedance_1_0_lite_image_to_video_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, + maybe_duration_seconds: request.duration.as_ref().map(|d| match d { + GenerateSeedance10LiteDuration::FiveSeconds => 5, + GenerateSeedance10LiteDuration::TenSeconds => 10, + }), creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_seedance_1_0_pro_image_to_video_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_seedance_1_0_pro_image_to_video_handler.rs index 54be667ec6..35347e6371 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_seedance_1_0_pro_image_to_video_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_seedance_1_0_pro_image_to_video_handler.rs @@ -221,6 +221,18 @@ pub async fn generate_seedance_1_0_pro_image_to_video_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, + maybe_duration_seconds: request.duration.as_ref().map(|d| match d { + GenerateSeedance10ProDuration::ThreeSeconds => 3, + GenerateSeedance10ProDuration::FourSeconds => 4, + GenerateSeedance10ProDuration::FiveSeconds => 5, + GenerateSeedance10ProDuration::SixSeconds => 6, + GenerateSeedance10ProDuration::SevenSeconds => 7, + GenerateSeedance10ProDuration::EightSeconds => 8, + GenerateSeedance10ProDuration::NineSeconds => 9, + GenerateSeedance10ProDuration::TenSeconds => 10, + GenerateSeedance10ProDuration::ElevenSeconds => 11, + GenerateSeedance10ProDuration::TwelveSeconds => 12, + }), creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), 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 c66cd8d134..ed9f49d3b4 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 @@ -231,6 +231,12 @@ pub async fn generate_veo_2_image_to_video_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, + maybe_duration_seconds: request.duration.as_ref().map(|d| match d { + GenerateVeo2Duration::FiveSeconds => 5, + GenerateVeo2Duration::SixSeconds => 6, + GenerateVeo2Duration::SevenSeconds => 7, + GenerateVeo2Duration::EightSeconds => 8, + }), creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_veo_3_fast_image_to_video_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_veo_3_fast_image_to_video_handler.rs index 89c7013070..5db8ef355b 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_veo_3_fast_image_to_video_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/image/generate_veo_3_fast_image_to_video_handler.rs @@ -218,6 +218,9 @@ pub async fn generate_veo_3_fast_image_to_video_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: Some(generate_audio), + maybe_duration_seconds: request.duration.as_ref().map(|d| match d { + GenerateVeo3FastDuration::EightSeconds => 8, + }), creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), 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 ec6bb349ff..8655d3ceda 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 @@ -231,6 +231,9 @@ pub async fn generate_veo_3_image_to_video_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: Some(generate_audio), + maybe_duration_seconds: request.duration.as_ref().map(|d| match d { + GenerateVeo3Duration::EightSeconds => 8, + }), creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/kling_2p5_turbo_pro_multi_function_video_gen_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/kling_2p5_turbo_pro_multi_function_video_gen_handler.rs index 20b95253e9..0522dfa560 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/kling_2p5_turbo_pro_multi_function_video_gen_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/kling_2p5_turbo_pro_multi_function_video_gen_handler.rs @@ -277,6 +277,10 @@ pub async fn kling_2p5_turbo_pro_multi_function_video_gen_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, + maybe_duration_seconds: request.duration.as_ref().map(|d| match d { + Kling2p5TurboProMultiFunctionVideoGenDuration::FiveSeconds => 5, + Kling2p5TurboProMultiFunctionVideoGenDuration::TenSeconds => 10, + }), creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/kling_2p6_pro_multi_function_video_gen_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/kling_2p6_pro_multi_function_video_gen_handler.rs index 2b5eb4b2ea..dedaac4d6a 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/kling_2p6_pro_multi_function_video_gen_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/kling_2p6_pro_multi_function_video_gen_handler.rs @@ -274,6 +274,10 @@ pub async fn kling_2p6_pro_multi_function_video_gen_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: request.generate_audio, + maybe_duration_seconds: request.duration.as_ref().map(|d| match d { + Kling2p6ProMultiFunctionVideoGenDuration::FiveSeconds => 5, + Kling2p6ProMultiFunctionVideoGenDuration::TenSeconds => 10, + }), creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/kling_3p0_pro_multi_function_video_gen_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/kling_3p0_pro_multi_function_video_gen_handler.rs index ab1777674d..3dac9bbefa 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/kling_3p0_pro_multi_function_video_gen_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/kling_3p0_pro_multi_function_video_gen_handler.rs @@ -268,6 +268,21 @@ pub async fn kling_3p0_pro_multi_function_video_gen_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: Some(generate_audio), + maybe_duration_seconds: request.duration.as_ref().map(|d| match d { + Kling3p0ProMultiFunctionVideoGenDuration::ThreeSeconds => 3, + Kling3p0ProMultiFunctionVideoGenDuration::FourSeconds => 4, + Kling3p0ProMultiFunctionVideoGenDuration::FiveSeconds => 5, + Kling3p0ProMultiFunctionVideoGenDuration::SixSeconds => 6, + Kling3p0ProMultiFunctionVideoGenDuration::SevenSeconds => 7, + Kling3p0ProMultiFunctionVideoGenDuration::EightSeconds => 8, + Kling3p0ProMultiFunctionVideoGenDuration::NineSeconds => 9, + Kling3p0ProMultiFunctionVideoGenDuration::TenSeconds => 10, + Kling3p0ProMultiFunctionVideoGenDuration::ElevenSeconds => 11, + Kling3p0ProMultiFunctionVideoGenDuration::TwelveSeconds => 12, + Kling3p0ProMultiFunctionVideoGenDuration::ThirteenSeconds => 13, + Kling3p0ProMultiFunctionVideoGenDuration::FourteenSeconds => 14, + Kling3p0ProMultiFunctionVideoGenDuration::FifteenSeconds => 15, + }), creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/kling_3p0_standard_multi_function_video_gen_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/kling_3p0_standard_multi_function_video_gen_handler.rs index faf266d2ba..cbaa4fa27a 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/kling_3p0_standard_multi_function_video_gen_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/kling_3p0_standard_multi_function_video_gen_handler.rs @@ -268,6 +268,21 @@ pub async fn kling_3p0_standard_multi_function_video_gen_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: Some(generate_audio), + maybe_duration_seconds: request.duration.as_ref().map(|d| match d { + Kling3p0StandardMultiFunctionVideoGenDuration::ThreeSeconds => 3, + Kling3p0StandardMultiFunctionVideoGenDuration::FourSeconds => 4, + Kling3p0StandardMultiFunctionVideoGenDuration::FiveSeconds => 5, + Kling3p0StandardMultiFunctionVideoGenDuration::SixSeconds => 6, + Kling3p0StandardMultiFunctionVideoGenDuration::SevenSeconds => 7, + Kling3p0StandardMultiFunctionVideoGenDuration::EightSeconds => 8, + Kling3p0StandardMultiFunctionVideoGenDuration::NineSeconds => 9, + Kling3p0StandardMultiFunctionVideoGenDuration::TenSeconds => 10, + Kling3p0StandardMultiFunctionVideoGenDuration::ElevenSeconds => 11, + Kling3p0StandardMultiFunctionVideoGenDuration::TwelveSeconds => 12, + Kling3p0StandardMultiFunctionVideoGenDuration::ThirteenSeconds => 13, + Kling3p0StandardMultiFunctionVideoGenDuration::FourteenSeconds => 14, + Kling3p0StandardMultiFunctionVideoGenDuration::FifteenSeconds => 15, + }), creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), 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 4f375803e4..9a4c3b2378 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 @@ -259,6 +259,17 @@ pub async fn seedance_1p5_pro_multi_function_video_gen_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: Some(generate_audio), + maybe_duration_seconds: request.duration.as_ref().map(|d| match d { + Seedance1p5ProMultiFunctionVideoGenDuration::FourSeconds => 4, + Seedance1p5ProMultiFunctionVideoGenDuration::FiveSeconds => 5, + Seedance1p5ProMultiFunctionVideoGenDuration::SixSeconds => 6, + Seedance1p5ProMultiFunctionVideoGenDuration::SevenSeconds => 7, + Seedance1p5ProMultiFunctionVideoGenDuration::EightSeconds => 8, + Seedance1p5ProMultiFunctionVideoGenDuration::NineSeconds => 9, + Seedance1p5ProMultiFunctionVideoGenDuration::TenSeconds => 10, + Seedance1p5ProMultiFunctionVideoGenDuration::ElevenSeconds => 11, + Seedance1p5ProMultiFunctionVideoGenDuration::TwelveSeconds => 12, + }), creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/seedance_2p0_multi_function_video_gen_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/seedance_2p0_multi_function_video_gen_handler.rs index ae72e9dd3f..46b9268201 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/seedance_2p0_multi_function_video_gen_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/seedance_2p0_multi_function_video_gen_handler.rs @@ -305,6 +305,7 @@ pub async fn seedance_2p0_multi_function_video_gen_handler( Seedance2p0BatchCount::Four => 4, }), maybe_generate_audio: None, + maybe_duration_seconds: request.duration_seconds.map(|d| d as u32), creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/sora_2_multi_function_video_gen_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/sora_2_multi_function_video_gen_handler.rs index 69f4965abd..e807dae56a 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/sora_2_multi_function_video_gen_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/sora_2_multi_function_video_gen_handler.rs @@ -294,6 +294,11 @@ pub async fn sora_2_multi_function_video_gen_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, + maybe_duration_seconds: request.duration.as_ref().map(|d| match d { + Sora2MultiFunctionVideoGenDuration::FourSeconds => 4, + Sora2MultiFunctionVideoGenDuration::EightSeconds => 8, + Sora2MultiFunctionVideoGenDuration::TwelveSeconds => 12, + }), creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/sora_2_pro_multi_function_video_gen_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/sora_2_pro_multi_function_video_gen_handler.rs index ce83f13a13..b844a1275a 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/sora_2_pro_multi_function_video_gen_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/sora_2_pro_multi_function_video_gen_handler.rs @@ -296,6 +296,11 @@ pub async fn sora_2_pro_multi_function_video_gen_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: None, + maybe_duration_seconds: request.duration.as_ref().map(|d| match d { + Sora2ProMultiFunctionVideoGenDuration::FourSeconds => 4, + Sora2ProMultiFunctionVideoGenDuration::EightSeconds => 8, + Sora2ProMultiFunctionVideoGenDuration::TwelveSeconds => 12, + }), creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), 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 b0ad0088c6..acbea8f541 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 @@ -360,6 +360,11 @@ pub async fn veo_3p1_fast_multi_function_video_gen_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: Some(generate_audio), + maybe_duration_seconds: request.duration.as_ref().map(|d| match d { + Veo3p1FastMultiFunctionVideoGenDuration::FourSeconds => 4, + Veo3p1FastMultiFunctionVideoGenDuration::SixSeconds => 6, + Veo3p1FastMultiFunctionVideoGenDuration::EightSeconds => 8, + }), creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/veo_3p1_multi_function_video_gen_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/veo_3p1_multi_function_video_gen_handler.rs index e540552225..a28fc4c3bc 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/veo_3p1_multi_function_video_gen_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/video/multi_function/veo_3p1_multi_function_video_gen_handler.rs @@ -360,6 +360,11 @@ pub async fn veo_3p1_multi_function_video_gen_handler( maybe_resolution: None, maybe_batch_count: None, maybe_generate_audio: Some(generate_audio), + maybe_duration_seconds: request.duration.as_ref().map(|d| match d { + Veo3p1MultiFunctionVideoGenDuration::FourSeconds => 4, + Veo3p1MultiFunctionVideoGenDuration::SixSeconds => 6, + Veo3p1MultiFunctionVideoGenDuration::EightSeconds => 8, + }), creator_ip_address: &ip_address, mysql_executor: &mut *transaction, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/prompts/create_prompt_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/prompts/create_prompt_handler.rs index 5b05efd72b..e51fce94d5 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/prompts/create_prompt_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/prompts/create_prompt_handler.rs @@ -85,6 +85,7 @@ pub async fn create_prompt_handler( maybe_resolution: request.maybe_resolution, maybe_batch_count: request.maybe_batch_count, maybe_generate_audio: request.maybe_generate_audio, + maybe_duration_seconds: request.maybe_duration_seconds, creator_ip_address: &ip_address, mysql_executor: &mut *mysql_connection, phantom: Default::default(), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/prompts/get_prompt_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/prompts/get_prompt_handler.rs index 4b171ba4d0..7ab383cbfa 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/prompts/get_prompt_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/prompts/get_prompt_handler.rs @@ -223,6 +223,7 @@ pub async fn get_prompt_handler( maybe_resolution: result.maybe_resolution, maybe_batch_count: result.maybe_batch_count, maybe_generate_audio: result.maybe_generate_audio, + maybe_duration_seconds: result.maybe_duration_seconds, maybe_context_images, maybe_travel_prompt, maybe_style_name,