# Update your SDK to download new Essence 2 avatars

URL: https://docs.bithuman.ai/platforms/update-sdk-essence-2

> Python SDK 2.12.8+, Android 0.10.0+ and Swift 2.22.1+ load them; older SDKs wait.

New Essence 2 avatars download in a newer on-device format. The current SDKs load it right away. An older SDK still works, but its first download of a new avatar waits while we build a copy in the older format.

| SDK | Loads new Essence 2 avatars from | Update |
|---|---|---|
| Python SDK (`bithuman`) | 2.12.8 | `pip install -U "bithuman[essence-2]>=2.12.8"` |
| Android (`ai.bithuman:essence2-android`) | 0.10.0 | `implementation("ai.bithuman:essence2-android:0.10.3")` from `maven.bithuman.ai` (see [Android](https://docs.bithuman.ai/platforms/android)) |
| Swift package (iPhone, iPad, Mac) | 2.22.1 | raise the package's `from:` to `"2.22.1"`, run `swift package update`, then check `Package.resolved` (see [Swift](https://docs.bithuman.ai/platforms/swift/app)) |

**Android known issue (0.10.0–0.10.3, Essence 2 with `E2UAvatar`):** calling endOfAudio after every reply in one session clips the end of every reply after the first; feed at least 0.4 s of silence, or call endOfAudio once at the end.

## What changes

- **With a current SDK:** a new Essence 2 avatar downloads at once in the newer format. Your app passes no new option; the SDK asks for the format it can load.
- **With an older SDK:** when the avatar's owner downloads a new Essence 2 avatar for the first time, it answers `404` with code `MODEL_ARTIFACT_NOT_READY` and reason `DEVICE_BUILD_PENDING`, and we queue a build of a copy in the older format. The build itself takes about an hour and a half, but it waits for a build slot first, which can take several hours, so updating your SDK is faster. Retry later; once the copy is ready, the same request downloads it. If the build fails, the download answers `409` with code `MODEL_UNAVAILABLE` and reason `DEVICE_BUILD_FAILED`: the avatar still works in the cloud; update your SDK (no build needed) or contact support to re-run the build.
- **Avatars made before the change**, and avatars that already have an on-device download, are unchanged and keep working with the SDK you have.

## How to check

| Symptom | Cause | Fix |
|---|---|---|
| `404 MODEL_ARTIFACT_NOT_READY`, reason `DEVICE_BUILD_PENDING`, when downloading a new Essence 2 avatar | the SDK is older than the versions above, so an older-format copy is queued to build | update with the command in the table and download again (no wait), or retry later; the build can take several hours |
| `409 MODEL_UNAVAILABLE`, reason `DEVICE_BUILD_FAILED` | the older-format build failed | update with the command in the table and download again, or contact support to re-run the build; the avatar still works in the cloud |

See the [changelog](https://docs.bithuman.ai/changelog) for each SDK release.
