Gepetto
Back to GepettoBlog
  • INTRODUCTION
    • Overview
    • Getting Started
    • Rate limiting
    • Pricing
    • Cold boots
    • Server Status
  • Endpoints
    • Redesign
    • Furnish
    • Smart Staging 🔮
    • Smart Staging v2 🔮
    • Sunshine ☀️
    • Declutter 🩹
    • Magic Enhancer ✨
    • Upscale
    • Get Styles
    • Get Skies
    • Get Rooms
    • Get Job
  • Webhooks
Powered by GitBook
On this page
  • Endpoint
  • Code Examples
  • Results

Was this helpful?

  1. Endpoints

Declutter 🩹

Declutter mode allows you to remove the desired objects from a picture.

Endpoint

POST https://europe-west1-gepettoai.cloudfunctions.net/v1/declutter

Headers

Name
Type
Description

Authorization*

String

Bearer {{API_KEY}}

Request Body

Name
Type
Description

url*

String

Image URL.

mask*

String

webhook

String

(optional) Webhook POST URL to send the result on completion. If not provided, the request will wait for the result.

{
  "base64": "<base64 encoded image>",
  "status": "success"
}
{
  "status": "pending",
  "id": "xxxxxxxxxxxxxx", // You can use that id with Get Job
  "skyId": "your_style"
  "mode": "sunshine"
}

Code Examples

curl --location 'https://europe-west1-gepettoai.cloudfunctions.net/v1/decluter' \
--header 'Authorization: Bearer {{API_KEY}}' \
--header 'Content-Type: application/json' \
--data '{
  "url": "https://firebasestorage.googleapis.com/v0/b/gepettoai.appspot.com/o/raw-images%2F49d4311f-2d8e-459b-97c0-5543c544a2f0.jpeg?alt=media&token=6761e09c-bf49-4b34-9606-bc4ee9909d87",
  "mask": "https://firebasestorage.googleapis.com/v0/b/gepettoai.appspot.com/o/mask%2F268179cb-b5c7-46e3-81e8-4453a7aec8b8.jpeg?alt=media&token=f4faa70d-83a7-447d-802d-29b016ef3027"
}'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer {{API_KEY}}");
myHeaders.append("Content-Type", "application/json");

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: JSON.stringify({
    "url": "https://firebasestorage.googleapis.com/v0/b/gepettoai.appspot.com/o/raw-images%2F49d4311f-2d8e-459b-97c0-5543c544a2f0.jpeg?alt=media&token=6761e09c-bf49-4b34-9606-bc4ee9909d87",
    "mask": "https://firebasestorage.googleapis.com/v0/b/gepettoai.appspot.com/o/mask%2F268179cb-b5c7-46e3-81e8-4453a7aec8b8.jpeg?alt=media&token=f4faa70d-83a7-447d-802d-29b016ef3027"
  })
};

const response = await fetch("https://europe-west1-gepettoai.cloudfunctions.net/v1/declutter", requestOptions)
const body = await reponse.json();
console.log(body)
import requests
import json

url = "https://europe-west1-gepettoai.cloudfunctions.net/v1/declutter"

payload = json.dumps({
  "url": "https://firebasestorage.googleapis.com/v0/b/gepettoai.appspot.com/o/raw-images%2F49d4311f-2d8e-459b-97c0-5543c544a2f0.jpeg?alt=media&token=6761e09c-bf49-4b34-9606-bc4ee9909d87",
  "mask": "https://firebasestorage.googleapis.com/v0/b/gepettoai.appspot.com/o/mask%2F268179cb-b5c7-46e3-81e8-4453a7aec8b8.jpeg?alt=media&token=f4faa70d-83a7-447d-802d-29b016ef3027"
})
headers = {
  'Authorization': 'Bearer {{API_KEY}}',
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php
$client = new Client();
$headers = [
  'Authorization' => 'Bearer {{API_KEY}}',
  'Content-Type' => 'application/json'
];
$body = '{
  "url": "https://firebasestorage.googleapis.com/v0/b/gepettoai.appspot.com/o/raw-images%2F49d4311f-2d8e-459b-97c0-5543c544a2f0.jpeg?alt=media&token=6761e09c-bf49-4b34-9606-bc4ee9909d87",
  "mask": "https://firebasestorage.googleapis.com/v0/b/gepettoai.appspot.com/o/mask%2F268179cb-b5c7-46e3-81e8-4453a7aec8b8.jpeg?alt=media&token=f4faa70d-83a7-447d-802d-29b016ef3027"
}';
$request = new Request('POST', 'https://europe-west1-gepettoai.cloudfunctions.net/v1/declutter', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://europe-west1-gepettoai.cloudfunctions.net/v1/declutter"
  method := "POST"

  payload := strings.NewReader(`{
    "url": "https://firebasestorage.googleapis.com/v0/b/gepettoai.appspot.com/o/raw-images%2F49d4311f-2d8e-459b-97c0-5543c544a2f0.jpeg?alt=media&token=6761e09c-bf49-4b34-9606-bc4ee9909d87",
    "mask": "https://firebasestorage.googleapis.com/v0/b/gepettoai.appspot.com/o/mask%2F268179cb-b5c7-46e3-81e8-4453a7aec8b8.jpeg?alt=media&token=f4faa70d-83a7-447d-802d-29b016ef3027"
}`)

  client := &http.Client {}
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Authorization", "Bearer {{API_KEY}}")
  req.Header.Add("Content-Type", "application/json")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
require "uri"
require "json"
require "net/http"

url = URI("https://europe-west1-gepettoai.cloudfunctions.net/v1/declutter")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer {{API_KEY}}"
request["Content-Type"] = "application/json"
request.body = JSON.dump({
  "url": "https://firebasestorage.googleapis.com/v0/b/gepettoai.appspot.com/o/raw-images%2F49d4311f-2d8e-459b-97c0-5543c544a2f0.jpeg?alt=media&token=6761e09c-bf49-4b34-9606-bc4ee9909d87",
  "mask": "https://firebasestorage.googleapis.com/v0/b/gepettoai.appspot.com/o/mask%2F268179cb-b5c7-46e3-81e8-4453a7aec8b8.jpeg?alt=media&token=f4faa70d-83a7-447d-802d-29b016ef3027"
})

response = https.request(request)
puts response.read_body

Results

Last updated 1 year ago

Was this helpful?

The mask image URL.

BEFORE
MASK OF THE ELEMENTS TO REMOVE
AFTER DECLUTTER
Example here
Example here