File size: 2,305 Bytes
7394db7
 
 
 
 
 
ea98ead
7394db7
 
 
 
 
a03fc9e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6b88b8b
 
a03fc9e
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
---
title: Scene Foundry Demo
emoji: 🏢
colorFrom: blue
colorTo: indigo
sdk: gradio
sdk_version: 5.49.1
app_file: app.py
pinned: false
license: mit
---

# Room Layout Generator (Based on Infinigen)

A web application for generating indoor layouts from natural language. Built on Infinigen engine with clean interface and modular architecture.

## Quick Start

### 1. Requirements

- Python 3.10+
- Blender 3.0+ (for format conversion)
- OpenAI API Key

### 2. Installation

#### Step 1: Install Infinigen
Follow the official Infinigen installation guide: https://github.com/princeton-vl/infinigen/blob/main/docs/Installation.md

#### Step 2: Install Web Interface Dependencies

```bash
# Clone this repository
git clone https://github.com/gunjyo0817/Room-Layout-Generator.git
cd Room-Layout-Generator

# Activate the Infinigen conda environment
conda activate infinigen

# Install additional dependencies
pip install -r requirements.txt
```

### 3. Configuration

Create `.env` file and configure:

```bash
# OpenAI API
OPENAI_API_KEY=your-api-key-here
OPENAI_BASE_URL=https://api.openai.com/v1
OPENAI_MODEL=gpt-4o-mini

# Blender path (adjust for your system)
BLENDER_PATH=/Applications/Blender.app/Contents/MacOS/Blender

# Gradio configuration
GRADIO_SHARE=true
```

### 4. Run

```bash
python app.py
```

Open the displayed URL in your browser (usually `http://127.0.0.1:7860`)

## Usage Examples

Describe your requirements in the web interface:

**Examples:**
```
2 bedrooms with private bathrooms, living room 1.5x bedroom size
```

```
3-bedroom house, 2 bathrooms, kitchen connected to dining room
```

```
1 bedroom with ensuite bathroom, open kitchen connected to living room
```

## Output Files

Generated files are located at:
- **Blender File**: `outputs/indoors/coarse/scene.blend`
- **Web Model**: `outputs/indoors/coarse/output_scene.glb`
- **Configuration**: `config/generated_config.yaml`


## License

This project is built on Infinigen and follows the same license. See [LICENSE](LICENSE).

## Acknowledgements

This project is built on the [Infinigen](https://github.com/princeton-vl/infinigen) engine.

---

**Related Resources:**
- [Infinigen Website](https://infinigen.org)
- [Infinigen Indoor RoomREADME](https://github.com/princeton-vl/infinigen/blob/main/docs/HelloRoom.md)