> ## 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 Rénovation

> Documentation de l'API pour le service de rénovation d'espaces

# API Rénovation

Le service de rénovation vous permet de visualiser comment un espace pourrait apparaître après des travaux de rénovation, sans effectuer les travaux réels.

## Générer une rénovation

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

### Paramètres de la requête

<ParamField body="user_id" type="string" required>
  L'identifiant unique de l'utilisateur (UUID)
</ParamField>

<ParamField body="image_url" type="string" required>
  URL de l'image de l'espace à rénover
</ParamField>

<ParamField body="theme" type="string" required>
  Le thème de décoration souhaité pour la rénovation. Valeurs acceptées: MODERN, SCANDINAVIAN, INDUSTRIAL, LUXURIOUS, FARMHOUSE\_CHIC, KIDS\_ROOM (pour BEDROOM uniquement), MODERN\_POP (pour LIVING\_ROOM et VERANDA uniquement).
</ParamField>

<ParamField body="room_type" type="string" required>
  Le type de pièce. Valeurs acceptées: LIVING\_ROOM, BEDROOM, BATHROOM, SHOWEROOM, HOME\_OFFICE, EMPTY, VERANDA, KITCHEN, DINING\_ROOM.
</ParamField>

<ParamField body="photo_360" type="boolean">
  Si l'image est une photo panoramique à 360°
</ParamField>

<ParamField body="keep_ceiling" type="boolean">
  Préserver le plafond original
</ParamField>

<ParamField body="keep_floor" type="boolean">
  Préserver le sol original
</ParamField>

<ParamField body="keep_wall" type="boolean">
  Préserver les murs originaux
</ParamField>

<ParamField body="keep_door" type="boolean">
  Préserver les portes originales
</ParamField>

<ParamField body="keep_window" type="boolean">
  Préserver les fenêtres originales (activé par défaut)
</ParamField>

<ParamField body="furnish" type="boolean">
  Meubler la pièce rénovée. Fonctionne uniquement avec: BEDROOM, DINING\_ROOM, LIVING\_ROOM, HOME\_OFFICE.
</ParamField>

<ParamField body="webhook" type="string">
  URL du webhook pour les notifications (optionnel)
</ParamField>

### Valeurs disponibles pour room\_type

Les valeurs suivantes sont acceptées pour le paramètre `room_type` :

* `LIVING_ROOM` - Salon
* `BEDROOM` - Chambre
* `BATHROOM` - Salle de bain
* `SHOWEROOM` - Salle d'eau
* `HOME_OFFICE` - Bureau à domicile
* `EMPTY` - Pièce vide
* `VERANDA` - Véranda
* `KITCHEN` - Cuisine
* `DINING_ROOM` - Salle à manger

### Valeurs disponibles pour theme

Les valeurs suivantes sont acceptées pour le paramètre `theme` (notez que tous les thèmes ne sont pas disponibles pour tous les types de pièces) :

* `MODERN` - Style moderne
* `SCANDINAVIAN` - Style scandinave
* `INDUSTRIAL` - Style industriel
* `LUXURIOUS` - Style luxueux
* `FARMHOUSE_CHIC` - Style champêtre/rustique
* `KIDS_ROOM` - Chambre d'enfant (pour le type BEDROOM uniquement)
* `MODERN_POP` - Style moderne coloré (uniquement pour LIVING\_ROOM et VERANDA)

### Pièces compatibles avec l'option furnish

L'option `furnish` (meubler) fonctionne uniquement avec les types de pièces suivants :

* `BEDROOM`
* `DINING_ROOM`
* `LIVING_ROOM`
* `HOME_OFFICE`

### Réponse

<ResponseField name="generation_id" type="string">
  L'identifiant unique de la génération (UUID)
</ResponseField>

<ResponseField name="remaining_photos" type="number">
  Le nombre de crédits photos restants pour l'utilisateur
</ResponseField>

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

### Exemple de requête

```bash theme={null}
curl -X POST https://api.iacrea.ai/api/renovate/generate \
  -H "Authorization: Bearer VOTRE_CLE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "123e4567-e89b-12d3-a456-426614174000",
    "image_url": "https://exemple.com/cuisine-avant.jpg",
    "theme": "MODERN",
    "room_type": "KITCHEN",
    "photo_360": false,
    "keep_ceiling": false,
    "keep_floor": false,
    "keep_wall": false,
    "keep_door": true,
    "keep_window": true,
    "furnish": true
  }'
```

