> ## 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 Aménagement Extérieur v3

> Documentation de l'API pour le service d'aménagement extérieur v3

# API Aménagement Extérieur v3

Le service d'aménagement extérieur v3 vous permet de transformer virtuellement l'aspect extérieur des bâtiments, jardins, terrasses et autres espaces extérieurs avec des options personnalisées avancées.

## Générer un aménagement extérieur

<ParamField path="POST /api/exterior/v3/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 extérieur à transformer
</ParamField>

<ParamField body="options" type="string">
  Instructions personnalisées pour l'aménagement extérieur (optionnel).
  Exemples: "Ajouter une piscine", "Ajouter un barbecue", "Ajouter du mobilier
  extérieur"
</ParamField>

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

<ParamField body="project_id" type="string">
  L'identifiant du projet (optionnel, sera généré automatiquement si non fourni)
</ParamField>

### Options personnalisées

La v3 introduit un système d'options personnalisées qui vous permet de décrire précisément ce que vous souhaitez ajouter à votre extérieur. Voici quelques exemples :

* `"Ajouter une piscine"` - Ajoute une piscine moderne
* `"Ajouter un barbecue"` - Installe un barbecue extérieur
* `"Ajouter du mobilier extérieur"` - Ajoute des meubles de jardin
* `"Ajouter des plantes"` - Enrichit avec des végétaux
* `"Ajouter une terrasse"` - Crée une terrasse en bois
* `"Ajouter un jardin"` - Aménage un jardin paysager

Vous pouvez combiner plusieurs instructions : `"Ajouter une piscine avec terrasse en bois, installer un barbecue moderne"`

### 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/exterior/v3/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/exterieur.jpg",
    "options": "Ajouter une piscine avec terrasse en bois, installer un barbecue moderne"
  }'
```

### Exemple de réponse

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

## Générer une variation

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

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

### 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="options" type="string">
  Nouvelles instructions personnalisées pour la variation (optionnel)
</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/exterior/v3/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",
    "options": "Ajouter des plantes tropicales et un éclairage extérieur"
  }'
```

### Exemple de réponse

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

## Récupérer un aménagement extérieur

<ParamField path="POST /api/exterior/v3/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/exterior/v3/generate` ou `/api/exterior/v3/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 transformée (uniquement présent si status="succeeded")
</ResponseField>

### Exemple de requête

```bash theme={null}
curl -X POST https://api.iacrea.ai/api/exterior/v3/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"
}
```
