diff --git a/crates/api_clients/fal_client/src/requests/http/image/background/http_rembg_remove_background.rs b/crates/api_clients/fal_client/src/requests/http/image/background/http_rembg_remove_background.rs new file mode 100644 index 0000000000..34382b51de --- /dev/null +++ b/crates/api_clients/fal_client/src/requests/http/image/background/http_rembg_remove_background.rs @@ -0,0 +1,29 @@ +use fal::request::FalRequest; +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Serialize, Deserialize, Default)] +pub struct RembgRemoveBackgroundInput { + pub image_url: String, + + #[serde(skip_serializing_if = "Option::is_none")] + pub crop_to_bbox: Option, + + #[serde(skip_serializing_if = "Option::is_none")] + pub sync_mode: Option, +} + +#[derive(Debug, Serialize, Deserialize)] +pub struct RembgRemoveBackgroundFile { + pub url: String, +} + +#[derive(Debug, Serialize, Deserialize)] +pub struct RembgRemoveBackgroundOutput { + pub image: RembgRemoveBackgroundFile, +} + +pub fn rembg_remove_background( + params: RembgRemoveBackgroundInput, +) -> FalRequest { + FalRequest::new("fal-ai/imageutils/rembg", params) +} diff --git a/crates/api_clients/fal_client/src/requests/http/image/background/mod.rs b/crates/api_clients/fal_client/src/requests/http/image/background/mod.rs index e69de29bb2..3aad3bc754 100644 --- a/crates/api_clients/fal_client/src/requests/http/image/background/mod.rs +++ b/crates/api_clients/fal_client/src/requests/http/image/background/mod.rs @@ -0,0 +1 @@ +pub mod http_rembg_remove_background; diff --git a/crates/api_clients/fal_client/src/requests/webhook/image/background/remove_background_rembg_webhook.rs b/crates/api_clients/fal_client/src/requests/webhook/image/background/remove_background_rembg_webhook.rs index 3cdb900dcc..da80e8988d 100644 --- a/crates/api_clients/fal_client/src/requests/webhook/image/background/remove_background_rembg_webhook.rs +++ b/crates/api_clients/fal_client/src/requests/webhook/image/background/remove_background_rembg_webhook.rs @@ -1,7 +1,7 @@ use crate::creds::fal_api_key::FalApiKey; use crate::error::classify_fal_error::classify_fal_error; use crate::error::fal_error_plus::FalErrorPlus; -use fal::endpoints::fal_ai::imageutils::rembg::{rembg, RemoveBackgroundInput}; +use crate::requests::http::image::background::http_rembg_remove_background::{rembg_remove_background, RembgRemoveBackgroundInput}; use fal::webhook::WebhookResponse; use reqwest::IntoUrl; @@ -17,13 +17,13 @@ pub async fn remove_background_rembg_webhook( let image_url = args.image_url.into_url()?; - let request = RemoveBackgroundInput { + let request = RembgRemoveBackgroundInput { image_url: image_url.to_string(), crop_to_bbox: None, sync_mode: None }; - let result = rembg(request) + let result = rembg_remove_background(request) .with_api_key(&args.api_key.0) .queue_webhook(args.webhook_url) .await;