Today, November 3rd, marks the date where the first iM@S image bot, the Yukiho Image Bot, made its first post to Bluesky.

Over the past year, I've been adding new images, features, and performing general housekeeping. I've wanted to go over my thoughts about the image bots for some time, and today I'll write about the history of how they came to be, my philosophy on running them and my personal thoughts.

History

Before getting into image bot history proper, I do want to briefly touch upon the 765 Cover Bot, my first Bluesky and iM@S project. The image bots were built using it as a base, and shared the logic to talk to Bluesky until the former was decommissioned. The cover bot would prove a project like an image bot was feasible, and the modern day image bots would not exist if I didn't get the idea to make the 765 Cover Bot on a whim.

The image bots were originally nothing more than a jokey thought, after I made the 765 Cover Bot. "Oh, I could make Bluesky versions of Kikuflare's image bots if I had to".

…Turns out not long after, the aforementioned image bots shut down due to API limitations imposed by Twitter. Most would later return in a reduced capacity, but I took advantage of the situation by running a poll asking for feedback for the soon-to-be Bluesky version.

Hi everyone. Given the recent demise of the idol bots on Twitter, I'm interested in what changes you'd like to see in a replacement project here on Bluesky! It's still in the planning stage, and I can't promise it will even happen at all, but we'll see. Form link: forms.gle/JXExctDkvFLD...

iM@S Bot feedback

iM@S Bot feedback

Please note that technical restrictions may prevent some options here from being in the final bots. I'll do my best, but no promises.


https://forms.gle/JXExctDkvFLDxcVp8
0

The image bots would then become my weekend project. I planned out the architecture of the image bots in advance so I wouldn't lose track of what I needed to do.

I originally wanted to give the Futami Twins their own bots, as we can just have them repost each other with the new repost feature, but the community said to keep them together. Also heavily requested was a Kotori image bot, which made it in. I also polled for interest in Dearly Stars image bots: Ryo got 2 of 3 votes while Ai and Eri only got one; a Ryo image bot would be made in late November with Ai and Eri following in early February.

The other two ideas were to add image information to each image and the all too important reposting feature, Skymas said Yes to both.

Opening

On November 3rd, the image bot code had reached a state where it could post to Bluesky, and the Yukiho Image Bot made its first post (see above). Ritsuko and Haruka image bots would be spun up the following day, but the image bots didn't start running consistently until the 5th.

Over the following weeks and months, the rest of the image bots were created and started posting. All of 765PRO ALLSTARS had working image bots by the end of November, Kotori followed in early December, Ryo in February and Ai and Eri in early March.

Support for videos was added mid November, mainly to post the Makomakorin video everyone loves.

The first submissions

The first submission was received as early as the 5th for the (at the time inactive) Makoto Image Bot, which featured Makoto making her signature cat face :3

Later on someone (it wasn't Niramou) sent in over 100 Yukiho Gravure 4 You! images. Thanks to this, the Yukiho Image Bot was able to post hourly as early as mid December.

In December, vini64 submitted several archives of screenshots of the iDOLM@STER anime. I'm still only 14 episodes in (there are a whopping 26!) but I promise, I'll get them all sorted and imported eventually!

The AI upscaling problem

The MLTD cards the bots use are from mltd.matsurihi.me, and in February I began to suspect that the "super high resolution" images that the site offers are in fact AI upscales of the original images, later confirming in March as it's mentioned in the metadata. I don't want to go into AI discourse here (nor was it a real factor for my rejection of these images), I'll just mention that I only accept original images, as found in the game. Not helping matters was the performance issues from wrangling the 5120x2880, 10MB+ upscaled images, to the point I previously added caching features to try and deal with it.

All of 765PRO ALLSTARS was affected (Kotori and Dearly Stars were unaffected), and the first to be cleaned up was the Yayoi Image Bot, in time for Yayoi's birthday. All AI upscaled images were removed from the image bots by early June, sans one stray Azusa card that was addressed in early July. Previous posts however may still use the upscaled images.

All of the AI upscaled images that were uploaded have a resolution of 2000x1125; if you saved any images from the bots that have this resolution, you might want to replace them.

Personal thoughts

Since the beginning, I believed that the ability for the image bots to repost each others posts was the most important feature. It lets people see more images with their favorite idol without the need to duplicate the image across multiple bots. It's somewhat dubious per Bluesky's Community Guidelines (it technically generates bulk interaction), but I have not heard any complaints about this from them, so I consider it fine.

Doing More With Less

My philosophy in the early days of the image bots was doing more with less. The image bots had relatively few images, so I considered it a priority to reduce the feeling of sameness.

For starters, the image bots started off posting every 2 hours (or slower). As each bot gained more and more images, I raised the frequency until it posted hourly. Almost all of the image bots now post hourly or every 90 minutes.

There was also another problem contributing to the sameness: after all images were posted, images that were just posted could be posted again. In early December I pushed an update that keeps a list of recently posted images to compliment the already existing recents queue, which solved this issue.

Later on in January, subentries were added: this allows multiple similar images to be treated as one for the purpose of image selection, while still allowing all of them to be posted over time. I consider this feature to be important as well,

Ending

The image bots are my most successful project ever, and I'd like to thank everyone who has ever interacted with or submitted images to them. I hope you'll continue to support the image bots!

I personally feel the image bots are in a really good state right now, though that's not to say there isn't room for improvement! With Hibiki's birthday back in October, all MLTD cards are in rotation, but there's other games with cards that need to be added, like with the original Million Live, as well as Cinderella Girls, and SideM for Ryo. And I can't forget about all those screencaps from the anime, waiting very patiently for their turn.

For the record, the main blocker for adding cards now is the lack of decent sources for them. If you know a place that has them, that are borderless (if available) and in original quality, please get in touch.

Another improvement I could make would be to replace the current submission form with something nicer, but this would be a lot of work on my part.

Even though the majority of the original audience is now gone, I remain commited to supporting the image bots on Bluesky for as long as people use them. And who knows, maybe Elon Musk will do something impressively awful enough that they'll return. I hope so, anyway. And if people do leave Bluesky for somewhere else, I'll try my best to provide the image bots there, so long as it's not Twitter. (For the technically minded people, the image bots can support other ATProto platforms with minimal effort and I can add native ActivityPub if needed.)

I'd love to hear your feedback on the image bots or this article, positive or negative. You can voice it here with Leaflet comments, the Bluesky post that points to this article, or anonymously with Navyfragen or my contact form.