GET - 3D avatar
Get a 3D avatar GLB file with desired performance and configuration settings.
All avatars are hosted in a CDN under https://models.readyplayer.me.
Please always use the https://models.readyplayer.me URL for Avatar requests instead of https://api.readyplayer.me/.
Get an avatar GLB by id.
GET
https://models.readyplayer.me/avatarId.glb
Get an avatar 3D GLB model with desired performance and configuration settings.
Path Parameters
avatarId.glb*
String
ID of an avatar.
Query Parameters
quality
String
low, medium or high - Use quality presets to combine performance related parameters.
meshLod
Int
[Deprecated] Use lod instead. Control the triangle count of the assets equipped on 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. More effective on complex meshes.
useMeshOptCompression
Boolean
[Deprecated] Reduces file size by compressing output avatars with Mesh Optimization compression. More effective on meshes with morph targets.
useQuantizeMeshOptCompression
Boolean
Reduces file size by quantizing vertex attributes and compressing output avatars with Mesh Optimization compression. More effective on meshes with morph targets.
pose
String
Defines the pose for a full-body avatar.
useHands
Boolean
Toggles hands for half-body VR avatars.
textureFormat
String
Reduce avatar file size by formatting all textures into the specified format. Using webp encoding can result in up to 40% reduction in avatar file size. Supported values: webp, jpeg, png
lod
Int
Control the triangle count of the entire avatar.
textureQuality
String
Choose which texture quality preset to get on the avatar.
Parameters, expected values, and examples
Parameters, expected values, and examples
ID of an avatar.
Expected values (String)
65a8dba831b23abb4f401bae
.glb
Deprecated - Requesting avatar by shortCode, instead request by avatar ID.
ABC123.glb
Notes
You must include the .glb
file extension or you will get a 404
return value.
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)
Control the triangle count of the entire 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.
Deprecated - Please use ?lod
instead to get the best results.
Control the triangle count of the assets equipped on the avatar. This does not impact the quality of the head model of the 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.
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)
Set the quality for textures on the Avatar by choosing from one of the presets.
Expected values (String)
low
- overall lower quality textures on the avatar and equipped assets.medium
- higher quality head and upper body assets (default).high
- overall high quality textures on the whole avatar and assets.
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.
Reduce avatar file size by formatting all textures into the specified format.
Using webp encoding can result in up to 40% reduction in avatar file size.
Expected Values (String)
webp
jpeg
png
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
Comma-separated list of individual morph targets or morph target standard groups to include on the avatar.
Expected values (String)
Default
ARKit
Oculus Visemes
The default value is "Default"
.
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.
Reduce the file size by compressing output avatars with Draco mesh compression.
Expected values (Boolean)
true
- Enable compression.false
- No compression (default).
Reduce the file size by compressing output avatars with Mesh Optimization compression. This technique is more effective on avatars with morph targets.
Expected values (Boolean)
true
- Enable compression.false
- No compression (default).
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).
Last updated
Was this helpful?