ElevenLabs · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for ElevenLabs API Documentation Pvc Voices API
15 actions
15 updates
phrasing
extends
openapi/elevenlabs-pvc-voices-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for ElevenLabs's API. It is a proposal applied on top of the contract, not a document ElevenLabs publishes.
What the actions change
x-apievangelist-phrasing
Targets 15
$.info
$.paths['/v1/voices/pvc'].post
$.paths['/v1/voices/pvc/{voice_id}'].post
$.paths['/v1/voices/pvc/{voice_id}/samples'].post
$.paths['/v1/voices/pvc/{voice_id}/samples/{sample_id}'].post
$.paths['/v1/voices/pvc/{voice_id}/samples/{sample_id}'].delete
$.paths['/v1/voices/pvc/{voice_id}/samples/{sample_id}/audio'].get
$.paths['/v1/voices/pvc/{voice_id}/samples/{sample_id}/waveform'].get
$.paths['/v1/voices/pvc/{voice_id}/samples/{sample_id}/speakers'].get
$.paths['/v1/voices/pvc/{voice_id}/samples/{sample_id}/separate-speakers'].post
$.paths['/v1/voices/pvc/{voice_id}/samples/{sample_id}/speakers/{speaker_id}/audio'].get
$.paths['/v1/voices/pvc/{voice_id}/captcha'].get
$.paths['/v1/voices/pvc/{voice_id}/captcha'].post
$.paths['/v1/voices/pvc/{voice_id}/train'].post
$.paths['/v1/voices/pvc/{voice_id}/verification'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for ElevenLabs API Documentation Pvc Voices API
version: 1.0.0
extends: openapi/elevenlabs-pvc-voices-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 14
- target: $.paths['/v1/voices/pvc'].post
update:
x-apievangelist-phrasing:
intent: Create a Professional Voice Clone
effect: write
questions:
- How do I start a professional voice clone before uploading any samples?
- What labels can I attach to a new PVC voice, like accent or age?
instructions:
- text: Create a PVC voice named {name} in {language}.
slots:
name: requestBody.name
language: requestBody.language
- text: Set up professional clone {name} for {language} with description {description}.
slots:
name: requestBody.name
language: requestBody.language
description: requestBody.description
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/voices/pvc/{voice_id}'].post
update:
x-apievangelist-phrasing:
intent: Edit a PVC voice's metadata
effect: write
questions:
- Can I rename a professional voice clone or change its language?
- How do I update the labels on my PVC voice?
instructions:
- text: Rename PVC voice {voice_id} to {name}.
slots:
voice_id: path.voice_id
name: requestBody.name
- text: Update the labels of professional clone {voice_id} to {labels}.
slots:
voice_id: path.voice_id
labels: requestBody.labels
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/voices/pvc/{voice_id}/samples'].post
update:
x-apievangelist-phrasing:
intent: Upload audio samples to a PVC voice
effect: write
questions:
- How do I upload training recordings for a professional voice clone?
- Can background noise be removed from samples as I upload them?
instructions:
- text: Add samples {files} to PVC voice {voice_id}.
slots:
files: requestBody.files
voice_id: path.voice_id
- text: Upload {files} to professional clone {voice_id} with noise removal {remove_background_noise}.
slots:
files: requestBody.files
voice_id: path.voice_id
remove_background_noise: requestBody.remove_background_noise
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/voices/pvc/{voice_id}/samples/{sample_id}'].post
update:
x-apievangelist-phrasing:
intent: Trim or clean up a PVC voice sample
effect: write
questions:
- Can I trim the start and end of a sample used for PVC training?
- How do I pick which separated speakers a sample should train on?
instructions:
- text: Trim sample {sample_id} of voice {voice_id} to {trim_start_time}-{trim_end_time} ms.
slots:
sample_id: path.sample_id
voice_id: path.voice_id
trim_start_time: requestBody.trim_start_time
trim_end_time: requestBody.trim_end_time
- text: Use speakers {selected_speaker_ids} from sample {sample_id} for PVC voice {voice_id}.
slots:
selected_speaker_ids: requestBody.selected_speaker_ids
sample_id: path.sample_id
voice_id: path.voice_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/voices/pvc/{voice_id}/samples/{sample_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a sample from a PVC voice
effect: destructive
questions:
- How do I remove a bad recording from my professional voice clone?
- Can I delete one sample without affecting the others?
instructions:
- text: Delete sample {sample_id} from PVC voice {voice_id}.
slots:
sample_id: path.sample_id
voice_id: path.voice_id
- text: Remove recording {sample_id} from professional clone {voice_id}.
slots:
sample_id: path.sample_id
voice_id: path.voice_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/voices/pvc/{voice_id}/samples/{sample_id}/audio'].get
update:
x-apievangelist-phrasing:
intent: Preview a PVC sample's audio
effect: read
questions:
- Can I listen to a PVC sample with background noise removed?
- How much of a voice sample's audio can I preview?
instructions:
- text: Play the first 30 seconds of sample {sample_id} for voice {voice_id}.
slots:
sample_id: path.sample_id
voice_id: path.voice_id
- text: Get sample {sample_id} audio of voice {voice_id} with noise removal {remove_background_noise}.
slots:
sample_id: path.sample_id
voice_id: path.voice_id
remove_background_noise: query.remove_background_noise
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/voices/pvc/{voice_id}/samples/{sample_id}/waveform'].get
update:
x-apievangelist-phrasing:
intent: Get a PVC sample's waveform
effect: read
questions:
- Can I get a visual waveform of a voice sample to show in my UI?
- Where do I fetch waveform data for a PVC sample?
instructions:
- text: Get the waveform of sample {sample_id} for voice {voice_id}.
slots:
sample_id: path.sample_id
voice_id: path.voice_id
- text: Show the visual waveform for PVC sample {sample_id} on {voice_id}.
slots:
sample_id: path.sample_id
voice_id: path.voice_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/voices/pvc/{voice_id}/samples/{sample_id}/speakers'].get
update:
x-apievangelist-phrasing:
intent: Check speaker separation status for a sample
effect: read
questions:
- Has speaker separation finished for my PVC sample?
- Which speakers were detected in a voice sample?
instructions:
- text: Check speaker separation status for sample {sample_id} of voice {voice_id}.
slots:
sample_id: path.sample_id
voice_id: path.voice_id
- text: List detected speakers in sample {sample_id} for {voice_id}.
slots:
sample_id: path.sample_id
voice_id: path.voice_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/voices/pvc/{voice_id}/samples/{sample_id}/separate-speakers'].post
update:
x-apievangelist-phrasing:
intent: Start speaker separation on a sample
effect: write
questions:
- My sample has more than one person talking; can I split it by speaker?
- How do I kick off speaker separation for a PVC sample?
instructions:
- text: Start speaker separation for sample {sample_id} of voice {voice_id}.
slots:
sample_id: path.sample_id
voice_id: path.voice_id
- text: Separate the speakers in PVC sample {sample_id} on {voice_id}.
slots:
sample_id: path.sample_id
voice_id: path.voice_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/voices/pvc/{voice_id}/samples/{sample_id}/speakers/{speaker_id}/audio'].get
update:
x-apievangelist-phrasing:
intent: Get one separated speaker's audio
effect: read
questions:
- Can I listen to just one speaker after separation?
- How do I retrieve the isolated audio for a detected speaker?
instructions:
- text: Get audio for speaker {speaker_id} in sample {sample_id} of voice {voice_id}.
slots:
speaker_id: path.speaker_id
sample_id: path.sample_id
voice_id: path.voice_id
- text: Play separated speaker {speaker_id} from sample {sample_id}, voice {voice_id}.
slots:
speaker_id: path.speaker_id
sample_id: path.sample_id
voice_id: path.voice_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/voices/pvc/{voice_id}/captcha'].get
update:
x-apievangelist-phrasing:
intent: Get the verification captcha for a PVC voice
effect: read
questions:
- What text do I need to read aloud to verify my professional voice clone?
- How do I get the verification captcha for a PVC voice?
instructions:
- text: Get the verification captcha for PVC voice {voice_id}.
slots:
voice_id: path.voice_id
- text: Fetch the captcha I must record for voice {voice_id}.
slots:
voice_id: path.voice_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/voices/pvc/{voice_id}/captcha'].post
update:
x-apievangelist-phrasing:
intent: Submit a captcha recording to verify a PVC voice
effect: write
questions:
- How do I prove the cloned voice is mine by submitting a recording?
- Can I verify a PVC voice by uploading my captcha reading?
instructions:
- text: Submit recording {recording} to verify PVC voice {voice_id}.
slots:
recording: requestBody.recording
voice_id: path.voice_id
- text: Verify professional clone {voice_id} with my captcha recording {recording}.
slots:
voice_id: path.voice_id
recording: requestBody.recording
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/voices/pvc/{voice_id}/train'].post
update:
x-apievangelist-phrasing:
intent: Start training a PVC voice
effect: write
questions:
- When my samples are ready, how do I start training the professional clone?
- Can I choose which model a PVC voice is trained for?
instructions:
- text: Start training PVC voice {voice_id}.
slots:
voice_id: path.voice_id
- text: Train professional clone {voice_id} for model {model_id}.
slots:
voice_id: path.voice_id
model_id: requestBody.model_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/voices/pvc/{voice_id}/verification'].post
update:
x-apievangelist-phrasing:
intent: Request manual verification for a PVC voice
effect: write
questions:
- What if the captcha check fails; can I ask for manual verification instead?
- Which documents do I send for manual PVC verification?
instructions:
- text: Request manual verification of voice {voice_id} with documents {files}.
slots:
voice_id: path.voice_id
files: requestBody.files
- text: Send {files} and note {extra_text} for manual verification of PVC voice {voice_id}.
slots:
files: requestBody.files
extra_text: requestBody.extra_text
voice_id: path.voice_id
method: generated
generated: '2026-09-26'
Work with this as data
Every overlay 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 openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/elevenlabs-pvc-voices-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.