> ## 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 Création de Pièce

> Documentation de l'API pour le service de création de pièces

# API Création de Pièce

Le service de Création de Pièce vous permet de générer des visualisations réalistes d'intérieurs à partir d'une zone désignée dans une image.

## Générer une création de pièce

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

Cet endpoint lance une nouvelle génération pour créer une pièce dans une zone spécifiée par un masque. Cette opération crée aussi un nouveau projet.

### 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 servant de base à la création (format: jpg, png)
</ParamField>

<ParamField body="mask_url" type="string" required>
  URL du masque indiquant la zone où la pièce doit être générée
</ParamField>

<ParamField body="room_type" type="string" required>
  Type de pièce à générer. Valeurs possibles: "BATHROOM", "KITCHEN", "SHOWEROOM"
</ParamField>

<ParamField body="theme" type="string" required>
  Thème de design pour la pièce. Valeurs possibles: "MODERN", "INDUSTRIAL", "SCANDINAVIAN", "LUXURIOUS"
</ParamField>

<ParamField body="width" type="number" required>
  Largeur de l'image en pixels
</ParamField>

<ParamField body="height" type="number" required>
  Hauteur de l'image en pixels
</ParamField>

<ParamField body="webhook" type="string">
  L'URL que nous appelons une fois que la génération est terminée
</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/create_room/generate' \
--header 'x-api-key: VOTRE_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
  "user_id": "uuid",
  "image_url": "https://exemple.com/image.jpg",
  "mask_url": "https://exemple.com/masque.png",
  "room_type": "KITCHEN",
  "theme": "MODERN",
  "width": 1024,
  "height": 768
}'
```

### Exemple de réponse

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

## Générer une variation de pièce

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

Cet endpoint permet de générer une variation d'une création de pièce précédemment réalisée.

### 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 précédente
</ParamField>

<ParamField body="original_url" type="string" required>
  URL de l'image originale utilisée pour la génération précédente
</ParamField>

<ParamField body="mask_url" type="string">
  URL optionnelle d'un nouveau masque. Si non fourni, le masque de la génération précédente sera utilisé
</ParamField>

<ParamField body="room_type" type="string" required>
  Type de pièce pour cette variation. Valeurs possibles: "BATHROOM", "KITCHEN", "SHOWEROOM"
</ParamField>

<ParamField body="theme" type="string" required>
  Thème de design pour cette variation. Valeurs possibles: "MODERN", "INDUSTRIAL", "SCANDINAVIAN", "LUXURIOUS"
</ParamField>

<ParamField body="webhook" type="string">
  L'URL que nous appelons une fois que la génération est terminée
</ParamField>

### Réponse

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

### Exemple de requête

```bash theme={null}
curl --request POST \
--url 'https://iacrea.com/api/create_room/generate-variation' \
--header 'x-api-key: VOTRE_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
  "user_id": "uuid",
  "generation_id": "uuid",
  "original_url": "https://exemple.com/image.jpg",
  "mask_url": "https://exemple.com/nouveau-masque.png",
  "room_type": "BATHROOM",
  "theme": "SCANDINAVIAN"
}'
```

### Exemple de réponse

```json theme={null}
{
  "generation_id": "uuid"
}
```

## Récupérer une création de pièce

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

Cet endpoint vous permet d'obtenir le résultat d'une génération précédemment effectuée.

### 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 à récupérer
</ParamField>

### Réponse

<ResponseField name="status" type="string">
  Le statut 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/create_room/get' \
--header 'x-api-key: VOTRE_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": 0
}
```

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