Transform your space with AI-powered interior design.
Upload a room, visualize stunning transformations, and generate cinematic 3D video tours instantly.
- ๐ผ๏ธ Upload & Style - Upload your room photo or choose from curated samples
- ๐ค AI-Powered Transformations - Powered by Gemini 2.5 Flash for realistic room styling
- ๐ฌ 3D Video Tours - Generate cinematic walkthroughs using Gemini Veo 2.0
- ๐ Smart Placement - Click to specify exact furniture placement locations
- ๐ฌ Natural Language - Simply describe your vision in plain English
โ๏ธ Before/After Slider - Interactive comparison tool with draggable slider- ๐ก AI Style Suggestions - Get 3 personalized design recommendations based on your room
- ๐ฐ Cost Estimation - AI-powered budget breakdown with itemized furniture costs
- โฎ๏ธ Undo/Redo - History tracking with up to 20 saved states
- ๐ Zoom & Pan - Detailed viewing with zoom controls for close inspection
- ๏ฟฝ Download/Share - Save designs or share via social media
- ๐ Copy to Clipboard - Quick image copying for easy sharing
- ๐ญ Quick Presets - One-click furniture additions (chairs, plants, lamps, art)
- ๐ Modern UI - Beautiful gradient-based dark theme with smooth animations
- Node.js (v18 or higher recommended)
- A Gemini API key (Get one here)
-
Clone the repository
git clone https://github.com/Vedag812/Showcase.git cd Showcase/designlens -
Install dependencies
npm install
-
Configure your API key
Create a
.env.localfile in the root directory:# .env.local API_KEY=your_gemini_api_key_hereโ ๏ธ Important: Never commit your API key to the repository! -
Add sample images (Already included)
Ensure these files are in the
public/folder:image1.jpg- Modern Living Roomimage2.jpg- Minimal Studioimage3.jpg- Contemporary Space
-
Start the development server
npm run dev
-
Open your browser
Navigate to
http://localhost:3000(or the port shown in your terminal)
For production deployment, set the API_KEY environment variable in your hosting platform:
Vercel/Netlify:
API_KEY=your_gemini_api_key_herenpm run buildThe optimized production build will be in the dist/ directory.
- Select a Sample: Click on any of the pre-loaded room samples
- Upload Your Own: Click "Upload Your Own Image" to use a photo of your room
- Click Placement: Click on the room image where you want to add furniture
- Choose a Preset: Select from Armchair, Potted Plant, Floor Lamp, or Wall Art
- Custom Description: Type your own design ideas in natural language
- Click "Transform My Room with AI" to let Gemini redesign your space
- Wait for the AI to process (usually 10-30 seconds)
- View your newly styled room!
- After styling, click "Generate 3D Video Tour"
- Gemini Veo 2.0 will create a cinematic walkthrough (this may take 1-3 minutes)
- Play and download your video tour
| Technology | Purpose |
|---|---|
| Google Gemini AI | Image generation and video creation |
| Gemini 2.5 Flash | Room styling and furniture placement |
| Gemini Veo 2.0 | 3D video tour generation |
| TypeScript | Type-safe development |
| Vite | Lightning-fast build tool |
| Modern CSS | Gradient-based dark theme with animations |
virtual-room-styler-with-gemini/
โโโ index.html # Main HTML structure
โโโ index.tsx # TypeScript application logic
โโโ index.css # Modern gradient-based styling
โโโ samples.ts # Sample room configuration
โโโ image1.jpg # Sample room 1
โโโ image2.jpg # Sample room 2
โโโ image3.jpg # Sample room 3
โโโ package.json # Dependencies
โโโ tsconfig.json # TypeScript configuration
โโโ vite.config.ts # Vite configuration
โโโ .env.local # API key (create this)
- Add your image files to the project root
- Update
samples.ts:
export const SAMPLES: Sample[] = [
{ name: 'Your Room Name', url: '/your-image.jpg' },
// ... more samples
];Edit the CSS variables in index.css:
:root {
--primary-color: #6366f1;
--accent-color: #f59e0b;
--background-color: #0a0e17;
/* ... more variables */
}npm run buildThe optimized files will be in the dist/ directory.
- Build the project:
npm run build - Upload the
dist/folder to your hosting provider - Set the
API_KEYenvironment variable in your hosting platform
Important: For production, use a secure backend to handle API keys instead of exposing them in the client.
- Never commit
.env.localto version control - For production deployments, use environment variables provided by your hosting platform
- Consider implementing a backend proxy to keep your API key secure
Contributions are welcome! Feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
This project is licensed under the Apache-2.0 License.
- Powered by Google Gemini AI
- Built with Vite
- Icons from Font Awesome
Made with โค๏ธ using Gemini AI