# Create Avatar & Download GLTF

{% hint style="info" %}
GLTF is a premium feature. Please [contact us](https://loomai.com/contact) for access.
{% endhint %}

1. [Authenticate](/guides/create-avatar.md#1-authenticate)
2. [Create Avatar](/guides/create-avatar.md#2-create-avatar)
3. [Resolve Renderings](/guides/create-avatar.md#3-resolve-renderings)

### 1. Authenticate

Select the appropriate oauth2 authentication flow for your use case and obtain an API access token. See [Authentication](/api/authentication.md) for details.

For sake of simplicity of this example, you can use your [application's client credentials](/guides/api-credentials.md) to authenticate directly using the [oauth2 resource owner flow](/api/authentication/resource-owner-flow.md). Returns an access token on success.

If you use other authentication flows, make sure to enable [scopes](/api/schema/scope.md) `read:avatars write:avatars read:features write:features read:gltf`.

```bash
curl --request POST \
  --url 'https://auth.loomai.com/oauth/token' \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data grant_type=http://auth0.com/oauth/grant-type/password-realm \
  --data realm=Username-Password-Authentication \
  --data username={PASSWORD} \
  --data password={USERNAME} \
  --data audience=https%3A%2F%2Fapi.loomai.com%2F \
  --data client_id={CLIENT_ID} \
  --data client_secret={CLIENT_SECRET}
```

### 2. Create Avatar

Post a photo of a face to create an avatar. Returns response header `X-Loom-Status` containing the id of created avatar if successful. See [Avatars > Create](/api/avatars/create.md) for details.&#x20;

```bash
curl -X POST "https://api.loomai.com/v0.5/avatars" \
  -H "Authorization: Bearer {ACCESS_TOKEN}" \
  -H "Content-Type: multipart/form-data" \
  -F "image=@{IMAGE_FILE};type=image/jpeg"
```

### 3. Resolve GLTF

The GLTF of created avatar is automatically exported and can be resolved using the avatar ID. See [Avatars > Attachments > List](/api/avatars/attachments/list.md) for details.

```bash
curl -X GET "https://api.loomai.com/v0.5/avatars/{AVATAR_ID}/attachments" \
  -H "Authorization: Bearer {ACCESS_TOKEN}"
```

This returns a list of attachments - including uploaded photo, rendered preview & exported GTLF (type `gltf`).

```bash
{
  "entries": [
    {
      "id": 5670865657659392,
      "type": "gltf",
      "name": "",
      "url": "https://storage.googleapis.com/live-com-loomai-api-attachments/5484235973984256/model.glb",
      "updated_at": "2020-04-05T16:37:44Z"
    }
    ...
  ]
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.loomai.com/guides/create-avatar-and-download-gltf.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
