avatar must be a base64 data-URL string, not a multipart file. The string length is capped at roughly 14 MB, which corresponds to about 10 MB of original image — the limit is applied to the base64 character count (10 MB × 1.37). Exceeding it returns UPLOAD_TOO_LARGE.The image is checked for safety: a rejection returns SAFETY_* with a traceId in the body, while any decode or processing failure collapses into VALIDATION_INVALID_FORMAT.On success the avatar URL is written to metadata.avatar — re-uploading for the same voice overwrites the previous image, so CDN caches may take a while to reflect the change.Deprecated alias: /api/tts/voice/{id}/avatar. See the site document "Versions and migration".
See the Errors document for the full code reference. Always use the X-Vocu-App-Request-Id response header when troubleshooting.