---
title: "Bulk create pronunciations from ZIP"
method: POST
path: "/pronunciations/bulk"
tags: ["customPronunciations"]
---

# Bulk create pronunciations from ZIP

`POST /pronunciations/bulk`

Upload multiple pronunciations at once. Each audio file in the ZIP becomes a pronunciation — the filename (without extension) is used as the word.

## Headers

- `Authorization` string, required

## Response `201`

Bulk creation result

- CustomPronunciationsBulkCreatePronunciationsResponse201
  - `success` boolean
  - `total_created` integer — Number of pronunciations successfully created
  - `total_errors` integer — Number of files that failed validation
  - `items` CustomPronunciation[]
    - `uuid` string, uuid — Unique identifier for the pronunciation
    - `word` string — The word or phrase this pronunciation applies to
    - `status` 'pending' | 'ready' | 'failed' — Processing status. Only "ready" pronunciations are applied during synthesis.
    - `active` boolean — Whether this pronunciation is active and will be applied during synthesis
    - `audio_url` string, uri — URL to the uploaded reference audio
    - `created_at` string, date-time
    - `updated_at` string, date-time
  - `errors` PronunciationsBulkPostResponsesContentApplicationJsonSchemaErrorsItems[]

---

[API](https://skmtc.dev/resemble/apis/api-reference.md) · [All operations](https://skmtc.dev/resemble/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/resemble/api-reference/revisions/e93597a6b425/schema)