### Exemple de réponse

```json theme={null}
{
  "generation_id": "123e4567-e89b-12d3-a456-426614174001",
  "remaining_photos": 6,
  "project_id": "123e4567-e89b-12d3-a456-426614174002"
}
```

## Générer une variation

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

Cette API vous permet de générer des variations à partir d'un résultat précédent.

### Paramètres de la requête

<ParamField body="user_id" type="string" required>
  L'identifiant unique de l'utilisateur (UUID)
</ParamField>

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

<ParamField body="theme" type="string" required>
  Le nouveau thème de décoration souhaité. Valeurs acceptées: MODERN, SCANDINAVIAN, INDUSTRIAL, LUXURIOUS, FARMHOUSE\_CHIC, KIDS\_ROOM (pour BEDROOM uniquement), MODERN\_POP (pour LIVING\_ROOM et VERANDA uniquement).
</ParamField>

<ParamField body="room_type" type="string" required>
  Le type de pièce. Valeurs acceptées: LIVING\_ROOM, BEDROOM, BATHROOM, SHOWEROOM, HOME\_OFFICE, EMPTY, VERANDA, KITCHEN, DINING\_ROOM.
</ParamField>

<ParamField body="photo_360" type="boolean">
  Si l'image est une photo panoramique à 360°
</ParamField>

<ParamField body="keep_ceiling" type="boolean">
  Préserver le plafond original
</ParamField>

<ParamField body="keep_floor" type="boolean">
  Préserver le sol original
</ParamField>

<ParamField body="keep_wall" type="boolean">
  Préserver les murs originaux
</ParamField>

<ParamField body="keep_door" type="boolean">
  Préserver les portes originales
</ParamField>

<ParamField body="keep_window" type="boolean">
  Préserver les fenêtres originales (activé par défaut)
</ParamField>

<ParamField body="furnish" type="boolean">
  Meubler la pièce rénovée. Fonctionne uniquement avec: BEDROOM, DINING\_ROOM, LIVING\_ROOM, HOME\_OFFICE.
</ParamField>

<ParamField body="webhook" type="string">
  URL du webhook pour les notifications (optionnel)
</ParamField>

### Réponse

<ResponseField name="generation_id" type="string">
  L'identifiant unique de la nouvelle génération (UUID)
</ResponseField>

### Exemple de requête

```bash theme={null}
curl -X POST https://api.iacrea.ai/api/renovate/generate-variation \
  -H "Authorization: Bearer VOTRE_CLE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "123e4567-e89b-12d3-a456-426614174000",
    "generation_id": "123e4567-e89b-12d3-a456-426614174001",
    "theme": "SCANDINAVIAN",
    "room_type": "KITCHEN",
    "photo_360": false,
    "keep_ceiling": true,
    "keep_floor": false,
    "keep_wall": false,
    "keep_door": true,
    "keep_window": true,
    "furnish": true
  }'
```

### Exemple de réponse

```json theme={null}
{
  "generation_id": "123e4567-e89b-12d3-a456-426614174003"
}
```

## Récupérer une rénovation

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

### Paramètres de la requête

<ParamField body="user_id" type="string" required>
  L'identifiant unique de l'utilisateur (UUID)
</ParamField>

<ParamField body="generation_id" type="string" required>
  L'identifiant unique de la génération (UUID) retourné par l'endpoint `/api/renovate/generate` ou `/api/renovate/generate-variation`
</ParamField>

### Réponse

L'endpoint retourne l'état de la génération et les URLs des images résultantes lorsque le traitement est terminé.

<ResponseField name="status" type="string">
  État de la génération: "starting", "in\_progress", "succeeded", "failed"
</ResponseField>

<ResponseField name="output_url" type="string">
  URL de l'image rénovée (uniquement présent si status="succeeded")
</ResponseField>

### Exemple de requête

```bash theme={null}
curl -X POST https://api.iacrea.ai/api/renovate/get \
  -H "Authorization: Bearer VOTRE_CLE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "123e4567-e89b-12d3-a456-426614174000",
    "generation_id": "123e4567-e89b-12d3-a456-426614174001"
  }'
```

### Exemple de réponse

```json theme={null}
{
  "status": "succeeded",
  "output_url": "https://storage.iacrea.ai/output/123e4567-e89b-12d3-a456-426614174001.jpg"
}
```
