@apicity/elevenlabs
v0.7.3
Published
ElevenLabs provider for sound effect generation, text-to-speech, and audio APIs.
Maintainers
Readme
@apicity/elevenlabs
ElevenLabs provider for sound effect generation, text-to-speech, and audio APIs.
Runtime dependencies:
zod@^4.4.3— request schemas attached to every POST endpoint as.schema
Installation
npm install @apicity/elevenlabs
# or
pnpm add @apicity/elevenlabsQuick Start
import { createElevenLabs } from "@apicity/elevenlabs";
const elevenlabs = createElevenLabs({ apiKey: process.env.ELEVENLABS_API_KEY! });Real-world example: generate a sound effect, then run it through Scribe v2
ElevenLabs' two flagship audio surfaces fit together cleanly: text-to-
sound-effects spits out raw MP3 bytes, and Scribe v2 hands back a typed
transcript with word-level timestamps plus tagged audio events. The
round-trip below — generate a UI click, then transcribe a separate clip
with tag_audio_events: true — mirrors what
tests/integration/elevenlabs-sound-generation.test.ts
and
tests/integration/elevenlabs-speech-to-text.test.ts
replay against
tests/recordings/elevenlabs_2379486140/,
so every payload, response field, and byte count below comes straight
from the recorded HARs.
import { readFileSync, writeFileSync } from "node:fs";
import { createElevenLabs } from "@apicity/elevenlabs";
import type { ElevenLabsTranscript } from "@apicity/elevenlabs";
const elevenlabs = createElevenLabs({ apiKey: process.env.ELEVENLABS_API_KEY! });
// 1. Generate a 0.5s UI click. soundGeneration returns the raw MP3 as
// an ArrayBuffer — there's no JSON wrapper, the response body is
// audio/mpeg straight off the wire. duration_seconds (0.5–30) caps
// the clip length and prompt_influence (0–1) trades prompt-fidelity
// for creative variation. The factory also accepts `output_format`
// on the same request object and silently moves it to the URL query.
const audio = await elevenlabs.v1.soundGeneration({
text: "soft ui click",
duration_seconds: 0.5,
prompt_influence: 0.3,
});
writeFileSync("./click.mp3", new Uint8Array(audio));
console.log(`Generated ${audio.byteLength} bytes of audio/mpeg`);
// → "Generated 11764 bytes of audio/mpeg"
// ElevenLabs charged 10 characters for this call (visible in the
// `character-cost` response header on the original request).
// 2. Transcribe a separate audio clip with Scribe v2. The request goes
// up as multipart/form-data — pass a Blob and the rest as ergonomic
// fields; the factory packs the form, sets xi-api-key, and parses
// the JSON response. tag_audio_events: true tells Scribe to surface
// non-speech events ([phone beeping], [laughter], [applause]) inline
// with words instead of dropping them.
const phoneBeep = readFileSync("./phone-beeping.mp3"); // 2,528 bytes
const file = new Blob([phoneBeep], { type: "audio/mp3" });
const result = (await elevenlabs.v1.speechToText({
file,
model_id: "scribe_v2",
language_code: "eng",
tag_audio_events: true,
})) as ElevenLabsTranscript;
// 3. The transcript is rich. `text` is the human-readable form;
// `words` is the per-token breakdown with absolute timestamps and a
// `type` discriminator ("word" | "spacing" | "audio_event") plus a
// `logprob` confidence. `transcription_id` is durable — you can
// retrieve the same transcript later through the history API.
console.log(
`${result.language_code} · ${(result.language_probability * 100).toFixed(0)}% confident`,
);
// → "eng · 100% confident"
console.log(
`${result.audio_duration_secs}s · transcription_id=${result.transcription_id}`,
);
// → "0.5s · transcription_id=CeeidI2QJ8kkN1mcq8HX"
console.log(result.text);
// → "[phone beeping]"
// 4. Walk the words array, splitting audio events from spoken words
// via the `type` discriminator. On a clip with no speech every
// entry is an audio_event; on real speech you'll see "word" and
// "spacing" entries interleaved with bracketed events.
for (const w of result.words) {
const tag =
w.type === "audio_event"
? "event"
: w.type === "word"
? "word "
: "space";
console.log(
` ${tag} [${w.start.toFixed(2)}–${w.end.toFixed(2)}s] ${w.text}` +
(w.logprob !== undefined ? ` (logprob ${w.logprob.toFixed(3)})` : ""),
);
}
// → " event [0.00–0.44s] [phone beeping] (logprob -0.335)"Notes
soundGenerationreturns binary, not JSON — the provider already reads it asarrayBuffer()and hands you anArrayBuffer. Passoutput_format: "mp3_44100_128"(or any other ElevenLabs codec string) on the request object and the factory will strip it from the body and move it to the?output_format=URL query.speechToTextaccepts either afileBlob or acloud_storage_url(S3/GCS/HTTP). For long-form audio setwebhook: true— the call returns a smallElevenLabsWebhookAcknowledgementinstead of the transcript, and the finished result is delivered to your registered webhook. Type-narrow the union with"text" in resultbefore reading transcript fields.- Set
diarize: trueandnum_speakersto label words by speaker; the per-wordspeaker_idfield gets populated in that mode. Combine withuse_multi_channel: truefor stereo audio and the response switches toElevenLabsMultichannelTranscript(one transcript per channel undertranscripts[]). - Errors throw
ElevenLabsErrorwithstatus,code, and the parsed body attached. ElevenLabs returns either FastAPI's{ detail: [{msg, ...}] }shape or{ detail: { status, message } }; the client normalises both intoerror.message.
API Reference
303 endpoints across 28 groups. Each method mirrors an upstream URL path.
audioIsolation
POST https://api.elevenlabs.io/v1/audio-isolation
Cost tier: expensive
const res = await elevenlabs.v1.audioIsolation({ /* ... */ });Source: packages/provider/elevenlabs/src/audio.ts
DELETE https://api.elevenlabs.io/v1/audio-isolation/history/{historyItemId}
Cost tier: expensive
const res = await elevenlabs.v1.audioIsolation.history.delete({ /* ... */ });Source: packages/provider/elevenlabs/src/audio.ts
GET https://api.elevenlabs.io/v1/audio-isolation/history
Cost tier: expensive
const res = await elevenlabs.v1.audioIsolation.history.list({ /* ... */ });Source: packages/provider/elevenlabs/src/audio.ts
POST https://api.elevenlabs.io/v1/audio-isolation/stream
Cost tier: expensive
const res = await elevenlabs.v1.audioIsolation.stream({ /* ... */ });Source: packages/provider/elevenlabs/src/audio.ts
audioNative
POST https://api.elevenlabs.io/v1/audio-native
Cost tier: expensive
const res = await elevenlabs.v1.audioNative({ /* ... */ });Source: packages/provider/elevenlabs/src/audio.ts
POST https://api.elevenlabs.io/v1/audio-native/content
Cost tier: expensive
const res = await elevenlabs.v1.audioNative.content.fromUrl({ /* ... */ });Source: packages/provider/elevenlabs/src/audio.ts
POST https://api.elevenlabs.io/v1/audio-native/{projectId}/content
Cost tier: expensive
const res = await elevenlabs.v1.audioNative.content.update({ /* ... */ });Source: packages/provider/elevenlabs/src/audio.ts
GET https://api.elevenlabs.io/v1/audio-native/{projectId}/settings
Cost tier: expensive
const res = await elevenlabs.v1.audioNative.settings({ /* ... */ });Source: packages/provider/elevenlabs/src/audio.ts
convai
GET https://api.elevenlabs.io/v1/convai/agent/{agentId}/knowledge-base/size
Cost tier: expensive
const res = await elevenlabs.v1.convai.agent.knowledgeBase.size({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/agent/{agentId}/llm-usage/calculate
Cost tier: expensive
const res = await elevenlabs.v1.convai.agent.llmUsage.calculate({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/agent-testing/bulk-move
Cost tier: expensive
const res = await elevenlabs.v1.convai.agentTesting.bulkMove({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/agent-testing/create
Cost tier: expensive
const res = await elevenlabs.v1.convai.agentTesting.create({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
DELETE https://api.elevenlabs.io/v1/convai/agent-testing/{testId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.agentTesting.delete({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/agent-testing/folders
Cost tier: expensive
const res = await elevenlabs.v1.convai.agentTesting.folders.create({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
DELETE https://api.elevenlabs.io/v1/convai/agent-testing/folders/{folderId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.agentTesting.folders.delete({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/agent-testing/folders/{folderId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.agentTesting.folders.get({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
PATCH https://api.elevenlabs.io/v1/convai/agent-testing/folders/{folderId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.agentTesting.folders.update({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/agent-testing/{testId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.agentTesting.get({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/agent-testing
Cost tier: expensive
const res = await elevenlabs.v1.convai.agentTesting.list({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/agent-testing/summaries
Cost tier: expensive
const res = await elevenlabs.v1.convai.agentTesting.summaries({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
PUT https://api.elevenlabs.io/v1/convai/agent-testing/{testId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.agentTesting.update({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/agents/{agentId}/avatar
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.avatar({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/agents/{agentId}/branches
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.branches({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/agents/{agentId}/branches
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.branches.create({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/agents/{agentId}/branches/{branchId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.branches.get({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/agents/{agentId}/branches/{sourceBranchId}/merge
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.branches.merge({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/agents/{agentId}/branches/{sourceBranchId}/merge-preview
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.branches.mergePreview({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/agents/{agentId}/branches/{branchId}/rebase
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.branches.rebase({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/agents/{agentId}/branches/{branchId}/rebase-preview
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.branches.rebasePreview({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
PATCH https://api.elevenlabs.io/v1/convai/agents/{agentId}/branches/{branchId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.branches.update({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/agents/create
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.create({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
DELETE https://api.elevenlabs.io/v1/convai/agents/{agentId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.delete({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/agents/{agentId}/deployments
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.deployments({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/agents/{agentId}/drafts
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.drafts.create({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
DELETE https://api.elevenlabs.io/v1/convai/agents/{agentId}/drafts
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.drafts.delete({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/agents/{agentId}/duplicate
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.duplicate({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/agents/{agentId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.get({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/agents/{agentId}/link
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.link({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/agents
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.list({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/agents/{agentId}/run-tests
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.runTests({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/agents/{agentId}/simulate-conversation
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.simulateConversation({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/agents/{agentId}/simulate-conversation/stream
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.simulateConversation.stream({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/agents/summaries
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.summaries({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/agents/{agentId}/topics
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.topics({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
PATCH https://api.elevenlabs.io/v1/convai/agents/{agentId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.update({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/agents/{agentId}/versions/{versionId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.versions.get({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/agents/{agentId}/widget
Cost tier: expensive
const res = await elevenlabs.v1.convai.agents.widget({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/analytics/live-count
Cost tier: expensive
const res = await elevenlabs.v1.convai.analytics.liveCount({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/batch-calling/{batchId}/cancel
Cost tier: expensive
const res = await elevenlabs.v1.convai.batchCalling.cancel({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
DELETE https://api.elevenlabs.io/v1/convai/batch-calling/{batchId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.batchCalling.delete({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/batch-calling/{batchId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.batchCalling.get({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/batch-calling/{batchId}/retry
Cost tier: expensive
const res = await elevenlabs.v1.convai.batchCalling.retry({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/batch-calling/submit
Cost tier: expensive
const res = await elevenlabs.v1.convai.batchCalling.submit({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/batch-calling/workspace
Cost tier: expensive
const res = await elevenlabs.v1.convai.batchCalling.workspace({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/conversation/get-signed-url
Cost tier: expensive
const res = await elevenlabs.v1.convai.conversation.getSignedUrl({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/conversation/token
Cost tier: expensive
const res = await elevenlabs.v1.convai.conversation.token({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/conversations/{conversationId}/analysis/run
Cost tier: expensive
const res = await elevenlabs.v1.convai.conversations.analysis({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/conversations/{conversationId}/analysis/evaluations/run
Cost tier: expensive
const res = await elevenlabs.v1.convai.conversations.analysis.evaluations({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/conversations/{conversationId}/audio
Cost tier: expensive
const res = await elevenlabs.v1.convai.conversations.audio({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
DELETE https://api.elevenlabs.io/v1/convai/conversations/{conversationId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.conversations.delete({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/conversations/{conversationId}/feedback
Cost tier: expensive
const res = await elevenlabs.v1.convai.conversations.feedback({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/conversations/{conversationId}/files
Cost tier: expensive
const res = await elevenlabs.v1.convai.conversations.files({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
DELETE https://api.elevenlabs.io/v1/convai/conversations/{conversationId}/files/{fileId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.conversations.files.delete({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/conversations/{conversationId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.conversations.get({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/conversations
Cost tier: expensive
const res = await elevenlabs.v1.convai.conversations.list({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/conversations/messages/smart-search
Cost tier: expensive
const res = await elevenlabs.v1.convai.conversations.messages.smartSearch({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/conversations/messages/text-search
Cost tier: expensive
const res = await elevenlabs.v1.convai.conversations.messages.textSearch({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/conversations/{conversationId}/sip-messages
Cost tier: expensive
const res = await elevenlabs.v1.convai.conversations.sipMessages({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/conversations/{conversationId}/tags
Cost tier: expensive
const res = await elevenlabs.v1.convai.conversations.tags({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
DELETE https://api.elevenlabs.io/v1/convai/conversations/{conversationId}/tags/{tagId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.conversations.tags.unassign({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/environment-variables
Cost tier: expensive
const res = await elevenlabs.v1.convai.environmentVariables.create({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/environment-variables/{envVarId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.environmentVariables.get({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/environment-variables
Cost tier: expensive
const res = await elevenlabs.v1.convai.environmentVariables.list({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
PATCH https://api.elevenlabs.io/v1/convai/environment-variables/{envVarId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.environmentVariables.update({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/exotel/outbound-call
Cost tier: expensive
const res = await elevenlabs.v1.convai.exotel.outboundCall({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/knowledge-base/bulk-move
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.bulkMove({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/knowledge-base/{documentationId}/chunks
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.chunks({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/knowledge-base/{documentationId}/chunk/{chunkId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.chunks.get({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/knowledge-base/{documentationId}/content
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.content({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
DELETE https://api.elevenlabs.io/v1/convai/knowledge-base/{documentationId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.delete({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/knowledge-base/{documentationId}/dependent-agents
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.dependentAgents({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/knowledge-base/file
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.file({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/knowledge-base/folder
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.folder({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/knowledge-base/{documentationId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.get({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/knowledge-base
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.list({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/knowledge-base/{documentId}/move
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.move({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/knowledge-base/rag-index
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.ragIndex({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/knowledge-base/rag-index
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.ragIndex.batch({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/knowledge-base/{documentationId}/rag-index
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.ragIndex.compute({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
DELETE https://api.elevenlabs.io/v1/convai/knowledge-base/{documentationId}/rag-index/{ragIndexId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.ragIndex.delete({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/knowledge-base/{documentationId}/rag-index
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.ragIndex.get({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/knowledge-base/{documentationId}/refresh
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.refresh({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/knowledge-base/search
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.search({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/knowledge-base/{documentationId}/source-file-url
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.sourceFileUrl({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/knowledge-base/summaries
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.summaries({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/knowledge-base/text
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.text({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
PATCH https://api.elevenlabs.io/v1/convai/knowledge-base/{documentationId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.update({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
PATCH https://api.elevenlabs.io/v1/convai/knowledge-base/{documentationId}/update-file
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.updateFile({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/knowledge-base/url
Cost tier: expensive
const res = await elevenlabs.v1.convai.knowledgeBase.url({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/llm/list
Cost tier: expensive
const res = await elevenlabs.v1.convai.llm.list({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/llm-usage/calculate
Cost tier: expensive
const res = await elevenlabs.v1.convai.llmUsage.calculate({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/mcp-servers
Cost tier: expensive
const res = await elevenlabs.v1.convai.mcpServers.create({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
DELETE https://api.elevenlabs.io/v1/convai/mcp-servers/{mcpServerId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.mcpServers.delete({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/mcp-servers/{mcpServerId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.mcpServers.get({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/mcp-servers
Cost tier: expensive
const res = await elevenlabs.v1.convai.mcpServers.list({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/mcp-servers/{mcpServerId}/tool-approvals
Cost tier: expensive
const res = await elevenlabs.v1.convai.mcpServers.toolApprovals.create({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
DELETE https://api.elevenlabs.io/v1/convai/mcp-servers/{mcpServerId}/tool-approvals/{toolName}
Cost tier: expensive
const res = await elevenlabs.v1.convai.mcpServers.toolApprovals.delete({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/mcp-servers/{mcpServerId}/tool-configs
Cost tier: expensive
const res = await elevenlabs.v1.convai.mcpServers.toolConfigs.create({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
DELETE https://api.elevenlabs.io/v1/convai/mcp-servers/{mcpServerId}/tool-configs/{toolName}
Cost tier: expensive
const res = await elevenlabs.v1.convai.mcpServers.toolConfigs.delete({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/mcp-servers/{mcpServerId}/tool-configs/{toolName}
Cost tier: expensive
const res = await elevenlabs.v1.convai.mcpServers.toolConfigs.get({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
PATCH https://api.elevenlabs.io/v1/convai/mcp-servers/{mcpServerId}/tool-configs/{toolName}
Cost tier: expensive
const res = await elevenlabs.v1.convai.mcpServers.toolConfigs.update({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/mcp-servers/{mcpServerId}/tools
Cost tier: expensive
const res = await elevenlabs.v1.convai.mcpServers.tools({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
PATCH https://api.elevenlabs.io/v1/convai/mcp-servers/{mcpServerId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.mcpServers.update({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/phone-numbers
Cost tier: expensive
const res = await elevenlabs.v1.convai.phoneNumbers.create({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
DELETE https://api.elevenlabs.io/v1/convai/phone-numbers/{phoneNumberId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.phoneNumbers.delete({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/phone-numbers/{phoneNumberId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.phoneNumbers.get({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/phone-numbers
Cost tier: expensive
const res = await elevenlabs.v1.convai.phoneNumbers.list({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
GET https://api.elevenlabs.io/v1/convai/phone-numbers/{phoneNumberId}/sip-messages
Cost tier: expensive
const res = await elevenlabs.v1.convai.phoneNumbers.sipMessages({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
PATCH https://api.elevenlabs.io/v1/convai/phone-numbers/{phoneNumberId}
Cost tier: expensive
const res = await elevenlabs.v1.convai.phoneNumbers.update({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
POST https://api.elevenlabs.io/v1/convai/secrets
Cost tier: expensive
const res = await elevenlabs.v1.convai.secrets.create({ /* ... */ });Source: packages/provider/elevenlabs/src/convai.ts
DELETE https://api.elevenlabs.io/v1/convai/secrets/{secretId}
Cost tier: expensive
[Upstream docs ↗](https://e
