> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iacrea.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API Désencombrement

> Documentation de l'API pour le service de désencombrement d'images

# API Désencombrement

Le service de désencombrement vous permet de supprimer automatiquement les objets indésirables de vos photos d'intérieur, créant ainsi des espaces plus propres et plus attrayants pour vos annonces immobilières.

## Générer une image désencombrée

<ParamField path="POST /api/declutter_total/generate" />

Appeler cette endpoint lance une nouvelle génération permettant de désencombrer une image. Cette endpoint créé aussi un nouveau projet, suivant votre abonnement, il est possible sur un même projet d'obtenir des variations gratuites.

Comme une génération peut prendre plusieurs minutes, le résultat n'est pas immédiatement disponible. Vous pouvez soit fournir une URL de webhook, soit interroger régulièrement l'API de récupération.

### Paramètres de la requête

<ParamField body="user_id" type="string" required>
  L'identifiant unique de l'utilisateur (UUID) que vous pouvez récupérer dans votre Espace Développeur
</ParamField>

<ParamField body="image_url" type="string" required>
  URL de l'image que vous souhaitez désencombrer (format: jpg, png)
</ParamField>

<ParamField body="auto" type="boolean">
  Si défini à true, l'IA détectera automatiquement les objets à supprimer. Sinon, vous devrez fournir un masque.
</ParamField>

<ParamField body="webhook" type="string">
  L'URL que nous appelons une fois que la génération est terminée. Le request body est le même que la réponse de l'API de récupération
</ParamField>

### Réponse

<ResponseField name="generation_id" type="string">
  L'identifiant unique de la génération (UUID) à utiliser avec l'API de récupération
</ResponseField>

<ResponseField name="remaining_photos" type="number">
  Le nombre de photos restant suite à cette génération
</ResponseField>

<ResponseField name="project_id" type="string">
  L'identifiant unique du projet (UUID)
</ResponseField>

### Exemple de requête

```bash theme={null}
curl --request POST \
--url 'https://iacrea.com/api/declutter_total/generate' \
--header x-api-key:API_KEY \
--header 'Content-Type: application/json' \
--data '{
  "user_id": "uuid",
  "image_url": "https://my-image-url.jpg",
  "auto": true
}'
```

### Exemple de réponse

```json theme={null}
{
  "generation_id": "uuid",
  "remaining_photos": 100,
  "project_id": "uuid"
}
```

## Générer une variation d'une image désencombrée

<ParamField path="POST /api/declutter_total/generate-variation" />

Appeler cette endpoint permet de générer une variation d'une image précédemment désencombrée, en spécifiant éventuellement un nouveau masque. Comme une génération peut prendre plusieurs minutes, le résultat n'est pas immédiatement disponible.

### Paramètres de la requête

<ParamField body="user_id" type="string" required>
  L'identifiant unique de l'utilisateur (UUID) que vous pouvez récupérer dans votre Espace Développeur
</ParamField>

<ParamField body="generation_id" type="string" required>
  L'identifiant unique de la génération précédente dont vous souhaitez créer une variation
</ParamField>

<ParamField body="original_url" type="string" required>
  URL de l'image originale à désencombrer
</ParamField>

<ParamField body="mask_url" type="string" required>
  URL du masque indiquant les zones à désencombrer
</ParamField>

### Réponse

<ResponseField name="generation_id" type="string">
  L'identifiant unique de la nouvelle génération (UUID) à utiliser avec l'API de récupération
</ResponseField>

<ResponseField name="remaining_photos" type="number">
  Le nombre de photos restant suite à cette génération
</ResponseField>

### Exemple de requête

```bash theme={null}
curl --request POST \
--url 'https://iacrea.com/api/declutter_total/generate-variation' \
--header x-api-key:API_KEY \
--header 'Content-Type: application/json' \
--data '{
  "user_id": "uuid",
  "generation_id": "uuid",
  "original_url": "https://my-image-url.jpg",
  "mask_url": "https://my-mask-url.png"
}'
```

### Exemple de réponse

```json theme={null}
{
  "generation_id": "uuid",
  "remaining_photos": 100
}
```

## Récupérer une image désencombrée

<ParamField path="POST /api/declutter_total/get" />

Ce endpoint vous permet d'obtenir le résultat d'une génération précédemment effectuée. Il permet de savoir où en est votre génération grâce au statut et de récupérer l'url de vos images générées.

**Note importante:** En cas de statut "FAILED", vos photos sont automatiquement remboursées.

### Paramètres de la requête

<ParamField body="user_id" type="string" required>
  L'identifiant unique de l'utilisateur (UUID) que vous pouvez récupérer dans votre Espace Développeur
</ParamField>

<ParamField body="generation_id" type="string" required>
  L'identifiant unique de la génération (UUID) retourné par l'API de génération
</ParamField>

### Réponse

<ResponseField name="status" type="string">
  Le status de la génération: "STARTING", "PROCESSING", "SUCCEEDED", "FAILED"
</ResponseField>

<ResponseField name="urls" type="array">
  Un tableau d'URL contenant les URLs des images générées (présent seulement si status="SUCCEEDED")
</ResponseField>

<ResponseField name="variationNumber" type="number">
  Le nombre de variations déjà effectuées sur ce projet
</ResponseField>

### Exemple de requête

```bash theme={null}
curl --request POST \
--url 'https://iacrea.com/api/declutter_total/get' \
--header x-api-key:API_KEY \
--header 'Content-Type: application/json' \
--data '{
  "user_id": "uuid",
  "generation_id": "uuid"
}'
```

### Exemple de réponse

```json theme={null}
{
  "status": "SUCCEEDED",
  "urls": ["https://url-de-image-generée"],
  "variationNumber": 2
}
```
