迁移分享:屏幕截图转为HTML或vue代码
Go to file
2024-04-10 14:55:07 -04:00
.vscode fix vs code settings for python import path 2024-03-04 16:21:04 -05:00
backend Merge branch 'main' into hosted 2024-04-10 14:55:07 -04:00
blog Delete blog/video-to-app.md 2024-03-25 15:13:16 -04:00
frontend Merge branch 'main' into hosted 2024-04-10 14:55:07 -04:00
.gitattributes Initial commit 2023-11-14 12:53:23 -05:00
.gitignore add list of logos 2023-12-05 11:36:17 -05:00
design-docs.md Create design-docs.md 2023-12-10 17:53:39 -05:00
docker-compose.yml update more values to 7001 2023-11-19 21:41:38 -05:00
Evaluation.md add evaluation description 2024-03-05 14:51:11 -05:00
LICENSE Initial commit 2023-11-14 12:53:23 -05:00
README.md Update README.md 2024-04-05 14:38:05 -04:00
Troubleshooting.md Update Troubleshooting.md 2024-03-30 18:41:15 -04:00

screenshot-to-code

A simple tool to convert screenshots, mockups and Figma designs into clean, functional code using AI.

https://github.com/abi/screenshot-to-code/assets/23818/6cebadae-2fe3-4986-ac6a-8fb9db030045

Supported stacks:

  • HTML + Tailwind
  • React + Tailwind
  • Vue + Tailwind
  • Bootstrap
  • Ionic + Tailwind
  • SVG

Supported AI models:

  • GPT-4 Vision
  • Claude 3 Sonnet (faster, and on par or better than GPT-4 vision for many inputs)
  • DALL-E 3 for image generation

See the Examples section below for more demos.

We also just added experimental support for taking a video/screen recording of a website in action and turning that into a functional prototype.

google in app quick 3

Learn more about video here.

Follow me on Twitter for updates.

🚀 Try It Out without no install

Try it live on the hosted version (paid).

🛠 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 or an Anthropic key if you want to use Claude Sonnet, or for experimental video support.

Run the backend (I use Poetry for package management - pip install poetry if you don't have it):

cd backend
echo "OPENAI_API_KEY=sk-your-key" > .env
poetry install
poetry shell
poetry run uvicorn main:app --reload --port 7001

If you want to use Anthropic, add the ANTHROPIC_API_KEY to backend/.env with your API key from Anthropic.

Run the frontend:

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

For debugging purposes, if you don't want to waste GPT4-Vision credits, you can run the backend in mock mode (which streams a pre-recorded response):

MOCK=true poetry run uvicorn main:app --reload --port 7001

Docker

If you have Docker installed on your system, in the root directory, run:

echo "OPENAI_API_KEY=sk-your-key" > .env
docker-compose up -d --build

The app will be up and running at http://localhost:5173. Note that you can't develop the application with this setup as the file changes won't trigger a rebuild.

🙋‍♂️ FAQs

  • I'm running into an error when setting up the backend. How can I fix it? Try this. If that still doesn't work, open an issue.
  • How do I get an OpenAI API key? See https://github.com/abi/screenshot-to-code/blob/main/Troubleshooting.md
  • How can I configure an OpenAI proxy? - you can configure the OpenAI base URL if you need to use a proxy: Set OPENAI_BASE_URL in the backend/.env or directly in the UI in the settings dialog
  • How can I update the backend host that my front-end connects to? - Configure VITE_HTTP_BACKEND_URL and VITE_WS_BACKEND_URL in front/.env.local For example, set VITE_HTTP_BACKEND_URL=http://124.10.20.1:7001
  • Seeing UTF-8 errors when running the backend? - On windows, open the .env file with notepad++, then go to Encoding and select UTF-8.
  • How can I provide feedback? For feedback, feature requests and bug reports, open an issue or ping me on Twitter.

📚 Examples

NYTimes

Original Replica
Screenshot 2023-11-20 at 12 54 03 PM Screenshot 2023-11-20 at 12 59 56 PM

Instagram page (with not Taylor Swift pics)

https://github.com/abi/screenshot-to-code/assets/23818/503eb86a-356e-4dfc-926a-dabdb1ac7ba1

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

🆕 Try it here (paid). Or see Getting Started for local install instructions to use with your own API keys.

"Buy Me A Coffee"