Hướng dẫn tích hợp

Trợ giúp

Dùng hashavatar.app trực tiếp từ trình duyệt, frontend hoặc backend. Mỗi URL avatar đều xác định, vì vậy cùng một định danh và tùy chọn luôn tạo cùng một kết quả.

URL cơ bản

Dùng endpoint query khi bạn cần một URL ảnh công khai đơn giản.

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 dạng path

Dùng dạng path nếu bạn muốn URL nhúng gọn hơn.

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

Ví dụ 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"
/>

Ví dụ 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();

Tham số được hỗ trợ

  • 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

Lớp phụ kiện và biểu cảm áp dụng cho các họ dạng nhân vật. Các họ dạng vật thể như planet, rocket, paws, mushroom, cactus, cupcake, pizza, icecream, diamond, coffee-cup và shield được chuẩn hóa thành accessory=none và expression=default.

Liên kết lưu trữ đã ký

Nếu deployment này có cấu hình lưu trữ đối tượng, hãy yêu cầu liên kết lưu trữ presigned từ /v1/avatar/link. Endpoint đó lưu đối tượng đã tạo và trả JSON gồm URL đã ký, object key và cache key đã hash. Phản hồi avatar tiêu chuẩn không để lộ metadata liên kết đã ký trong response header.

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

Mã nguồn mở

Mã nguồn trang công khai nằm trong kho API và trình render avatar tái sử dụng được phát hành trên crates.io. Kho mã · crates.io