Skip to main content
Apply a realistic shadow to the subject.
https://fapihub.com/v2/rembg/gradient/

Result

Image
Image

Headers

ApiKey
string
required
Your API token.

Body

image
file
required
The image file to process. Send as multipart form data.
shadow_color
string
required
Shadow color in RGB format.
offset
string
required
Offset in pixels (x, y).
blur_radius
integer
required
Blur radius for the shadow.

Code Samples

curl -X POST "https://fapihub.com/v2/rembg/shadow/" \
  -H "ApiKey: API_TOKEN" \
  -F "image=@image.jpg" \
  -F "shadow_color=(0, 0, 0, 150)" \
  -F "offset=(10, 10)" \
  -F "blur_radius=15"
import requests

response = requests.post(
    "https://fapihub.com/v2/rembg/shadow/",
    headers={"ApiKey": "your_api_token"},
    files={"image": open("image.jpg", "rb")},
    data={
        "shadow_color": "(0, 0, 0, 150)", 
        "offset": "(10, 10)", 
        "blur_radius": 15
    }
)

if response.status_code == 200:
    with open("shadowed.png", "wb") as f:
        f.write(response.content)
const formData = new FormData();
formData.append("image", fileInput.files[0]);
formData.append("shadow_color", "(0, 0, 0, 150)");
formData.append("offset", "(10, 10)");
formData.append("blur_radius", 15);

fetch("https://fapihub.com/v2/rembg/shadow/", {
  method: "POST",
  headers: { "ApiKey": "your_api_token" },
  body: formData
})
.then(response => response.blob())
.then(blob => {
  const url = window.URL.createObjectURL(blob);
  const a = document.createElement("a");
  a.href = url;
  a.download = "shadowed.png";
  a.click();
});
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => "https://fapihub.com/v2/rembg/shadow/",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => ["ApiKey: your_api_token"],
  CURLOPT_POSTFIELDS => [
    "image" => new CURLFile("image.jpg"),
    "shadow_color" => "(0, 0, 0, 150)",
    "offset" => "(10, 10)",
    "blur_radius" => 15
  ]
]);
$response = curl_exec($curl);
file_put_contents("shadowed.png", $response);
curl_close($curl);
?>

Responses

Binary image data (the processed image with background removed)
{
  "error": {
    "code": "invalid_image",
    "message": "The uploaded file is not a valid image format",
    "request_id": "req_abc123"
  }
}
{
  "error": {
    "code": "invalid_api_key",
    "message": "The provided API key is invalid or expired",
    "request_id": "req_abc123"
  }
}
{
  "error": {
    "code": "insufficient_credits",
    "message": "Your account has insufficient credits. Please upgrade your plan.",
    "request_id": "req_abc123"
  }
}
{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Too many requests. Please wait before making more requests.",
    "request_id": "req_abc123",
    "retry_after": 60
  }
}