71 lines
2.0 KiB
Markdown
71 lines
2.0 KiB
Markdown
# screenshot-to-code
|
|
|
|
This is a simple app that converts a screenshot to HTML/Tailwind CSS. It uses GPT-4 Vision to generate the code, and DALL-E 3 to generate similar looking images.
|
|
|
|
https://github.com/abi/screenshot-to-code/assets/23818/6cebadae-2fe3-4986-ac6a-8fb9db030045
|
|
|
|
See Examples section below for more demos.
|
|
|
|
## Updates
|
|
|
|
* Nov 16 - View code directly within the app
|
|
* Nov 15 - 🔥 You can now instruct the AI to update the code as you wish. Useful if the AI messed up some styles or missed a section.
|
|
|
|
|
|
## Getting Started
|
|
|
|
The app has a React/Vite frontend and a FastAPI backend. You will need an OpenAI API key with access to the GPT-4 Vision API.
|
|
|
|
Run the backend (I use Poetry for package management - `pip install poetry` if you don't have it):
|
|
|
|
```bash
|
|
cd backend
|
|
echo "OPENAI_API_KEY=sk-your-key" > .env
|
|
poetry install
|
|
poetry shell
|
|
poetry run uvicorn main:app --reload --port 7000
|
|
```
|
|
|
|
Run the frontend:
|
|
|
|
```bash
|
|
cd frontend
|
|
yarn
|
|
yarn dev
|
|
```
|
|
|
|
Open http://localhost:5173 to use the app.
|
|
|
|
If you prefer to run the backend on a different port, update VITE_WS_BACKEND_URL in `frontend/.env.local`
|
|
|
|
## Docker
|
|
|
|
```bash
|
|
echo "OPENAI_API_KEY=sk-your-key" > .env
|
|
docker-compose up -d --build
|
|
```
|
|
|
|
If you want to change the backend port to something other than 7000 (default) - for example, 7001. Then:
|
|
|
|
1. `echo "BACKEND_PORT=7001"`
|
|
2. `echo VITE_WS_BACKEND_URL=ws://127.0.0.1:7001 > frontend/.env.local`
|
|
|
|
Port 7000 sometimes is used by Airplay if you are on a mac. This will solve the docker error "Ports are not available... address already in use"
|
|
|
|
Application will be up and running at http://localhost:5173
|
|
|
|
## Feedback
|
|
|
|
If you have feature requests, bug reports or other feedback, open an issue or ping me on [Twitter](https://twitter.com/_abi_).
|
|
|
|
## Examples
|
|
|
|
Hacker News but it gets the colors wrong at first so we nudge it
|
|
|
|
https://github.com/abi/screenshot-to-code/assets/23818/3fec0f77-44e8-4fb3-a769-ac7410315e5d
|
|
|
|
|
|
## Hosted Version
|
|
|
|
Hosted version coming soon on [Pico](https://picoapps.xyz?ref=github).
|