Topic: TagIt! - A tag list assistant

Posted under e621 Tools and Applications

TagIt!

A taglist assistant.

TagIt! is a tool designed to help you create more extensive tag lists for your posts before you upload them.

Why use TagIt! ?

Unlike the e621 upload page which tries to make users tag the minimum amount of tags, TagIt purpose is to suggest relevant tags and generate a more populated tag list. It also offers other tools to make tagging a faster and possibly less miserable task.

If you post directly through e621 upload page you might've noticed the "related" tags which suggest tags based on post count. This is good to some degree but it means that it'll suggest implied tags (parent tags) or tags that appear often with the tag but don't have a direct relationship (vaporeon -> female) or even the tag itself (vaporeon -> vaporeon)!

IMPORTANT!!!
TagIt! will suggest a lot of tags, it's up to the user to decide if such a tag fits or should be used. Remember to review and tweak your lists before using them on a post.

DOUBLE IMPORTANT!!!
Be sure to check the installation guide and the quick use guide on the wiki. They explain the essentials and they are very short reads.

Tagit! Features

More sensible suggestions.

TagIt will offer more accurate suggestions when using it. It might even offer more tags than e621 does because of how e621 functions.

It'll also offer "tag groups" when applicable. This is just a dropdown list of tags that belong to a "group". For example "Fur Color" will offer you to pick a fur color OR you can select multiple too.
You can also make it when you remove a tag it won't suggest it again for that list, or keep a tag group along after using it. Check the settings to change this options

Tag Templates

If you constantly upload posts that follow a pattern you can create templates that will immediatly load a set of tags and suggestions.
You can create, tweak and delete templates from the tools window.

A "wizard" to help you get a basic tag list

The Tag Wizard is supposed to be the "starting point" of all tag lists. When you load it (by pressing the wizard hat icon or by the menu Tagger -> Tag Wizard) it'll present you with 2 sections:

Left-side section

The general information of a post, such as the artist, the media type, the angle that the post has (with a selector with reference pictures) and other basic information.

Right-side section

The character section is a bit more complex. Select on the menu "New character" and if the character has a name choose "Known Character". If you have character tags and autofil enabled it'll offer you suggestions as you type. This is going to be the character tag. An unknown character will be added as "unknown character".

Each character will have a body type, species field, gender, age along with other things. The wizard will try to add tags appropiatedly based on the character amount and interactions (Adding 3 characters to the wizard will make it add the tag trio)

A tag searcher.

A magnifying glass on the bottom left will allow you to look not only in your local tags, but it'll also search the e621 tag database. You can then select your desired tags with ctrl or shift and press "Add Selected" to add them to your current tag list.
The tag searcher accepts prefixing or suffixing your search with a wildcard.

Wildcard example

Prefix: * fur = blue fur, tail fur,...
Suffix: paw* = pawpad, paw patrol, paws,...
Contain: *red* = censored, multicolored fur, red fur,....

A simple Wiki.

It'll display information that comes with the tag. The wiki can use bbcode formatting to make information look prettier.
The wiki will also display other information of the tag such as category, parents, suggestions, priority, aliases and general information.
Tags can also be linked and depending on your settings, if not in your local database it'll open on e621 wiki.
The wiki also comes with an e621 searrch button which will straight up open the e621 wiki on your browser.

Custom Prefixes

Create custom prefixes to speed up your tagging. TagIt! comes with a default prefix @ which will format to add (character) but you can create your own. Please don't use letters as prefixes.

Examples
  • @dude -> dude (character)
  • !male,anthro -> male penetrating anthro
  • !!male -> male/male
Custom invalid tags

Whenever you use an invalid tag TagIt! will display it with a red circle and WON'T add it to the final tag list unless you tell it otherwise in settings

Custom aliases

You can add custom aliases to your tags. You can finally alias whatchamacallit with wrench!!!
Since this is local aliasing you can also alias things that would normally not be allowed on e621. If you're an artist you can alias "me" to your artist name, or to your character tag. Maybe alias a more descriptive word with the proper tag you keep forgetting, or alias "that gay dog" with sea- (You get it)
You can also "stop" an alias from happening if a tag file is using it in case you don't want to mess with the tag file or search for aliases that are being used. The alias search accepts wildcards with the symbol *.

Whitespaces are whitespaces

No longer you need to use underscores in tags for spaces, TagIt! will take care of formatting.

Example

Instead of writing "blue_fur" just write "blue fur" and press enter to add it to the list.

Tag tooltips

When you hover over a tag on the tagger window for a second it'll offer a short description of what that tag is used for if it has one.

Save and load your lists

TagIt can save your lists and load them at a future moment. Tag it saves the current list and all your suggestions.

Copy and export your generated tag lists

Quickly copy your generated list with 1 click or export is as a txt.

Load a list from text

You can also import a tag list from text. Just copy the text, paste it into the importer, tell TagIt what format is the list using and it'll add all those tags to your current list.
Note that this feature might not function properly depending on the inputed text. To prevent any weird behaviour make sure that your tag list text has a constant style.

Tag Priorities

A tag with a higher number will be placed earlier on a tag list, and those with lower numbers (negatives included) will be placed later on the list. This feature is inteded for sites that have limited tags per post(Like FA).

Example

cool_artist (priority 1), animated (priority -1) male (priority 0) -> cool_artist male animated

Custom formatting

TagIt! also can format tags in different ways, this means that if a website uses a different tag formatting than e621 it can be configured to do that. Right now the only way to extend the option is through "website settings" files.

