> ## 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 Plan 3D

> Documentation de l'API pour le service de génération à partir d'un plan 3D

# API Plan 3D

Le service de Plan 3D vous permet de générer une visualisation réaliste d'un espace à partir d'un plan 3D. Idéal pour visualiser des projets immobiliers avant leur construction.

## Générer une rénovation à partir d'un plan

<ParamField path="POST /api/plan/v2/generate" />

Ce endpoint permet de générer une représentation visuelle réaliste à partir d'un plan. Comme une génération peut prendre plusieurs minutes pour s'exécuter, le résultat n'est pas immédiatement disponible.

Pour obtenir le résultat final, vous devez 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 du plan à transformer (format: jpg, png)
</ParamField>

<ParamField body="theme" type="string" required>
  Thème de votre nouvelle rénovation. Les valeurs dépendent du type de pièce sélectionné.
  Exemples: "MODERN", "SCANDINAVIAN", "LUXURIOUS", etc.
</ParamField>

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

<ParamField body="style_image_url" type="string">
  URL de l'image de référence pour appliquer un style basé sur cette image (format: jpg, png)
</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/plan/v2/generate' \
--header x-api-key:API_KEY \
--header 'Content-Type: application/json' \
--data '{
  "user_id": "uuid",
  "image_url": "https://my-image-url.jpg",
  "theme": "MODERN",
  "room_type": "LIVING_ROOM"
}'
```

### Exemple de réponse

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

## Générer une variation à partir d'un plan

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

Ce endpoint permet de générer une variation à partir d'un résultat précédent de génération de plan. 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="theme" type="string" required>
  Thème de votre nouvelle rénovation
</ParamField>

<ParamField body="room_type" type="string" required>
  Votre type de pièce
</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/plan/v2/generate-variation' \
--header x-api-key:API_KEY \
--header 'Content-Type: application/json' \
--data '{
  "user_id": "uuid",
  "generation_id": "uuid",
  "theme": "MODERN",
  "room_type": "LIVING_ROOM"
}'
```

### Exemple de réponse

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

## Récupérer une rénovation générée à partir d'un plan

<ParamField path="POST /api/plan/v2/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/plan/v2/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
}
```
