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 0d4ce2e79..6202e1380 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 e989b0c4f..c4f101dd5 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 3d416c49b..7e9d3298b 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 7a1959026..8eedbce96 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 e25ef9b45..ccef27783 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 9693064db..8e0492951 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 f06841259..39819927f 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 37d13948d..557bc2399 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 2d11585c3..f25c8893d 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 f6c486792..a1cec5b01 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 2e66cd079..5fb2b45ff 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 bdf2c2b37..b08c40de5 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 ec947bbc5..4a0734039 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 ef63b5dad..2a01b7817 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 47e886a02..3496d8e52 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 89f724fa3..dd1bf1f03 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 88b7150f3..06b7225cf 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 7a57b92ec..7c74705ab 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 4853509af..2c5597865 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 8f712b2b8..622d24822 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 5cb6518ce..a1b790efa 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 da63647f2..b4d852075 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 951f5228a..ff4663612 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 0bbb934d1..77d4bc0fd 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 538cf2880..b8a3ab728 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 4c79bb1d3..e3e65e2af 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 c61c339f1..21c4d2d68 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 b61c6f120..ac010f17e 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 5aca25163..19e4031a9 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 353b059b5..71034c748 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 b8922534f..0e994fcfd 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 a16af7d78..a7c08c93a 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 7ff306307..7cbe9474b 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 f37fcd48b..9a88dc4a4 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 c8dd54587..d088e15d1 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 a97f4bb65..0f1a3ea88 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 5a25eb523..13a8bfbb7 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 883676b40..3f619babb 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 76a6381be..84d0763ce 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 9e4f1e479..8ee7bdb69 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 2e72083ba..1a078265a 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 54be667ec..35347e637 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 c66cd8d13..ed9f49d3b 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 89c701307..5db8ef355 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 ec6bb349f..8655d3ced 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 20b95253e..0522dfa56 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 2b5eb4b2e..dedaac4d6 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 ab1777674..3dac9bbef 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 faf266d2b..cbaa4fa27 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 4f375803e..9a4c3b237 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 ae72e9dd3..46b926820 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 69f4965ab..e807dae56 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 ce83f13a1..b844a1275 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 b0ad0088c..acbea8f54 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 e54055222..a28fc4c3b 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 5b05efd72..e51fce94d 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 4b171ba4d..7ab383cbf 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,