GET - 3D avatars
Get a 3D avatar GLB file with desired performance and configuration settings.
get
https://models.readyplayer.me
Get an avatar GLB by id or by short code.
Get an avatar 3D GLB model with desired performance and configuration settings.
Parameters
Path
avatarId.glb*
String
ID of an avatar.
Query
quality
String
low, medium or high - Use quality presets to combine performance related parameters.
meshLod
Int
Controls the triangle count of the avatar.
textureSizeLimit
Int
Sets the upper limit for texture resolution in pixels of any texture in the avatar.
textureAtlas
Int
Generates a texture atlas of the desired resolution. The operation merges all meshes and splits opaque objects from transparent ones resulting in a maximum of 2 draw calls.
textureChannels
String
Define which textureChannels should be included in the .glb. It can be a comma-separated combination of the following values: baseColor, normal, metallicRoughness, emissive, occlusion
morphTargets
String
Comma-separated list of individual morph targets or morph target standard groups to include on the avatar.
useDracoMeshCompression
Boolean
Reduces file size by compressing output avatars with Draco mesh compression.
pose
String
Defines the pose for a full-body avatar.
useHands
Boolean
Toggles hands for half-body VR avatars.
Responses
200: OK
Model/gltf-binary of avatar.
404: Not Found
The requested model is not available.
You can combine multiple parameters by concatenating with &.
So for example requesting an avatar with meshLod 2 and without texture atlassing would look like that:
https://models.readyplayer.me/6185a4acfb622cf1cdc49348.glb?meshLod=2&textureAtlas=none
/avatarId.glb
Examples
ID or Shortcode of an avatar.
6185a4acfb622cf1cdc49348.glb
ABC123.glb
You must include the
.glb
file extension or you will get a 404
return value.You can get an avatar id or short code via
postMessage
returned from Ready Player Me. You can read more about how to do that at Native Integration.Without any of the optional parameters, the avatar is returned based on default values.
Request avatar by ID
https://models.readyplayer.me/6185a4acfb622cf1cdc49348.glb
Request avatar by short code
https://models.readyplayer.me/ABC123.glb
Returned value
You will receive a standardized .glb file. You can import and modify this file in any 3D software that supports this format.
?quality
Example
Use quality presets to combine performance related parameters from below.
Expected Values (String)
- low
- medium
- high
The values behind those presets are the following:
- low (meshLod=2, textureSizeLimit=256, textureAtlas=256, morphTargets=none)
- medium (meshLod=1, textureSizeLimit=512=textureAtlas=512, morphTargets=none)
- high (meshLod=0, textureSizeLimit=1024=textureAtlas=1024, morphTargets=none)
All other values overwrite quality. So e.g. you can use quality=low and overwrite the LOD with 0 to get the high-res avatar. See Examples.
Request an avatar with quality high
https://api.readyplayer.me/v1/avatars/6185a4acfb622cf1cdc49348.glb?quality=high
Request an avatar with quality medium
https://api.readyplayer.me/v1/avatars/6185a4acfb622cf1cdc49348.glb?quality=medium
Request an avatar with quality low
https://api.readyplayer.me/v1/avatars/6185a4acfb622cf1cdc49348.glb?quality=low
Request an avatar with quality low but overwrite meshLod
https://api.readyplayer.me/v1/avatars/6185a4acfb622cf1cdc49348.glb?quality=low&meshLod=0
?meshLod
Examples
Control the triangle count of the returned avatar.
Expected values (Number)
0
- No triangle count reduction is applied (default).1
- Retain 50% of the original triangle count.2
- Retain 25% of the original triangle count.
Request an avatar with meshLod 2
https://models.readyplayer.me/6185a4acfb622cf1cdc49348.glb?meshLod=2
?textureSizeLimit
Examples
Set the upper limit for texture resolution in pixels of any texture in the avatar.
Expected values (Number)
The value needs to be a multiple of two.
- Min:
256
- Max:
1024
(default)
Request an avatar with textureSize limited to 512 x 512
https://models.readyplayer.me/6185a4acfb622cf1cdc49348.glb?textureSizeLimit=512
?textureAtlas
Examples
Generate a texture atlas of the desired resolution. This operation merges all meshes and splits opaque objects from transparent ones resulting in a maximum of 2 draw calls.
The texture atlas is generated for all PBR channels - baseColor, normal, metallicRoughness, emissive, and occlusion, if any of the assets making up the avatar includes them.
Expected Values (String, Number)
none
- Do not create a texture atlas (default).256
- Create a texture atlas of 256x256px.512
- Create a texture atlas of 512x512px.1024
- Create a texture atlas of 1024x1024px.
Disable texture atlas:
https://models.readyplayer.me/6185a4acfb622cf1cdc49348.glb?textureAtlas=none
Create 512px texture atlas:
https://models.readyplayer.me/6185a4acfb622cf1cdc49348.glb?textureAtlas=512

Atlasing on - 1 draw call (without transparent objects)

Atlassing off - 9 draw calls (without transparent objects)
?textureChannels
Examples
Select the texture channels you want to have included in the .glb. (By default, the .glb comes with all available channels).
Expected Values (String)
- baseColor
- normal
- metallicRoughness
- emissive
- occlusion
- none
You can combine these values by comma separation. See examples.
Get avatar with no textures
https://models.readyplayer.me/6185a4acfb622cf1cdc49348.glb?textureChannels=none
Get avatar with only baseColor and normal map.
https://models.readyplayer.me/6185a4acfb622cf1cdc49348.glb?textureChannels=baseColor,normal
?morphTargets
Examples
Comma-separated list of individual morph targets or morph target standard groups to include on the avatar.
Expected values (String)
Default
ARKitst
Oculus Visemes
The default value is
"Default"
.Disable all morph targets
?morphTargets=none
Use selected morph targets
?morphTargets=mouthSmile,mouthOpen
Use morph target standard groups
?morphTargets=ARKit,Oculus Visemes
Use selected morph targets and standard group
?morphTargets=mouthSmile,ARKit
Example:
https://models.readyplayer.me/6185a4acfb622cf1cdc49348.glb?morphTargets=mouthSmile,ARKit
?pose
Examples
Define the pose for a full-body avatar.
Expected values (String)
A
- Create a full-body avatar in A pose (default).T
- Create a full-body avatar in T pose.
Only applies to full-body avatars.
Create an avatar in T-pose
https://models.readyplayer.me/6185a4acfb622cf1cdc49348.glb?pose=T
Create an avatar in A-pose
https://models.readyplayer.me/6185a4acfb622cf1cdc49348.glb?pose=A
?useDracoMeshCompression
Examples
Reduce the file size by compressing output avatars with Draco mesh compression.
Expected values (Boolean)
true
- Enable compression.false
- No compression (default).
Draco mesh compression is disabled by default for maximum compatibility for various glTF loaders.
Request an avatar with Draco mesh compression turned on
https://models.readyplayer.me/6185a4acfb622cf1cdc49348.glb?useDracoMeshCompression=true
?useHands
Examples
Toggle hands for half-body VR avatars.
Expected values (Boolean)
false
- Do not include hands with half-body VR avatars.true
- Include hands with half-body VR avatars (default).
Only applies to half-body avatars.
Enable hands for half-body VR avatars
https://models.readyplayer.me/6185a4acfb622cf1cdc49348.glb?useHands=true
The default values above only apply when you have not requested any changes to those settings previously.
Please reach out to [email protected] if you want to reset your default settings.
Last modified 3d ago