Altbot is an open-source accessibility bot designed to enhance the Fediverse by generating alt-text descriptions for images, video, and audio. This helps make content more accessible to users with visual impairments.
Altbot listens for mentions and follows on Mastodon. When it detects a mention or a new post from a followed user, it checks for images without alt-text. If it finds any, it uses a Large Language Model (LLM) to generate descriptive alt-text and replies with the generated text.
- Mention-Based Alt-Text Generation: Mention @Altbot in a reply to any post containing an image, video, or audio, and Altbot will generate an alt-text description for it.
- Automatic Alt-Text for Followers: Follow @Altbot, and it will monitor your posts. If you post an image, video, or audio without alt-text, Altbot will automatically generate one for you.
- Local LLM Support: Use local LLMs via Ollama for generating alt-text descriptions.
- Consent Requests: Ask for consent from the original poster before generating alt-text when mentioned by non-OP users.
- Configurable Settings: Easily configure the bot using a TOML file.
Your post content is never used. Only images without existing alt-text will be processed.
Alt-texts are generated using a Large Language Model (LLM). While we strive for accuracy, results may sometimes be factually incorrect. Always double-check the alt-text before using it.
-
Clone the repository:
git clone https://github.com/micr0-dev/Altbot.git cd Altbot
-
Run it:
go run main.go
The setup wizard will guide you through configuring the essential values required for the bot, including:
- Your Mastodon server URL, client secret, access token, and bot username.
- The admin contact handle for moderation notifications.
- Enabling optional features like metrics and alt-text reminders.
Alternatively, copy the example configuration file and edit it manually:
cp example.config.toml config.toml
-
Run the bot:
go run main.go
We welcome contributions! Please open an issue or submit a pull request with your improvements.
This project is licensed under the OVERWORKED LICENSE (OWL) v1.0. See the LICENSE file for details.
Join us in making the Fediverse a more inclusive place for everyone!