> For the complete documentation index, see [llms.txt](https://enoch-app.gitbook.io/enoch/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://enoch-app.gitbook.io/enoch/api-references/enoch-rest-apis/get-3d-avatars.md).

# GET - 3D Avatars

<https://models.enoch.app> Get an avatar GLB by id or by short code.

<details>

<summary><mark style="background-color:orange;">GET</mark> <code>https://models.enoch.app</code></summary>

</details>

{% hint style="info" %}

You can combine multiple parameters by concatenating with **&**.&#x20;

So for example requesting an avatar with meshLod 2 and without texture atlassing would look like that:

<pre class="language-url"><code class="lang-url">https://models.enochavatar.me/6185a4acfb622cf1cdc49348.glb?meshLod=2<a data-footnote-ref href="#user-content-fn-1">&#x26;</a>textureAtlas=none
</code></pre>

{% endhint %}

### Parameters, expected values, and examples <a href="#parameters-expected-values-and-examples-1" id="parameters-expected-values-and-examples-1"></a>

{% tabs %}
{% tab title="/avatarId.glb" %}
ID or Shortcode of an avatar.

#### Expected values (String)

* `6185a4acfb622cf1cdc49348.glb`
* `ABC123.glb`

####

#### Notes

**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 Enoch Avatar. You can read more about how to do that at Native Integration.

{% hint style="info" %}
Without any of the optional parameters, the avatar is returned based on default values.
{% endhint %}
{% endtab %}

{% tab title="Examples" %}
**Request avatar by ID**

```
https://models.enochavatar.me/6185a4acfb622cf1cdc49348.glb
```

**Request avatar by short code**

```
https://models.enochavatar.me/ABC123.glb
```

**Returned value**

You will receive a standardized [.glb file.](https://docs.fileformat.com/3d/glb/) You can import and modify this file in any 3D software that supports this format.
{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="?Quality" %}

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)
  {% endtab %}

{% tab title="Examples" %}

**Request an avatar with quality high**

```
https://api.enochavatar.me/v1/avatars/6185a4acfb622cf1cdc49348.glb?quality=high
```

**Request an avatar with quality medium**

```
https://api.enochavatar.me/v1/avatars/6185a4acfb622cf1cdc49348.glb?quality=medium
```

**Request an avatar with quality low**

```
https://api.enochavatar.me/v1/avatars/6185a4acfb622cf1cdc49348.glb?quality=low
```

**Request an avatar with quality low but overwrite meshLod**

```
https://api.enochavatar.me/v1/avatars/6185a4acfb622cf1cdc49348.glb?quality=low&meshLod=0
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="?meshLod" %}

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.
  {% endtab %}

{% tab title="Examples" %}

**Request an avatar with meshLod 2**

```
https://models.enochavatar.me/6185a4acfb622cf1cdc49348.glb?meshLod=2
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="?TexturesIZElIMIT" %}

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)
  {% endtab %}

{% tab title="Examples" %}

**Request an avatar with textureSize limited to 512 x 512**

```
https://models.enochavatar.me/6185a4acfb622cf1cdc49348.glb?textureSizeLimit=512
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="TextureAtlas" %}

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.
  {% endtab %}

{% tab title="Examples" %}

**Disable texture atlas:**

```
https://models.readyplayer.me/6185a4acfb622cf1cdc49348.glb?textureAtlas=none
```

**Create 512px texture atlas:**

```
https://models.enochavatar.me/6185a4acfb622cf1cdc49348.glb?textureAtlas=512
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="?TextureChannel" %}

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

{% hint style="info" %}
You can combine these values by comma separation. See examples.
{% endhint %}
{% endtab %}

{% tab title="examples" %}
**Get avatar with no textures**

```
https://models.enochavatar.me/6185a4acfb622cf1cdc49348.glb?textureChannels=none
```

**Get avatar with only baseColor and normal map.**

```
https://models.enochavatar.me/6185a4acfb622cf1cdc49348.glb?textureChannels=baseColor,normal
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="?MorphTarget" %}
Comma-separated list of individual morph targets or morph target standard groups to include on the avatar.

**Expected values (String)**

* `Default`
* `ARKitst`
* `Oculus Visemes`
* \+ or any supported morph targets.<br>

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`

**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.enochavatar.me/6185a4acfb622cf1cdc49348.glb?morphTargets=mouthSmile,ARKitDisable 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.enochavatar.me/6185a4acfb622cf1cdc49348.glb?morphTargets=mouthSmile,ARKitDisable all morph targets
?morphTargets=none
```

{% endtab %}

{% tab title="Examples" %}

**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.enochavatar.me/6185a4acfb622cf1cdc49348.glb?morphTargets=mouthSmile,ARKit
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="?Pose" %}

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.

{% hint style="info" %}
Only applies to full-body avatars.
{% endhint %}
{% endtab %}

{% tab title="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.

{% hint style="info" %}
Only applies to full-body avatars.
{% endhint %}

**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
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="?UseDrogoMeshCompression" %}

Reduce the file size by compressing output avatars with Draco mesh compression.

**Expected values (Boolean)**

* `true` - Enable compression.
* `false` - No compression (default).
  {% endtab %}

{% tab title="Examples" %}

**Request an avatar with Draco mesh compression turned on**

```
https://models.enochavatar.me/6185a4acfb622cf1cdc49348.glb?useDracoMeshCompression=true
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="UseHands" %}

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).

{% hint style="info" %}
Only applies to half-body avatars.
{% endhint %}
{% endtab %}

{% tab title="" %}

**Enable hands for half-body VR avatars**

```
https://models.enochavatar.me/6185a4acfb622cf1cdc49348.glb?useHands=true
```

{% endtab %}
{% endtabs %}

{% hint style="danger" %}
The default values above only apply when you have not requested any changes to those settings previously. \
**Please reach out to** [**support@**](mailto:support@readyplayer.me)**enoch.app if you want to reset your default settings.**
{% endhint %}

[^1]: Combine meshLod and textureAtlas Parameter with &
