Automatic Avatars Ver.β

A *moe* replacement for people who don't have their own avatars.

Learn More

What is this?

This is a non-commercial dojin project start from september 2014.
It aims to make a more attractive automatic avatar system replacement for sites have social networking such as forums. Inspired by the ready-existence auto avatars such as Identicon, MonsterID, Wavatars, and referenced to 2D paper doll systems.

Try Out!




How to use in your site?

The automatic avatar system works similar to wavatars, identicon and monsterID, therefore you have to generate the MD5 hash code of the users' name in order to implement it into your site.

The url for fetching the automatic avatars image as following:
/(Normalized sets name)/(MD5 hash)[/(size)][.png|.jpg]
The normalized sets name is as same as the sets name, which you can find it from the "Try Out" section, but replaced everything into underscore except A-Z, a-z and 0-9.
You can optional request the specific size of the avatar by entering the size after the MD5 hash.
You can optional request the PNG or JPEG avatar by adding the extension, default is PNG if ignored.
For example, I got the MD5 d41d8cd98f00b204e9800998ecf8427e and I want a 48x48 JPG "default" set automatic avatar, then I should request like this:
Or I want everything in default (i.e. 512x512 png):

In the other hand, you can also use this with Gravatar like this: hash)?d=%2F(Normalized sets name)%2F(MD5 hash)
For example, I want have the same MD5 above and I want to request with gravatar with 48x48 size:

Do it yourself!

As this is a dojin project, therefore add your own set of avatars is possible.

First of all, I will introduce the requirements:

  • Simply prepare a set of PNG source files (unlimited amount, you can create as many as you can) with identical width and height and transparent background, recommand resoultion is 512×512.
  • Every parts of the avatar are seperated (i.e. eyes, mouth, clothes, etc. are drawn in single image file for each of them).
  • If you like to make the parts colored randomly, you should provide another image file(s) for masking (i.e. where should the color filled in), transparent gradient and/or semi-transparent are acceptable too as those parts will filled with semi-transparent color.
  • Be careful, even you fill with many different colors in single mask layer, they will be treated as single color, therefore you have to seperate them into different layer (file) if you want more than one random color to be filled in one part.
  • Secondly, you can help us to make the implementation process easier by creting a file called "parts.json" to descripe how the layers go on. The parts.json should be look like below: (The text after double slope are comments for descripting the elements, and those things must not exists in the file as they are non-standard and will bring out syntax error)
      "name": "(Your sets name)",
      "author": "(Your name for credits)",
      "description": "(Write more about your sets, such as what is included)",
      "sets": { // Here is descripting what files will be provided and what is the purpose of that file.
        "(ID, will be used in following part)": {
          "src": "(file name)",
          "layer": 0, // Depth layer, will be affected which part draw first, can be non-integer number, even negative.
          "color_mode": ..., // This one is quite complicated, you can either enter "static" (No color change, for normal ones), "hue" (Random color without brightness changed), "full" (Totally random color), or can be entered as number array to restrict the color range: [[0, 1], [0, 1], [0, 1]]. The numbers are representing the values range in HSV color model but in range 0 - 1.
          "color_def_index": 0 // This is for grouping the color defination values, if you want to share the color used here with other parts, simply set them to the same value, otherwise do not use the same value.
        // You can add more files as same as the format above
      "defination": [ // Here is the defination of how the layers are grouping
        [ // The parts defined here will be choosed by the hash
          [ // If the hash matches this group, everything defined inside this group will be drawn
            "(The ID of a file you defined above)",
            "(The ID of another file you defined above)",
            // You can add more IDs here
          // You can add more alias here
        // You can add more groups here
    But if you think it is hard to understand the things above, just briefly descripe how your stuff should look like in results with paragraphs of text and we will handle it.
  • Finally, submit your work by email is OK.
    Once you have submitted your work, which means you are allowing us to use and redistrube your work.