适用场景
当你拿到一批来自 iPhone/相机/设计同事的 HEIC/AVIF 图片时,经常会遇到:某些浏览器或旧版系统无法打开、颜色管理(ICC)表现不一致、同一张图在不同平台显示差异、或者需要批量转成 WebP/PNG 供网页使用。本文给出一条“在线工具生成型”AI 提示词(Prompts),让 AI 直接产出一个可运行/可部署的在线工具:上传图片后自动做兼容性检测、批量转换,并输出可下载的结果包与检测报告。
交付物要求(写进 Prompt 里)
必须一次性交付:完整项目源码、清晰文件树、可复制运行命令、Docker 一键部署、以及测试用例或 QA checklist。工具要能在本地和服务器上启动;所有关键步骤要可复现。
功能清单
在线工具需要覆盖这些能力(可按模块实现):上传多文件/拖拽;识别输入格式(HEIC/AVIF/JPEG/PNG/WebP);针对 HEIC/AVIF 输出“可解码性检测”结论;抽取并展示关键信息(宽高、颜色空间/ICC、位深、是否带透明通道、EXIF 方向);批量转换输出 WebP/PNG(可选质量/压缩等级);生成对比报告(JSON + 可读的 HTML/Markdown);打包下载(zip)。注意:这是“处理/转换/检测”工具,不要引导生成任何新图片内容。
AI 提示词(Prompts)
你是一名全栈工程师与代码审阅者。请为我生成一个“HEIC/AVIF 兼容性检测与批量转 WebP/PNG”的在线工具(Web App),要求可直接运行/可构建/可部署。
【硬性目标】
1) 交付完整项目代码(不要只给片段),并给出清晰的文件树。
2) 提供可复制的运行命令(开发/生产),以及 Docker 部署说明(含 Dockerfile / docker-compose.yml)。
3) 必须包含测试用例或 QA checklist(二选一或都给)。
4) 工具定位:对“已有图片文件”做检测、解析、转换与报告输出;禁止任何生成图片/出图/配图/渲染图/海报/插画类功能或引导。
【技术栈建议(可调整,但要解释取舍)】
- 前端:Next.js 或 Vite + React;UI 使用轻量组件;支持拖拽上传与进度条。
- 后端:Node.js (Express/Fastify) 提供上传与转换 API;或纯前端 WebAssembly/Worker 方案也可以,但必须可部署。
- 转换与解析:优先使用可靠库(例如 sharp/libvips 或 wasm 解码器),并对不可解码情况给出明确错误信息。
【功能需求】
A. 上传与队列
- 支持多文件上传(至少 50 个),显示每个文件的状态:待处理/处理中/成功/失败。
- 限制与校验:最大单文件大小、允许的扩展名;错误要可读。
B. 兼容性检测(核心)
- 对每个文件输出:格式判定、是否可解码、是否含透明、位深、颜色空间/ICC 概要、EXIF 方向、宽高、估算体积。
- 输出一个汇总报告:成功/失败数量、失败原因分布、建议的输出格式(WebP/PNG)与参数建议。
C. 批量转换
- 输出 WebP 与 PNG 两种目标格式(二选一也可,但要在 UI 上可选)。
- 参数:WebP 质量(1-100)、是否保留透明、PNG 压缩等级。
- 转换后提供下载:单文件下载 + 一键打包 zip。
D. 报告导出
- 导出 report.json(结构化)与 report.html 或 report.md(可读)。
- 报告中要包含:每个文件的检测结果、转换参数、耗时、错误堆栈(用户可隐藏)。
E. 安全与稳定性
- 防止路径穿越;上传目录隔离;对大文件/并发做限制。
- 提供 .env.example 与配置项说明。
【输出格式(必须严格遵守)】
1) 先给“项目简介”(1 段)。
2) 给“文件树”(用树状结构)。
3) 逐文件给出完整代码(按文件路径分段)。
4) 给出运行命令(开发/生产)。
5) 给出 Docker 部署(Dockerfile + compose + 运行说明)。
6) 给出测试用例或 QA checklist。
【验收标准】
- 我把你给的代码复制到空目录后,按你的命令可以跑起来;上传 HEIC/AVIF 可得到检测结果;选择参数后能批量导出 WebP/PNG;能导出报告与 zip;页面不会出现“生成图片/出图/渲染图”等相关引导。
使用建议
建议把该工具用于“素材入库前”的预检:先跑兼容性检测与元数据核对,再按统一参数批量转 WebP/PNG 并生成报告,方便在团队内对齐(例如:哪些图片必须保留透明、哪些需要强制 sRGB、哪些文件存在异常 ICC 或方向标记)。如果你还要做更深的检查,可以在 Prompt 中追加:检测是否存在超大分辨率风险、是否包含可疑元数据字段、以及对转换前后的体积/质量做对比统计。
常见坑位清单
HEIC/AVIF 的解码依赖环境与库版本;在服务器侧建议固定依赖并在 Docker 中验证。颜色管理要谨慎:有些库会忽略或错误处理 ICC,报告中应明确“是否读取到 ICC/颜色空间”。批量转换时要控制并发与内存峰值,避免一次性把所有文件读入内存。对失败文件要保留原始文件名并记录原因,方便追溯与重试。