Topic: Visual Tagger v1.7.0 - Now with custom aliases

Posted under e621 Tools and Applications

Visual Tagger v1.7.0

Visual Tagger is a tag assistant website, where you can view implications of tags to add them to posts. When a tag implicates another tag, it usually means that it's more specific. A lot of the times, more specific tags aren't added due to a variety of reasons, the main one, for me, being just not knowing about it.

This tool aims to solve the problem that is tagging specifics in a way that is easy to follow. You won't need to memorize every specific version of a general tag, as long as the more specific tag properly implicates the general tag, you'll be able to see it and easily add it to the post.

Visual Tagger is NOT a tag suggester. It merely helps you tag images more specifically by showing you implications to tags in a way that is easy to follow. There have been many times where I have been tagging a post, just to add a general tag, and not adding the more specific version because I didn't know it existed, which is the main purpose of this tool.

You can access Visual Tagger here

Important note

Visual Tagger utilizes my advanced search syntax which is a more powerful way to search e6 posts. Please make sure to read over the caveats before reporting an issue with the search being messed up. There are a couple differences, though:

  • Searching pool:id/set:id is not possible at the moment
  • Searching favorites of a user is also not possible at the moment

Usage

  • 1. Type a search into the main search bar
    • Add a starting page if you want, each page returns 100 posts.
  • 2. Click search
    • Filtering:
      • Visual Tagger offers many local filtering options that allows you to change what slides will be displayed
      • You can toggle what kind of media to include, images, gifs, and WEBMs
      • You can toggle which ratings are going to be shown between safe, questionable, and explicit
      • You can choose whether or not to include posts you've seen before, as long as you have save seen enabled
      • You also have local tags and a blacklist
        • These only work for post tags, not metadata, this includes ratings, at the moment the blacklist will not work for ratings
        • The blacklist is not per line, if you wish to only block a specific set of tags, use ( tag1 tag2 ) ~ ( other tag group ). For example: ( female solo ) ~ ( female duo ) will not show posts with (female and solo) or (female and duo). Using this, you can mimic the new line blacklist of e621
  • 3. When the slides load, use the following hotkeys to navigate:
    • D, or right arrow, will advance 1 slide
    • A, or left arrow, will go to the previous slide
    • W, or up arrow, will advance 10 slides
    • S, or down arrow, will go back 10 slides
  • 4. Find a post you want to add tags to and start tagging
  • 5. Click the '+' or '-' signs to add and remove already existing tags and known implications
  • 6. Use the add tag input to add a tag by name
    • Clicking "Preview tree" will show you the tree that will be added to the post before adding it, so you can view all implications
      • Clicking on the minus sign next to a tag remove it and all its children from the post
      • Clicking the plus sign will add it to the post
        • Tags that are new to the post will be outlined in green
        • Tags that are being removed will be outlined in red
  • 7. Click "[search]" to reveal all implications to the tag. When you search, this will change to "[expand]" and "[collapse]"
    • When a tag has an active implied tag, "[expand]" will become yellow to let you know of this
  • 8. Use the control buttons to change the tree display to what you might want to see
    • "Show current" will let you see all tags currently on the post and hide all others
    • "Show additions" will let you see only tags that are going to be added to the post
    • "Collapse all" will collapse all top tags and will only show top level tags
    • "Show all" will show all tags and their known implications, you will need to click "[search]" to reveal unknown implications
  • 9. When you're done, submit your changes
    • You can submit directly from the site by clicking "Submit changes," which will open a review to show you everything being added or removed
      • This requires you to be logged in, see #logging_in
      • While in tagging mode, you can press enter which will open up the same review menu. Press escape to close the menu
      • A yellow warning exclamation mark will show next to tags which were not in the database
        • Some incorrect tags are in the database, so don't treat this as a catchall, it's just a helpful tool to guide you to potential mishaps, it will not catch all issues
    • Or you can use "Copy tags" which you can go to the post on e621 directly, and Ctrl+A all of its tags then Ctrl+V to overwrite them with the new tags
      • Right clicking "Copy tags" will instead paste tags from your clipboard. The tags must be space-delimited

