WellSaid Labs Pronunciation API

Replacement libraries and respelling suggestions for pronunciation control.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/wellsaid-labs-pronunciation-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

wellsaid-labs-pronunciation-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: WellSaid Labs Clips Pronunciation API
  description: The WellSaid Labs API renders text into studio-quality AI voiceover. It exposes streaming text-to-speech (audio returned as an HTTP stream for low time-to-first-byte playback), word-level timing and subtitle rendering, asynchronous clip creation and combination, a catalog of voice avatars, and pronunciation control via replacement libraries and respelling suggestions. All requests authenticate with an X-Api-Key header. WellSaid does not currently support end-user authentication and recommends making requests from an internal or trusted source. API access is gated behind a trial API key and a business plan. Endpoints, request fields, and response shapes here are modeled from the public documentation at docs.wellsaidlabs.com and are honestly approximated where the reference does not publish a full schema.
  version: '1.0'
  contact:
    name: WellSaid Labs
    url: https://wellsaidlabs.com
servers:
- url: https://api.wellsaidlabs.com/v1
  description: WellSaid Labs API
security:
- apiKeyAuth: []
tags:
- name: Pronunciation
  description: Replacement libraries and respelling suggestions for pronunciation control.
paths:
  /replacement-libraries:
    get:
      operationId: listReplacementLibraries
      tags:
      - Pronunciation
      summary: List replacement libraries
      description: Returns the list of available pronunciation replacement libraries.
      responses:
        '200':
          description: A list of replacement libraries.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ReplacementLibrary'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createReplacementLibrary
      tags:
      - Pronunciation
      summary: Create a replacement library
      description: Creates a new replacement library for grouping pronunciation replacements.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: A human-readable name for the library.
              required:
              - name
      responses:
        '201':
          description: The created replacement library.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReplacementLibrary'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /replacement-libraries/{library_id}:
    get:
      operationId: getReplacementLibrary
      tags:
      - Pronunciation
      summary: Get a replacement library
      description: Returns information about a single replacement library.
      parameters:
      - $ref: '#/components/parameters/LibraryId'
      responses:
        '200':
          description: The requested replacement library.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReplacementLibrary'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteReplacementLibrary
      tags:
      - Pronunciation
      summary: Delete a replacement library
      description: Deletes a replacement library and its replacements.
      parameters:
      - $ref: '#/components/parameters/LibraryId'
      responses:
        '204':
          description: The replacement library was deleted.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /replacement-libraries/{library_id}/replacements:
    get:
      operationId: listReplacements
      tags:
      - Pronunciation
      summary: List replacements in a library
      description: Returns the list of replacements contained in a replacement library.
      parameters:
      - $ref: '#/components/parameters/LibraryId'
      responses:
        '200':
          description: A list of replacements.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Replacement'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createReplacement
      tags:
      - Pronunciation
      summary: Create a replacement
      description: Creates a new pronunciation replacement in the library.
      parameters:
      - $ref: '#/components/parameters/LibraryId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReplacementInput'
      responses:
        '201':
          description: The created replacement.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Replacement'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /replacement-libraries/{library_id}/replacements/{replacement_id}:
    get:
      operationId: getReplacement
      tags:
      - Pronunciation
      summary: Get a replacement
      description: Returns a single replacement from a library.
      parameters:
      - $ref: '#/components/parameters/LibraryId'
      - $ref: '#/components/parameters/ReplacementId'
      responses:
        '200':
          description: The requested replacement.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Replacement'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteReplacement
      tags:
      - Pronunciation
      summary: Delete a replacement
      description: Removes a replacement from a library.
      parameters:
      - $ref: '#/components/parameters/LibraryId'
      - $ref: '#/components/parameters/ReplacementId'
      responses:
        '204':
          description: The replacement was deleted.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /respelling-suggestions:
    get:
      operationId: getRespellingSuggestions
      tags:
      - Pronunciation
      summary: Get respelling suggestions
      description: Returns respelling suggestions for a word to help coax the correct pronunciation from the voice avatar.
      parameters:
      - name: word
        in: query
        required: true
        schema:
          type: string
        description: The word to get respelling suggestions for.
      responses:
        '200':
          description: A list of respelling suggestions.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: string
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  parameters:
    ReplacementId:
      name: replacement_id
      in: path
      required: true
      schema:
        type: string
      description: The id of the replacement.
    LibraryId:
      name: library_id
      in: path
      required: true
      schema:
        type: string
      description: The id of the replacement library.
  responses:
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing or invalid X-Api-Key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Replacement:
      type: object
      properties:
        id:
          type: string
        original:
          type: string
        replacement:
          type: string
    Error:
      type: object
      properties:
        message:
          type: string
        code:
          type: string
    ReplacementLibrary:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        created_at:
          type: string
          format: date-time
    ReplacementInput:
      type: object
      properties:
        original:
          type: string
          description: The original word or phrase to replace.
        replacement:
          type: string
          description: The respelled or substitute pronunciation to speak instead.
      required:
      - original
      - replacement
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
      description: API key issued by WellSaid Labs, passed in the X-Api-Key header. Request a trial key from the console; production use requires a business plan.