爆火的截图生成代码项目核心功能竟然只是一条 Prompt

screenshot-to-code 这个项目可以将屏幕截图转换为 HTML/Tailwind CSS 代码。它使用 GPT-4 Vision 生成代码,使用 DALL-E 3 生成图片。

项目地址:github.com/abi/screenshot-to-code

这个项目最近爆火,短短几天时间,在 Github 上已经有 14.9K 的 Star。

花了 5 分钟看了下项目的源码,没想到竟然如此简单!核心原理竟然只有一条 Prompt,然后借助了gpt-4-vision-preview 模型,交给 GPT 来完成识图+写代码的工作,最后再把代码中的 img 标签提取出来,调用 DALL-E 3 模型转换为图片。

下图是调用 gpt-4-vision-preview 模型接口

提示语模板在这里:

提示语代码看 backend/prompts.py

下面是翻译为中文后的 Prompt:

xml 复制代码
你是一名熟练的Tailwind开发者
你从用户那里获取参考网页的截图,然后使用Tailwind、HTML和JS构建单页面应用程序。
你可能也会收到你已经构建的网页的截图,并要求更新它的外观,使其更像参考图片。

- 确保应用程序看起来与截图完全一样。
- 注意背景颜色、文字颜色、字体大小、字体系列、填充、边距、边框等。准确匹配颜色和尺寸。
- 使用截图中的确切文本。
- 代码中不要添加注释,比如 "<!-- 根据需要添加其他导航链接 -->" 和 "<!-- ...其他新闻条目... -->",而是写入完整的代码。
- 根据需要重复元素以匹配截图。例如,如果有15个项目,则代码应该有15个项目。不要留下 "<!-- 为每个新闻项目重复 -->" 这样的注释,否则会出现问题。
- 对于图像,请使用来自 https://placehold.co 的占位图像,并在alt文本中包含图像的详细描述,以便图像生成AI可以生成图像。

在库方面,

- 使用这个脚本来包含Tailwind:<script src="https://cdn.tailwindcss.com"></script>
- 你可以使用Google Fonts
- Font Awesome用于图标:<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"></link>

仅返回在<html></html>标签中的完整代码。
不要包括markdown "```" 或在开头或结尾的 "```html".

至于生成图片,就更简单了,直接从生成好的 HTML 中提取出 img 标签,再次调用 DALL-E 3 接口生成图片,替换进去。

你可以把上面那个 Prompt 直接拷贝下来发送给 ChatGPT 来实现截图生成代码功能

相关推荐
彭思远2006几秒前
从 0 到 1 搭建心脏病预测模型:一名大二学生的机器学习实践手记
人工智能·机器学习
HXDGCL1 分钟前
环形导轨精度标准解析:如何满足CATL产线±0.05mm要求?
人工智能·机器学习·性能优化·自动化·自动化生产线·环形导轨
AAD555888991 分钟前
金属丝缺陷检测与分类系统实战-基于reppoints的改进模型训练与优化_1
人工智能·分类·数据挖掘
Aotman_1 分钟前
Vue el-table 字段自定义排序(进阶)
前端·javascript·vue.js·elementui·前端框架·ecmascript
Charonrise1 分钟前
完美解决Microsft Edge浏览器双击无法打开 双击无反应 无响应 不能用
前端·edge
华仔啊2 分钟前
这 5 个冷门 HTML 标签,让我直接删了100 行 JS 代码!
前端·html
熊猫钓鱼>_>3 分钟前
当想象力成为生产力,AI视频生成如何重塑2026年的创作世界
人工智能·ai·aigc·音视频·提示词·ai视频
装不满的克莱因瓶5 分钟前
Cursor超长会话跨窗口关联解决方案
人工智能·ai·agent·ai编程·cursor·智能体
西维6 分钟前
大屏、看板必备的丝滑技巧 — 数字滚动
前端·javascript·动效
Mr -老鬼10 分钟前
Rust 知识图谱 -进阶部分
开发语言·后端·rust