Helpful things

  • Clicking the question mark next to a tag will open the wiki for that tag
    • Hovering the question mark will show up to 300 characters of the wiki page, it may take a second to load the first time, but it caches after that
      • Currently disabled while bugs are worked on
  • Middle clicking a tag will open an e621 search for that tag
  • You can click the image to open the post, or press "E"
  • Clicking the vertical line of a tag group will collapse the group without having to scroll up to click "[collapse]"
  • After editing tags if you need to do more for whatever reason, click the reload button for your changes to appear. Changes can take up to 2 minutes to reflect in the database, so be patient if they aren't immediately visibile.
  • Press "R" to bring up a menu to redo tag changes of a post you've made changes to in this session. You need to fully submit changes for this to work.
  • Add custom aliases to speed up your work, you can alias one tag to many.
    • Custom aliases support regex with group replacing.
      • To denote an alias as a regex, prefix it with / and suffix it with /.
      • An example would be: /(.*)_eye_shadow/ -> $1_eyeshadow since most of those eyeshadow tags aren't properly aliased. This makes it so you don't have to make an eyeshadow alias for every color.

"Logging in"

Visual Tagger requires you to "login" with your e621 username and API key. This is because posts cannot be edited without a user attached to them. This also means that the moderators can hold someone accountable for tag vandalism. Your username and API key are never sent to the server and only reside on your browser's storage.

You can retrieve your API key from here by clicking "Manage API Access."

Source code

The source code for the entirety of yiff.today can be found on its github, including the slideshow viewer, Visual Tagger, and also the color database.

Bug reporting/Suggestions

You can either report bugs/suggestion on this post, or on the github above. Alternatively, you can send me a message if you're in the e6 discord, my username is trikzz__, but I probably won't accept any friend requests, but you can message me if you're in the e6 discord.

What is yiff.today?

You'll notice that Visual Tagger resides on yiff.today, which is mainly a slideshow website for e621 that uses the advanced search syntax. If you want a nice online slideshow viewer for e621, then consider going to the base site here, learn more here. Visual Tagger resides here because 2 domains costs more than 1 and I make no money from it.

Updated

Oh, neat. I'm used to other ways, but this might be useful to others. Keep up the good work!

New update allows you to press "R" to add your last submitted changes to the current image.

I noticed that many alt images are missing very similar tags, so I made it possible to quickly redo your last submitted changes. This won't submit them, but just automatically adds them for you, so you can remove some if necessary.

