One of the things I usually dread (and often skip) is assigning keywords and captions to my photos. While not strictly necessary, doing so makes photo management much easier—especially when searching through large collections.
Recently, I migrated back to the desktop version of Lightroom Classic after trying the cloud version. While the cloud option is great in theory, I found it a bit sluggish. I prefer the speed and responsiveness of the classic version on my local machine.
While experimenting with ChatGPT, an idea struck me: why not write my own plugin to generate keywords and captions automatically? I was already using ChatGPT to help write my blog posts—so why not let it handle image metadata too? I could always fine-tune the output later.
Fast forward 48 hours, and I had taught myself enough Lua to build a working Lightroom plugin. I now have two versions:
- One uses BLIP, a Python library that generates captions and keywords locally (and cheaply).
- The other leverages OpenAI for higher-quality results.
I’ll share more details on how I built it in an upcoming post. For now, here’s a quick snippet to give you a glimpse:
Snippet of the code for the plugin

Generated Keywords and Caption (Bonus – draft blog post!)

It cost approximately about USD 0.01 to generate the keywords, caption and draft blog post. Pretty good I must say. The time taken is very much useful.