diff --git a/crates/lib/mysql_queries/src/payloads/generic_inference_args/workflow_payload.rs b/crates/lib/mysql_queries/src/payloads/generic_inference_args/workflow_payload.rs index 139c09d778..08f1795048 100644 --- a/crates/lib/mysql_queries/src/payloads/generic_inference_args/workflow_payload.rs +++ b/crates/lib/mysql_queries/src/payloads/generic_inference_args/workflow_payload.rs @@ -123,6 +123,12 @@ pub struct WorkflowArgs { #[serde(skip_serializing_if = "Option::is_none")] pub negative_prompt: Option, + // Optional global IP Adapter image media file token + // This will apply to the entire workflow / video + #[serde(rename = "gi")] + #[serde(skip_serializing_if = "Option::is_none")] + pub global_ip_adapter_token: Option, + #[deprecated(note = "Use `lipsync_enabled` instead")] #[serde(rename = "el")] #[serde(skip_serializing_if = "Option::is_none")] diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/workflows/enqueue_comfy_ui_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/workflows/enqueue_comfy_ui_handler.rs index 2f8415db6c..d0e4a1f50b 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/workflows/enqueue_comfy_ui_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/workflows/enqueue_comfy_ui_handler.rs @@ -277,6 +277,7 @@ pub async fn enqueue_comfy_ui_handler( trim_end_milliseconds: None, positive_prompt: None, negative_prompt: None, + global_ip_adapter_token: None, enable_lipsync: None, rollout_python_workflow_args: get_request_header_optional(&http_request, "PYTHON-WORKFLOW-ARGS") .map(|value| str_to_bool(&value)), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/workflows/enqueue_video_style_transfer_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/workflows/enqueue_video_style_transfer_handler.rs index f7468d8b18..09c79a2ae3 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/workflows/enqueue_video_style_transfer_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/workflows/enqueue_video_style_transfer_handler.rs @@ -120,10 +120,9 @@ pub struct EnqueueVideoStyleTransferRequest { /// Optional visibility setting override. creator_set_visibility: Option, - // TODO(bt,2024-05-13): Plumb this through to jobs. /// Optional Global IP-Adapter image. /// The underlying media file must be an image. - ipa_media_token: Option, + global_ipa_media_token: Option, } #[derive(Serialize, ToSchema)] @@ -354,8 +353,10 @@ pub async fn enqueue_video_style_transfer_handler( trim_end_milliseconds: Some(trim_end_millis), positive_prompt: request.prompt.new_string_trim_or_empty(), negative_prompt: request.negative_prompt.new_string_trim_or_empty(), + global_ip_adapter_token: request.global_ipa_media_token.as_ref().map(|t| t.clone()), strength: maybe_strength, + // Flags disable_lcm: coordinated_args.disable_lcm, use_cinematic: coordinated_args.use_cinematic, use_face_detailer: coordinated_args.use_face_detailer, diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/workflows/enqueue_workflow_upload_request.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/workflows/enqueue_workflow_upload_request.rs index 16b9342719..40dd7e7ebb 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/workflows/enqueue_workflow_upload_request.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/workflows/enqueue_workflow_upload_request.rs @@ -246,6 +246,7 @@ pub async fn enqueue_workflow_upload_request( trim_end_milliseconds: None, positive_prompt: None, negative_prompt: None, + global_ip_adapter_token: None, enable_lipsync: None, rollout_python_workflow_args: get_request_header_optional(&http_request, "PYTHON-WORKFLOW-ARGS") .map(|value| str_to_bool(&value)),