Guide d'intégration

Aide

Utilisez hashavatar.app directement depuis le navigateur, votre frontend ou votre backend. Chaque URL d'avatar est déterministe : le même identifiant et les mêmes options produisent toujours le même résultat.

URL de base

Utilisez l'endpoint de requête quand vous voulez une simple URL d'image publique.

https://hashavatar.app/v1/[email protected]&algorithm=sha512&kind=robot&background=white&accessory=glasses&color=gold&expression=happy&shape=circle&format=webp&size=256

URL en chemin

Utilisez la forme en chemin si vous préférez des URLs d'intégration plus propres.

https://hashavatar.app/avatar/fox/[email protected]/webp

Exemple HTML

<img
  src="https://hashavatar.app/v1/[email protected]&algorithm=sha512&kind=monster&background=themed&accessory=horns&color=crimson&expression=grumpy&shape=hexagon&format=webp&size=256"
  alt="Generated monster avatar"
/>

Exemple JavaScript

const avatarUrl = new URL("https://hashavatar.app/v1/avatar");
avatarUrl.search = new URLSearchParams({
  id: user.email,
  algorithm: "sha512",
  kind: "robot",
  background: "white",
  accessory: "glasses",
  color: "gold",
  expression: "happy",
  shape: "circle",
  format: "webp",
  size: "256",
}).toString();

Paramètres pris en charge

  • id: any stable identifier such as an email, username, internal user id, or one-way hash
  • tenant: optional namespace partition for multi-tenant apps
  • style_version: optional style namespace such as v2
  • algorithm: identity hash mode; only sha512 is supported
  • kind: any public hashavatar family, including cat, dog, robot, planet, rocket, frog, panda, cupcake, pizza, octopus, knight, bear, penguin, dragon, ninja, astronaut, diamond, coffee-cup, and shield
  • background: themed, white, black, dark, light, transparent, polka-dot, striped, checkerboard, grid, sunrise, ocean, or starry
  • accessory: none, glasses, hat, headphones, crown, bowtie, eyepatch, scarf, halo, or horns
  • color: default, neon-mint, pastel-pink, crimson, gold, or deep-sea-blue
  • expression: default, happy, grumpy, surprised, sleepy, winking, cool, or crying
  • shape: square, circle, squircle, hexagon, or octagon
  • format: output format; only webp is supported
  • size: from 64 up to 1024

Les couches d'accessoires et d'expressions s'appliquent aux familles de personnages. Les familles d'objets comme planet, rocket, paws, mushroom, cactus, cupcake, pizza, icecream, diamond, coffee-cup et shield sont normalisées avec accessory=none et expression=default.

Liens de stockage signés

Si ce déploiement a un stockage objet configuré, demandez un lien de stockage présigné depuis /v1/avatar/link. Cet endpoint stocke l'objet généré et renvoie du JSON avec l'URL signée, la clé d'objet et une clé de cache hachée. Les réponses d'avatar standard n'exposent pas de métadonnées de lien signé dans les en-têtes.

GET https://hashavatar.app/v1/avatar/[email protected]&algorithm=sha512&kind=robot&background=white&accessory=glasses&color=gold&expression=happy&shape=circle&format=webp&size=256

Open source

Le code source du site public se trouve dans le dépôt API et le moteur d'avatars réutilisable est publié sur crates.io. Dépôt · crates.io