API template library

Simulate the ElevenLabs ElevenAPI

A WireMock simulation of ElevenLabs's REST API — covering text to speech and dialogue, speech to text, voice changing and cloning, the voice library, music, dubbing, pronunciation dictionaries, and history.

Vendor
ElevenLabs
Functionality
Speech, voices, dubbing, transcription
Spec version
1.0.0
Endpoints
126
Stubs
226
Protocol
REST
Validation
AI-validated Before publication, an AI agent exercised these endpoints against the real ElevenLabs API through WireMock's recording proxy, and the recorded traffic was used to verify each stub's request and response shapes.

Live sandbox · no signup, no API key

ElevenLabs ElevenAPI

A running WireMock Cloud instance of this template, callable right now from a terminal, a script, or an AI agent.

Base URL
https://w4z7qk.wiremockapi.cloud

POST Create PVC voice [pvc_create]

curl -s -X POST 'https://w4z7qk.wiremockapi.cloud/v1/voices/pvc' \
  -H 'Content-Type: application/json' \
  -d '{}'

GET List Voice Collections [collections_list]

curl -s -X GET 'https://w4z7qk.wiremockapi.cloud/v1/voices/collections'

POST Create voice clone [ivc_create]

curl -s -X POST 'https://w4z7qk.wiremockapi.cloud/v1/voices/add' \
  -H 'Content-Type: application/json' \
  -d '{}'
Method Path Summary
GET /v1/audio-effects/catalog Get Audio Effects Catalog
POST /v1/audio-isolation Audio isolation
GET /v1/audio-isolation/history Get Audio Isolation History
DELETE /v1/audio-isolation/history/{history_item_id} Delete Audio Isolation History Item
POST /v1/audio-isolation/stream Audio isolation stream
POST /v1/audio-native Create audio native project
POST /v1/audio-native/{project_id}/content Update audio native project
GET /v1/audio-native/{project_id}/settings Get Audio Native Project Settings
POST /v1/audio-native/content Update Audio-Native Content From Url
GET /v1/dubbing List Dubs
POST /v1/dubbing Dub a video or audio file
DELETE /v1/dubbing/{dubbing_id} Delete dubbing
GET /v1/dubbing/{dubbing_id} Get dubbing
GET /v1/dubbing/{dubbing_id}/audio/{language_code} Get dubbed audio
GET /v1/dubbing/{dubbing_id}/transcript/{language_code} Get dubbed transcript
GET /v1/dubbing/{dubbing_id}/transcripts/{language_code}/format/{format_type} Retrieve A Transcript
GET /v1/dubbing/project List Dubbing Projects
POST /v1/dubbing/project Create Dubbing Project
DELETE /v1/dubbing/project/{project_id} Delete Dubbing Project
GET /v1/dubbing/project/{project_id} Get Dubbing Project
GET /v1/dubbing/project/{project_id}/language List Dubbing Language Targets
POST /v1/dubbing/project/{project_id}/language Create Dubbing Language Target
DELETE /v1/dubbing/project/{project_id}/language/{language_id} Delete Dubbing Language Target
GET /v1/dubbing/project/{project_id}/language/{language_id} Get Dubbing Language Target
GET /v1/dubbing/project/{project_id}/language/{language_id}/transcript Get Dubbing Target Transcript
POST /v1/dubbing/project/{project_id}/language/{language_id}/transcript/regenerate Regenerate Dubbing Target
PATCH /v1/dubbing/project/{project_id}/language/{language_id}/transcript/segment/{segment_id} Update Dubbing Target Transcript Segment
PATCH /v1/dubbing/project/{project_id}/language/{language_id}/transcript/segments Update Dubbing Target Transcript Segments
GET /v1/dubbing/project/{project_id}/transcript Get Dubbing Transcript
POST /v1/dubbing/project/{project_id}/transcript/segment Add Dubbing Transcript Segment
DELETE /v1/dubbing/project/{project_id}/transcript/segment/{segment_id} Delete Dubbing Transcript Segment
PATCH /v1/dubbing/project/{project_id}/transcript/segment/{segment_id} Update Dubbing Transcript Segment
PATCH /v1/dubbing/project/{project_id}/transcript/segments Update Dubbing Transcript Segments
POST /v1/forced-alignment Create Forced Alignment
GET /v1/history Get generated items
DELETE /v1/history/{history_item_id} Delete history item
GET /v1/history/{history_item_id} Get history item
GET /v1/history/{history_item_id}/audio Get audio from history item
POST /v1/history/download Download history items
GET /v1/models List models
POST /v1/music Compose Music
POST /v1/music/detailed Compose Music With A Detailed Response
POST /v1/music/detailed/stream Stream Composed Music With A Detailed Response
GET /v1/music/finetunes Get Music Finetunes
POST /v1/music/finetunes Create Music Finetune
DELETE /v1/music/finetunes/{finetune_id} Delete Music Finetune
GET /v1/music/finetunes/{finetune_id} Get Music Finetune
PATCH /v1/music/finetunes/{finetune_id} Update Music Finetune
POST /v1/music/plan Generate Composition Plan
POST /v1/music/stem-separation Stem Separation
POST /v1/music/stream Stream Composed Music
POST /v1/music/upload Upload Music
POST /v1/music/video-to-music Video To Music
GET /v1/pronunciation-dictionaries List pronunciation dictionaries
GET /v1/pronunciation-dictionaries/{dictionary_id}/{version_id}/download Get pronunciation dictionary by version
GET /v1/pronunciation-dictionaries/{pronunciation_dictionary_id} Get pronunciation dictionary
PATCH /v1/pronunciation-dictionaries/{pronunciation_dictionary_id} Update Pronunciation Dictionary
POST /v1/pronunciation-dictionaries/{pronunciation_dictionary_id}/add-rules Add pronunciation dictionary rules
POST /v1/pronunciation-dictionaries/{pronunciation_dictionary_id}/remove-rules Remove pronunciation dictionary rules
POST /v1/pronunciation-dictionaries/{pronunciation_dictionary_id}/set-rules Set pronunciation dictionary rules