And tag categories should properly update now. Along with this, any tag with less than 50 posts, or not in the database will have two red exclamation points after it in the tag tree (it will also have a light blue background if it's not in the database). In the review changes, it's just two superscript exclamation points (used to be 1). Should make it easier to spot typos.

Updated

Adding on to the last update, "R" will now bring up a little menu over your tags to redo changes from a specific post you've modified. This is cleared when you reload the site. This allows you to redo any changes you did in the entire session.

Not sure why it took me so long to think of, but tags in the new tag input will have spaces treated as underscores so you don't have to press 2 buttons when you just want an underscore. No tags have spaces, so this should have no issues.

Also fixed an issue where posts that have tags that have new implications not yet added due to not being updated failing to load. When loaded, these will be highlighted in green as if you added them (since technically, you will)

Updated

The e6 face tag rating will now show on site as well. Which is the red frown at <15, yellow :| at <25, and green smile at >=25. I've added a few of my own for other tag counts as well just to add some spice.

Just a small fun thing to add.

Next thing I want to add is the ability to add shortcuts for commonly used tags you add, so you can essentially save a tag tree to some button combination and press those buttons to add them to the current image quickly.

I just added the ability to upload from the visual tagger, you can upload from a url, or select a file. It will force you to add a rating as a tag like rating:e, rating:q, or rating:s and it will ask for at least one source. Please note that you should have at least one artist tag (even if it's just unknown_artist, though since it requires a source, that probably won't happen often), and 10 non-implied general tags when uploading, though the system will not warn or force you to have these.

If you attempt to edit the post after upload from visual tagger, it will more than likely just attempt upload twice as it still treats itself as a new upload. The built in reload button will not fix this, either, just don't try to edit posts you've uploaded without refreshing the page. I may eventually make it fetch your post in place of your file, but it does not do that at the moment.

It does not support adding stuff like descriptions, or parents, however.

Test post was

post #4597742

You can also now right click on copy tags to instead paste space-delimited tags.

Also also, if you attempt to upload a piece from an artist on the dnp page, you will be warned. This is not a catch all, I'm sure there's mistakes in my parsing, but it should help.

Edit (2/22/24):

You can now add a query directly to the url of the site to autofill and auto search that query if you want to share any tagging projects, for example the one I use is tltagcount:<10 hires -sketch -unfinished order:random, which looks like this in a link: https://yiff.today/visualtagger?q=tltagcount:%3C10%20hires%20-sketch%20-unfinished%20order:random. Though the URL encoding is not strictly necessary and it should be fine without it, so just using spaces should work.

Updated

You can now add custom aliases in visual tagger to speed up your tagging. The system allows you to alias one tag to many tags, so you can use this as pseudo-implications without adding the main tag. System worked in my little testing, but may still have a few bugs. Let me know if any issues are found!

Custom aliases now support regex.

To denote an alias as a regex, prefix it with / and suffix it with /.

An example would be: /(.*)_eye_shadow/ -> $1_eyeshadow since most of those eyeshadow tags aren't properly aliased. This makes it so you don't have to make an eyeshadow alias for every color.

Edit (4/8/2024):

Changes are now remembered when moving between slides. This includes tags, and for uploads sources and any description you've set.

Updated

nimphia said:
Whenever I try to submit changes I get "unknown error, check console".

After this happens, press F12 and tell me what it says in there. If it has anything to do with auth, make sure to redact your API key if it's present.

tarrgon said:
After this happens, press F12 and tell me what it says in there. If it has anything to do with auth, make sure to redact your API key if it's present.

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://e621.net/posts/4784868.json. (Reason: header ‘user-agent’ is not allowed according to header ‘Access-Control-Allow-Headers’ from CORS preflight response). Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://e621.net/posts/4784868.json. (Reason: CORS request did not succeed). Status code: (null). TypeError: NetworkError when attempting to fetch resource. tagTreeHandler.js:1514:15 <anonymous> https://yiff.today/js/visualtagger/tagTreeHandler.js:1514

nimphia said:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://e621.net/posts/4784868.json. (Reason: header ‘user-agent’ is not allowed according to header ‘Access-Control-Allow-Headers’ from CORS preflight response). Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://e621.net/posts/4784868.json. (Reason: CORS request did not succeed). Status code: (null). TypeError: NetworkError when attempting to fetch resource. tagTreeHandler.js:1514:15 <anonymous> https://yiff.today/js/visualtagger/tagTreeHandler.js:1514

Odd, I just tested, it works for me. You're sure your username and API key are correct?

tarrgon said:
Odd, I just tested, it works for me. You're sure your username and API key are correct?

They're definitely correct. I just tried re-entering them. I also tried disabling any blockers I had on. Tried regenerating my API key as well.

Also note this is across two devices, mobile and desktop. Same result on both.

nimphia said:
They're definitely correct. I just tried re-entering them. I also tried disabling any blockers I had on. Tried regenerating my API key as well.

Also note this is across two devices, mobile and desktop. Same result on both.

I just made a push that may fix the issue, make sure to Ctrl+Shift+R on the page to purge the cache

tarrgon said:
I just made a push that may fix the issue, make sure to Ctrl+Shift+R on the page to purge the cache

It's working now, thank you!

  • 1