DiceBear: 开源头像库与 API
什么是 DiceBear?
DiceBear 为你的项目生成头像。头像风格涵盖了多种外观,从抽象图形到设计角色,这些头像可用于多种类型的应用程序。
除了纯随机头像之外,你还可以为用户身份创建确定性头像。借助内置的PRNG,你可以基于一个种子一次又一次生成相同的头像。你也可以进行个性化调整:每种头像风格都提供了许多选项来微调结果。
DiceBear 可通过 JavaScript 库、 PHP 库、 Python 库、 Rust 库、 Go 库、 Dart 库、HTTP API、 CLI、 Figma 插件、 编辑器 和 Playground 使用,因此你可以 将其集成到大多数项目中。头像 API 提供基于 URL 的集成方式,无需安装任何内容。
如何使用?
HTTP API
使用一个简单的 URL 即可在任何语言或平台中嵌入头像,而无需安装任何东西。
JS 库
在浏览器或 Node.js 中生成头像,完整支持 TypeScript。非常适合 React、Vue、Svelte 等。
PHP 库
使用 PHP 8.2+ 在服务器上生成头像。与 JS 库的 API 完全一致:相同的 seed,相同的结果。
Python 库
使用 Python 3.10+ 在服务器上生成头像。与 JS 库的 API 完全一致:相同的 seed,相同的结果。
Rust 库
使用 Rust 1.80+ 在服务器上生成头像。与 JS 库的 API 完全一致:相同的 seed,相同的结果。
Go 库
使用 Go 1.23+ 在服务器上生成头像。与 JS 库的 API 完全一致:相同的 seed,相同的结果。
Dart 库
使用 Dart 3.4+ 在 Dart 和 Flutter 应用中生成头像。与 JS 库的 API 完全一致:相同的 seed,相同的结果。
CLI
非常适合从命令行直接进行多种图片格式的自动化和批量导出。
编辑器
使用交互式编辑器浏览所有头像风格,自定义选项,并且无需编写任何代码即可导出头像。
它是如何工作的?
这些头像以 SVG 格式创建。 这使得无需太多计算资源即可动态生成头像。在大多数情况下, 会从一组 SVG 元素中选择各种元素,例如头发、眼睛、耳朵等,并将它们组合起来创建一个角色 / 头像。
FNV-1a 结合 Mulberry32 被用作 PRNG 的算法。该 PRNG 不会尝试成为 加密安全的。
设计即隐私
DiceBear 在构建时就将隐私放在首位。使用 JavaScript 库, PHP 库, Python 库, Rust 库, Go 库 或 Dart 库 时,头像完全在您的基础设施上生成。任何个人数据都不会离开您的系统。对于需要对数据保留和基础设施进行完全控制的团队,DiceBear 可以进行 自托管,因此无需依赖外部服务。