+66 more endpoints in the full spec.

Unauthenticated WireMock Cloud demo sandbox for ElevenLabs — not an official ElevenLabs sandbox, and it returns simulated example data only.

What's inside the ElevenAPI template

The template covers ElevenLabs' core speech surface along with history, models and single-use tokens. A text-to-speech call against a premade voice returns MP3 bytes and the headers ElevenLabs attaches, among them history-item-id, request-id and a character-cost equal to the length of your text. The call is also written to history and billed to a character counter. Apps that log costs, link to history items or stream audio to a player get every value they read from production.

  • Speech generation — text to speech and text to dialogue, plain, streamed or with character timestamps, and the voice changer
  • Speech to text and alignment — transcripts with word timings and optional diarization, and forced alignment of submitted text
  • Voices — instant and professional cloning, samples, settings, collections, voice design and v2 voice search
  • Music and audio — music composition and finetunes, sound effects, audio isolation and speech engines
  • Dubbing and dictionaries — classic dubbing and dubbing projects, pronunciation dictionaries and Audio Native
  • History and usage — filtered, paged history with audio download, and daily character statistics

Example implementation using the ElevenLabs Python SDK

The ElevenLabs Python client takes a base_url argument, so the sandbox drops in with no other change to the call:

The voice id above is Rachel, one of three premade voices that exist in the mock from the start; Adam and Sarah are the others. Once you have your own copy, swap its URL in.

Fixed audio and predictable headers make voice features testable in CI without spending characters, and keep demos working when no account with quota is available.

from elevenlabs.client import ElevenLabs

# the sandbox URL, or your own mock's —
# the api_key is accepted but never validated
client = ElevenLabs(
    base_url="https://w4z7qk.wiremockapi.cloud",
    api_key="any-value",
)

audio = client.text_to_speech.convert(
    voice_id="21m00Tcm4TlvDq8ikWAM",
    text="Your order has shipped.",
    model_id="eleven_multilingual_v2",
)
with open("speech.mp3", "wb") as f:
    for chunk in audio:
        f.write(chunk)

ElevenLabs ElevenAPI mock API FAQ

A short placeholder MP3, the same for every request. It's valid enough to write to disk or hand to a player, which covers the plumbing; judging voice quality still needs the real service.

404 with ElevenLabs' error body: a detail object with code voice_not_found and a message naming the id. Voices you clone in the sandbox become valid ids for later calls.

No. The mock can't listen to an upload, so it returns a fixed two-sentence transcript with word timings, split between two speakers when diarize is true. The transcript is stored and readable by its id.

In the sibling templates: ElevenCreative for Studio and media generation, and ElevenLabs Workspace for service accounts, keys and sharing.

Vendor names identify APIs represented by WireMock template sources. This page does not imply vendor endorsement, certification, partnership, or official integration status.