Over the weekend I roughed in support for posting to gotosocial or Mastodon imgup, but made a decision about UI that my old jazz band director would have called “a choice that was not as good as the other ones,” and it took trying to wire the new functionality into a Raycast script to catch how it was a problem.
So this morning was “untangle that mess” and I think it’s in a way better place:
- Post to flickr or SmugMug and get back a Markdown, org-mode, or HTML snippet, same as before.
- Post to Mastodon or gotosocial with post text and visibility settings
- Optional tags, title, and caption (which we use as alt text for image tags and social posts)
I have a couple of Linux laptops, so the core tool is written for the command line to make it easily scriptable, but remain amenable to working in demi-GUI workflows, such as a Raycast shell script action or something like Shortcuts or Automator. Here’s a sample Raycast action to upload the selected image in Photos. You can even hook it up to a Hazel folder action that knows to pull the title and caption from metadata.
To add an image to this post, for instance, I:
- Found a photo in Apple Photos
- Triggered a Raycast script and added title, caption/alt, and tags
- Got back a Markdown snippet on my clipboard:

- Pasted it into this post
The original impetus for all this was “blogging providers don’t care about image quality and it shows,” and that was why imgup started as a little Sinatra-backed web tool. The impulse that eventually took over was “reduce as much friction to uploading and sharing images as possible.”
For my own use, I’m trying to build surrounding tools that reward good behavior: The Hazel upload action, for instance, will grab existing metadata: That’s a great reason to include title and caption in my editing workflow in Lightroom. In the short term it makes posting simple and frictionless. In the future, I’ll be more grateful for the title and caption than the 30 seconds I saved by not posting “the long way.”
One semantic thing I need to back out of or address: Photo tools are all over the place on the metadata they expose and allow you to edit. At some point LR CC added an alt text field, but imgup’s “caption” flag acts as the alt text for the image tags it produces or the social media posts it makes. I need to look at the SmugMug and Flickr APIs and think about the logic there.
And I want to add Bluesky to the list of supported services.