Formatting example

e621 separates its tag with spaces and the spaces in tags are underscores _.
Postybirb separates it's tags with commas ,.
A possible site could separate each tag with new lines and use whitespaces in tags.

Create Tags

You can create your own tags to use on TagIt! and edit existing ones in the Review Tags window.

The tag files are the heart and soul of TagIt!.
These files can contain:

  • Parents: Tags which are added along the tag when used.
  • Suggestions: Tags which will be suggested when you add the tag to your list.
  • Groups: Groups of tags that will be added as a prompt or a number (ex. # toes)
  • Aliases: A tag that will be replaced by the one you're making.
  • Wiki: Information about that tag
  • Tooltip: A short text that will display when you hover over the tag on the Tagger window.

You can also try to fetch the information of the Tag from the e621 Wiki. But please take into account that this function has a cooldown.

Tag packs

If someone is kind enough and has the time to create any amount of tags then they can share it via a pack which can be easilly installed by other users.
Another feature is that the tag packs can also be updated (provided they keep the same folder name) so the pack creator can maintain a group of tags easily.
If you install a pack that contains a tag that you previously created then that tag will be used instead of the one from the pack (Folder structure matters). This issues can be fixed by the "Dupe Tag Cleaner" in the tools section.

The way that TagIt loads tags is it loads tags in folders first (1 level only) and then the ones inside the "tags" folder. If there are 2 of the same then the one loaded last will be used.

Keyboard Shortcuts

TagIt! comes with many keyboard shortcuts to speed up your work. Check it out in the help menu.
You can also use the "esc" key to close most menus.

And other little features to make tagging simpler.
You can find more detailed information about the tools on the wiki (Wiki is incomplete at the moment).

> Download <

You can get the latest version of TagIt! from GitHub

How does it work?

TagIt! works with local (this means it's in your PC) tags. Whenever you enter a tag in your tag list it'll check if a tag file exists, load it, and suggest things from there.

This is both a strength and a weakness. Because they are local files you can create and modify and tweak pretty much instantly as you see fit. But it also means that the tag file must be created by hand and kept up to date by someone or if the tag is no longer relevant, deleted. This is why tag modularity is essential in TagIt

TagIt modularity

One of the core ideas behind TagIt is similar to what e621 does with its tag database: The idea that everyone can contribute to make the database better. With that idea in mind, TagIt is made so it reads any tag you might have in your database folder. This means you can share tags you create to others and use tags that others have created too. This way you can keep an extensive and up-to-date tag database.

e621 API

Although TagIt! was designed to function only locally, you can also grab suggestions via the e621 API, but this isn't reccomended. This option can be toggled via settings.
You can also tweak how "relevant" the suggestions have to be when fetched from e621 to be included in the suggestions.

e621 API

The e621 API has usage rules, and as such TagIt! has to follow them. One such rule is how often one can check for tags. Because of this TagIt! will only fetch sugestions on e621 once every 1.5 seconds. So if you want to look for 10 tags on e621, that's 15 seconds total and not all tags are bound to return suggestions. And if at any point I'm asked to remove this feature by e621 I shall.

- - - Some general information - - -

Does this come with tags?

Not by default, but there are a few tag packs you can install on the post of version 2.4.1

Why was TagIt! created?

TagIt was created for the need of making more accurate tag lists. This both would help my posts appear on more granular searches and NOT appear on people that have the tag on a blacklist.
No-one likes seeing images of things they have on their blacklist and the more specific we can be with our tagging the more eye-bleach trauma we can prevent.
Taging more accurately can also help others find your posts! How many images you've lost because you're sure that the post had something in the picture but the post wasn't tagged as such?

What about tag bloat?

It's true that the use of TagIt will increase tags in posts and the possibility of bloating a post with "redundant" tags is likely.
BUT!!!
Personally I think that is better to have an over-tagged post rather than an under-tagged one and causing people to see things they would prefer not to, this is also a good chance to bring some of the lesser known tags to use or bring some that could be deemed irrelevant to discussion. Hence the tag bloating this tool could cause could have positive impact.

How to make tag packs & website settings?

Currently TagIt has some VERY FRAGILE tools to do so, but they are hidden because they aren't fully finished (and they probably never will). If you're interested in making packs and sites you can message me and I'll explain how the tools work and how to enable them.

How can I share tags?

Simply send the tres file (a glorified text file) to whoever wants it. You can find all your tags if you go to settings and press the "Open Tags Folder" button.
To "install" a tag simply drop that tres file in that folder and either restart TagIt! or press the "Reload Tags" button.

Future features and bug reports?

There most likely won't be any future new features. Tag it was designed for personal use and it has all the features I need. As such there is a very low probability of extra features being added.
I decided to share this tool due to the interest of people who tend to post regularly and I hope it helps those willing to use it.

As for bugs, feel free to notify me of them on Github

Is this a virus?

No. But the source code is there. You can check it out and build it yourself.

Fun facts

  • TagIt! started out as a python script that I ran in a windows console.
  • When discussing about the project, people thought TagIt! automagically made tag lists using AI or other mumbojumbo.
  • Some people argued that TagIt was "reinventing the wheel" since e621 already had a tag "suggestion" system.
  • TagIt! was made in a game engine as an excuse to learn such engine for future projects. And I have beef with the capitalize function of that engine.

My favorite reaction to a post tagged with this tool:

Sweet mother of tags! Looks like someone might have had a lot of time on their hands.

Updated

  • 1