Visage
Easily display Ready Player Me avatars and 3D models on the web.
Install / Use
/learn @readyplayerme/VisageREADME
Visage

Visage is a collection of components for showcasing Ready Player Me avatars and 3D on the web!
Built with three.js, react-three-fiber, drei, three-stdlib and react.
Installation
Visage is available as an npm package.
npm install @readyplayerme/visage
Documentation & examples
You can find all code examples of the components and their documentation on our GitHub page.
Here is the first one to get you started:
import React from 'react';
import ReactDOM from 'react-dom';
import { Avatar } from '@readyplayerme/visage';
const modelSrc = 'https://readyplayerme.github.io/visage/male.glb';
function App() {
return (
<Avatar modelSrc={modelSrc} />
);
}
ReactDOM.render(<App />, document.querySelector('#app'));
Validation
Props such as modelSrc, animationSrc, poseSrc and onLoadedAnimation.src are validated before rendering on the scene.
Animation source props support both .glb and .fbx formats. All other props mentioned before only support .glb.
Examples on supported resource formats:
- URL resources
- relative
/headwear.glb - absolute
https://readyplayerme.github.io/visage/male.glb?queryParams=allowed
- relative
- Base64 strings
data:application/octet-stream;base64data:model/gltf-binary;base64
- Binary input such as
model/gltf-binary
License
Visage is MIT licensed.
Related Skills
node-connect
351.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
351.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
