---
title: "Upload Voice Avatar"
method: PUT
path: "/v1/voices/{voice_id}/avatar"
---

# Upload Voice Avatar

`PUT /v1/voices/{voice_id}/avatar`

## Request

- Base URL: `https://api.kugelaudio.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.kugelaudio.com/v1/voices/{voice_id}/avatar`
- Auth: none declared
- TypeScript: <https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api/docs/v1/voices/:voice_id/avatar/put.ts> (a function with typed inputs; its response is checked against the schema)

Upload a PNG, JPEG, or WebP avatar for a voice you can edit.

## Path parameters

- `voice_id` string, required

## Request body `multipart/form-data`

- BodyUploadVoiceAvatarV1VoicesVoiceIdAvatarPut
  - `file` string, binary, required

## Response `200`

Successful Response

- UploadedAvatarInfo: Stored avatar location returned after upload.
  - `avatar_s3_path` string, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-08-17** `f74c6ce37a30`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api/changes/v1/voices/:voice_id/avatar/put.md)

---

[API](https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api.md) - [All operations](https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api/revisions/711945519e5c?raw)
