这两天搓了一个照片转PPT 的 Skill——photo2slide。
主要解决参加各种大会或者讲座时,拍的 PPT 照片不好看的问题。
其实年初就用 Gemini做过一个幻灯抽离小应用,当时是通过裁剪和透视变换去掉杂边,虽然看着稍微好点,但解决不了原图严重的拍摄感,毫无美感可言。
直到最近参加讲座坐在后排拍照时,突然想起来其实可以用GPT Image 2 干这件事。
实测发现效果真的无敌棒!
无论背景多杂乱、有多少人脑袋、角度有多偏,只要照片里看得清原始PPT内容,都能板板正正的重绘出来。
理论上以后不管参加什么大会,搞不到原始PPT没关系,位置坐的偏也没问题。
只要关键内容还拍得到,大多数现场 PPT 都能还原得八九不离十。
找了几张常见的观众视角照片,斜的、缺的、挡的、糊的、视频截的,高矮胖瘦各不同。
都只给一张照片,不给任何原始文件。
1号选手在左后侧斜着拍,画面大半都是背景墙和前排观众,PPT 缩在角落里成了个梯形,拉正了。

2号选手在前排右侧,离屏幕太近,右边一整条没拍进去,缺的那块也照着画面逻辑补上了。

3号选手位置很正,就是前面人太多,下面小半张全是人头和手机,被挡住的部分重新画了出来。

4号选手选手离得太远,满屏噪点,降噪之后连小字都能看清。

5号选手是个视频截图,本身就糊,还站着个演讲者(这个是提示词之神李继刚参加AIFUT大会的演讲现场),人抠掉,画质拉了回来。

总之,photo2slide 适用场景很广,但凡画面里有 PPT 都能揪出来。
当然它也有适用边界,如果原图缺的内容越多,补出来的东西越靠猜,屏幕只拍到一半那种就别指望了。
skill的github开源地址链接如下:
https://github.com/giszzt/zzt-skill/tree/main/photo2slide
因为搭配GPT Image 2效果最好,目前Skill主要针对Codex做了适配,会调用Codex内置的 Image Gen完成PPT抽取。
如果你用其他Agent或者生图模型,需要改造一下接第三方API,Skill本身并不复杂,核心是那段内容抽取提示词。
如果只是简单几页内容,也可以在ChatGPT聊天窗口输入提示词快速转换,效率更高。
把需要处理的原素材发给Codex,跟它说“帮我提取PPT”。
输入可以是零散照片,也可以是你已经拼好的 PDF、Word、PPT 或压缩包,它会先把里面的原图逐张取出来再处理,顺序跟着原文件走。
默认输出逐页高清 PNG,需要 PDF 或 PPTX 就直接说,它会在图片全部完成后再合成。
注意成品是图片页,不是可编辑的 PPT。
需要转可编辑的话可以用FigEdit之类的图片转可编辑Skill处理。
最后附一下整个skill的灵魂,PPT抽取提示词:
请根据上传的现场拍摄照片,识别并重建其中真正的PPT幻灯片页面,输出一张正面、完整、清晰的标准幻灯片图片。【范围识别】不要把整个投影幕布、LED大屏或电子屏当作PPT。照片中可能同时包含会场背景、会议标题、宣传标语、Logo、装饰图案、字幕、演讲人实时影像以及嵌入其中的PPT页面。请先区分“显示屏整体画面”和“真正的PPT窗口”,最终只保留具有完整标题、正文、图表、页边距和统一排版结构的独立幻灯片区域。判断某个元素是否保留,依据它是否属于幻灯片页面本身,而不是依据它能否被识别或理解;幻灯片内部原有的Logo、符号、公式、人物画面、字幕和装饰必须保留。不要按照最大、最亮或最像屏幕的矩形取图。应根据独立页面边界、统一背景、排版网格、文字层级和页码等特征判断PPT范围。宁可选取较小但边界明确的页面,也不要把外围会议包装、人物视频或装饰区域纳入。【页面重建】根据真实PPT页面的四个边界进行透视校正,修复侧拍、俯拍、倾斜、旋转和梯形变形,将其恢复为正面矩形页面。优先保持原始比例,无法判断时采用16:9。移除幻灯片页面边界以外的观众、演讲者、设备、阴影和会场环境,并对真正被遮挡或截断的部分保守补全。页面内可见但语义无法辨认的文字、数字、公式、符号、字形或装饰,应按原照片中的可见外观保留,不得因为无法识别而删除、留白、替换或擅自解释;只有原照片中不可见的内容不得凭空编造。准确还原标题、正文、表格、图表、流程、图标、页码及其位置、大小、颜色、对齐和层级。不得改写、总结、美化或重新设计原页面。同时去除会场环境、屏幕外框、舞台背景、投影纹理、LED像素、摩尔纹、反光、色偏、模糊和曝光不均。【输出要求】最终图片只能包含真正的PPT页面,不得包含页面边界以外的电子屏外围背景、会场标题、人物和装饰包装。若顶部标题、人物画面、字幕、符号或装饰位于幻灯片页面内部,则必须原样保留。页面应边缘完整、正面平整、文字清晰,效果如直接从原始PPT中导出的高清截图。以上,既然都看到这里了,如果觉得还有点意思,随手点个赞、在看、转发三连吧。想第一时间收到后续更新,也可以顺手给我个星标⭐。
谢谢你看到这里,我们下篇再见。