docs: async def generate_image(self, imgtype, face=None, hair=None):
          """Generate a basic image using the auto-image endpoint of weeb.sh.
  
          This function is a coroutine.
  
          Parameters:
              imgtype: str - type of the generation to create, possible types are awooo, eyes, or won.
              face: str - only used with awooo type, defines color of face
              hair: str - only used with awooo type, defines color of hair/fur
  
          Return Type: image data"""
          if not isinstance(imgtype, str):
              raise TypeError("type of 'imgtype' must be str.")
          if face and not isinstance(face, str):
              raise TypeError("type of 'face' must be str.")
          if hair and not isinstance(hair, str):
              raise TypeError("type of 'hair' must be str.")
          if (face or hair) and imgtype != 'awooo':
              raise InvalidArguments('\'face\' and \'hair\' are arguments only available on the \'awoo\' image type')
          url = f'https://api.weeb.sh/auto-image/generate?type={imgtype}' + ("&face="+face if face else "")+ ("&hair="+hair if hair else "")
          async with aiohttp.ClientSession() as session:
              async with session.get(url, headers=self.__headers) as resp:
                  if resp.status == 200:
                      return await resp.read()
                  else:
                      raise Exception((await resp.json())['message'])