针对群晖 Synology Photos 缺乏语义搜索的痛点,一个自动化方案应运而生。通过自建脚本调用 Gemini AI,为海量照片自动生成中文语义标签并写入 XMP 文件,让原本无法检索的“海边”、“聚餐”等场景化内容变得一目了然,实现了个人照片库的智能升级。
智能速览
自建脚本调用 Gemini API,为照片自动生成中文语义标签。
将标签写入 XMP sidecar 文件,兼容群晖和 Lightroom 索引。
1.7万张照片耗时约8小时,支持断点续传。
设置定时任务,新照片次日即可完成自动打标。
方案对 RAW 格式照片同样有效。
精华内容
这个看似复杂的自动化流程,其核心实现却相当巧妙。整个过程主要围绕两个关键步骤展开:获取标签与写入元数据。
AI 标签生成
脚本会递归扫描指定目录,将每张图片进行 Base64 编码后发送给 Gemini 2.5 Flash API。模型会分析图片内容,并返回 5 到 10 个精准的中文关键词,例如“人物, 海边, 户外”等,为后续的检索打下基础。即使是 RAW 格式文件,也能通过读取群晖自动生成的缩略图进行分析,无需解码原文件,大大提升了处理效率。
元数据写入
获取到关键词后,脚本会将这些标签写入标准的 XMP sidecar 文件(.xmp),并将其存放在原图旁边。群晖 Synology Photos 系统能够自动识别和索引这些元数据,使得在系统内进行搜索成为可能。得益于 XMP 的通用性,这些标签同样能被 Adobe Lightroom 等专业软件读取,实现了跨平台的数据兼容。
效率与容错
在实际运行中,处理 1.7 万张照片大约耗时 8 小时,这主要受限于 Gemini 免费版 API 每分钟 30 次的调用频率。为了避免因意外中断导致前功尽弃,脚本设计了进度保存机制,处理状态会实时写入 progress.json 文件。即使任务中途停止,再次运行时也能从断点处继续,确保不会重复处理已完成的照片。
实现全自动化
为了实现真正的“一劳永逸”,通过在群晖系统中设置定时任务,让脚本在每天凌晨 3 点自动运行。这样一来,当天新上传的照片,最晚到第二天早上就能被自动打好标签。整个过程无需人工干预,一个智能的个人照片管理闭环就此形成。
这套方案展现了利用现有 AI API 解决具体生活难题的巨大潜力,将繁琐的照片整理工作彻底自动化。它不仅提升了个人数字资产的管理效率,也为其他类似的自动化需求提供了可复用的思路。你的照片库是否也期待着一次智能化的升级呢?