---
name: pp-elevenlabs
description: "Printing Press CLI for Elevenlabs. This is the documentation for the ElevenLabs API. You can use this API to use our service programmatically, this is..."
author: "Cathryn Lavery"
license: "Apache-2.0"
argument-hint: "<command> [args] | install cli|mcp"
allowed-tools: "Read Bash"
metadata:
  openclaw:
    requires:
      bins:
        - elevenlabs-pp-cli
    install:
      - kind: go
        bins: [elevenlabs-pp-cli]
        module: github.com/mvanhorn/printing-press-library/library/ai/elevenlabs/cmd/elevenlabs-pp-cli
---

# Elevenlabs — Printing Press CLI

## Prerequisites: Install the CLI

This skill drives the `elevenlabs-pp-cli` binary. **You must verify the CLI is installed before invoking any command from this skill.** If it is missing, install it first:

1. Install via the Printing Press installer. It defaults binaries to `$HOME/.local/bin` on macOS/Linux and `%LOCALAPPDATA%\Programs\PrintingPress\bin` on Windows:
   ```bash
   npx -y @mvanhorn/printing-press-library install elevenlabs --cli-only
   ```
2. Verify: `elevenlabs-pp-cli --version`
3. Ensure the reported install directory is on `$PATH` for the agent/runtime that will invoke this skill.

If the `npx` install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.6 or newer):

```bash
go install github.com/mvanhorn/printing-press-library/library/ai/elevenlabs/cmd/elevenlabs-pp-cli@latest
```

If `--version` reports "command not found" after install, the runtime cannot see the binary directory on `$PATH`. Do not proceed with skill commands until verification succeeds.

## Unique Capabilities

These capabilities aren't available in any other tool for this API.

### Agent audio planning
- **`voice discover`** — Search owned and shared ElevenLabs voices through one compact, JSON-first command.

  _Agents can pick a voice before generation without paging through incompatible raw endpoints._

  ```bash
  elevenlabs-pp-cli voice discover --source all --limit 5 --agent
  ```
- **`tts resolve`** — Resolve a voice, model, output format, default settings, and subscription context before rendering.

  _Agents can validate generation choices cheaply before spending quota on audio._

  ```bash
  elevenlabs-pp-cli tts resolve --voice JBFqnCBsd6RMkjVDRZzb --model auto --agent
  ```

### Audio artifact workflows
- **`tts render`** — Render text to an audio file and print a structured manifest with file path, byte count, model, and voice.

  _Agents get a durable audio artifact plus machine-readable metadata in one step._

  ```bash
  elevenlabs-pp-cli tts render --voice JBFqnCBsd6RMkjVDRZzb --text 'Hello from ElevenLabs.' --out hello.mp3 --agent
  ```
- **`dialogue cast`** — Render speaker-labelled dialogue lines by resolving speaker-to-voice assignments and saving audio.

  _Agents can generate multi-speaker dialogue from scripts without manually constructing JSON voice-id payloads._

  ```bash
  elevenlabs-pp-cli dialogue cast --line narrator='Welcome.' --cast narrator=JBFqnCBsd6RMkjVDRZzb --out dialogue.mp3 --agent
  ```

## Command Reference

**audio-isolation** — Manage audio isolation

- `elevenlabs-pp-cli audio-isolation audio_isolation` — Removes background noise from audio
- `elevenlabs-pp-cli audio-isolation delete-history-item` — Deletes a specific audio isolation history item and the associated media files.
- `elevenlabs-pp-cli audio-isolation get-history` — Returns a list of all your audio isolation generations.
- `elevenlabs-pp-cli audio-isolation stream` — Removes background noise from audio and streams the result

**audio-native** — Manage audio native

- `elevenlabs-pp-cli audio-native create-project` — Creates Audio Native enabled project, optionally starts conversion and returns project ID and embeddable HTML snippet.
- `elevenlabs-pp-cli audio-native update-content-from-url` — Finds an AudioNative project matching the provided URL, extracts content from the URL, updates the project content,...

**convai** — Manage convai

- `elevenlabs-pp-cli convai add-documentation-to-knowledge-base` — Uploads a file or reference a webpage to use as part of the shared knowledge base
- `elevenlabs-pp-cli convai add-mcp-server-tool-approval-route` — Add approval for a specific MCP tool when using per-tool approval mode.
- `elevenlabs-pp-cli convai add-mcp-tool-config-override-route` — Create configuration overrides for a specific MCP tool.
- `elevenlabs-pp-cli convai add-tool-route` — Add a new tool to the available tools in the workspace.
- `elevenlabs-pp-cli convai agent-testing-bulk-move-route` — Moves multiple tests or folders from one folder to another.
- `elevenlabs-pp-cli convai assign-conversation-tags-route` — Assign one or more conversation tags to a conversation. Tags that are already assigned are ignored. Tags must belong...
- `elevenlabs-pp-cli convai cancel-batch-call` — Cancel a running batch call and set all recipients to cancelled status.
- `elevenlabs-pp-cli convai cancel-file-upload-route` — Remove a file upload from a conversation. Only possible if the file hasn't already been used in the conversation.
- `elevenlabs-pp-cli convai create-agent-deployment-route` — Create a new deployment for an agent
- `elevenlabs-pp-cli convai create-agent-draft-route` — Create a new draft for an agent
- `elevenlabs-pp-cli convai create-agent-response-test-route` — Creates a new agent response test.
- `elevenlabs-pp-cli convai create-agent-route` — Create an agent from a config object
- `elevenlabs-pp-cli convai create-agent-test-folder-route` — Creates a folder for organizing agent tests.
- `elevenlabs-pp-cli convai create-batch-call` — Submit a batch call request to schedule calls for multiple recipients.
- `elevenlabs-pp-cli convai create-branch-route` — Create a new branch from a given version of any branch
- `elevenlabs-pp-cli convai create-conversation-tag-route` — Create a new conversation tag for the workspace.
- `elevenlabs-pp-cli convai create-environment-variable` — Create a new environment variable for the workspace
- `elevenlabs-pp-cli convai create-file-document-route` — Create a knowledge base document generated form the uploaded file.
- `elevenlabs-pp-cli convai create-folder-route` — Create a folder used for grouping documents together.
- `elevenlabs-pp-cli convai create-mcp-server-route` — Create a new MCP server configuration in the workspace.
- `elevenlabs-pp-cli convai create-phone-number-route` — Import Phone Number from provider configuration (Twilio or SIP trunk)
- `elevenlabs-pp-cli convai create-secret-route` — Create a new secret for the workspace
- `elevenlabs-pp-cli convai create-text-document-route` — Create a knowledge base document containing the provided text.
- `elevenlabs-pp-cli convai create-url-document-route` — Create a knowledge base document generated by scraping the given webpage.
- `elevenlabs-pp-cli convai delete-agent-draft-route` — Delete a draft for an agent
- `elevenlabs-pp-cli convai delete-agent-route` — Delete an agent
- `elevenlabs-pp-cli convai delete-agent-test-folder-route` — Deletes an agent test folder by ID. Use force=true to delete a non-empty folder and all its contents.
- `elevenlabs-pp-cli convai delete-batch-call` — Permanently delete a batch call and all recipient records. Conversations remain in history.
- `elevenlabs-pp-cli convai delete-chat-response-test-route` — Deletes an agent response test by ID.
- `elevenlabs-pp-cli convai delete-conversation-route` — Delete a particular conversation
- `elevenlabs-pp-cli convai delete-conversation-tag-route` — Delete a conversation tag. Restricted to the tag owner or a workspace admin.
- `elevenlabs-pp-cli convai delete-knowledge-base-document` — Delete a document or folder from the knowledge base.
- `elevenlabs-pp-cli convai delete-mcp-server-route` — Delete a specific MCP server configuration from the workspace.
- `elevenlabs-pp-cli convai delete-phone-number-route` — Delete Phone Number by ID
- `elevenlabs-pp-cli convai delete-rag-index` — Delete RAG index for the knowledgebase document.
- `elevenlabs-pp-cli convai delete-secret-route` — Delete a workspace secret if it's not in use
- `elevenlabs-pp-cli convai delete-tool-route` — Delete tool from the workspace.
- `elevenlabs-pp-cli convai delete-whatsapp-account` — Delete a WhatsApp account
- `elevenlabs-pp-cli convai duplicate-agent-route` — Create a new agent by duplicating an existing one
- `elevenlabs-pp-cli convai get-agent-knowledge-base-size` — Returns the number of pages in the agent's knowledge base.
- `elevenlabs-pp-cli convai get-agent-knowledge-base-summaries-route` — Gets multiple knowledge base document summaries by their IDs.
- `elevenlabs-pp-cli convai get-agent-link-route` — Get the current link used to share the agent with others
- `elevenlabs-pp-cli convai get-agent-llm-expected-cost-calculation` — Calculates expected number of LLM tokens needed for the specified agent.
- `elevenlabs-pp-cli convai get-agent-response-test-route` — Gets an agent response test by ID.
- `elevenlabs-pp-cli convai get-agent-response-tests-summaries-route` — Gets multiple agent response tests by their IDs. Returns a dictionary mapping test IDs to test summaries.
- `elevenlabs-pp-cli convai get-agent-route` — Retrieve config for an agent
- `elevenlabs-pp-cli convai get-agent-summaries-route` — Returns summaries for the specified agents.
- `elevenlabs-pp-cli convai get-agent-test-folder-route` — Gets an agent test folder by ID, including its folder path.
- `elevenlabs-pp-cli convai get-agent-topics-route` — Returns the latest topic discovery run results for a given agent.
- `elevenlabs-pp-cli convai get-agent-widget-route` — Retrieve the widget configuration for an agent
- `elevenlabs-pp-cli convai get-agents-route` — Returns a list of your agents and their metadata.
- `elevenlabs-pp-cli convai get-api-integration-docs` — Get MDX documentation for all integrations that have it. Returns docs for publicly available integrations when...
- `elevenlabs-pp-cli convai get-batch-call` — Get detailed information about a batch call including all recipients.
- `elevenlabs-pp-cli convai get-branch-route` — Get information about a single agent branch
- `elevenlabs-pp-cli convai get-branches-route` — Returns a list of branches an agent has
- `elevenlabs-pp-cli convai get-conversation-audio-route` — Get the audio recording of a particular conversation
- `elevenlabs-pp-cli convai get-conversation-histories-route` — Get all conversations of agents that user owns. With option to restrict to a specific agent.
- `elevenlabs-pp-cli convai get-conversation-history-route` — Get the details of a particular conversation
- `elevenlabs-pp-cli convai get-conversation-signed-link` — Get a signed url to start a conversation with an agent with an agent that requires authorization
- `elevenlabs-pp-cli convai get-conversation-sip-messages` — Get SIP messages associated with a conversation's phone call
- `elevenlabs-pp-cli convai get-conversation-tag-route` — Get a conversation tag by ID.
- `elevenlabs-pp-cli convai get-conversation-users-route` — Get distinct users from conversations with pagination.
- `elevenlabs-pp-cli convai get-dashboard-settings-route` — Retrieve Convai dashboard settings for the workspace
- `elevenlabs-pp-cli convai get-documentation-chunk-from-knowledge-base` — Get details about a specific documentation part used by RAG.
- `elevenlabs-pp-cli convai get-documentation-chunks-from-knowledge-base` — Get all RAG chunks for a specific knowledge base document.
- `elevenlabs-pp-cli convai get-documentation-from-knowledge-base` — Get details about a specific documentation making up the agent's knowledge base
- `elevenlabs-pp-cli convai get-environment-variable` — Get a specific environment variable by ID
- `elevenlabs-pp-cli convai get-knowledge-base-content` — Get the entire content of a document from the knowledge base
- `elevenlabs-pp-cli convai get-knowledge-base-dependent-agents` — Get a list of agents depending on this knowledge base document
- `elevenlabs-pp-cli convai get-knowledge-base-list-route` — Get a list of available knowledge base documents
- `elevenlabs-pp-cli convai get-knowledge-base-source-file-url` — Get a signed URL to download the original source file of a file-type document from the knowledge base
- `elevenlabs-pp-cli convai get-live-count` — Get the live count of the ongoing conversations.
- `elevenlabs-pp-cli convai get-livekit-token` — Get a WebRTC session token for real-time communication.
- `elevenlabs-pp-cli convai get-mcp-route` — Retrieve a specific MCP server configuration from the workspace.
- `elevenlabs-pp-cli convai get-mcp-tool-config-override-route` — Retrieve configuration overrides for a specific MCP tool.
- `elevenlabs-pp-cli convai get-or-create-rag-indexes` — Retrieves and/or creates RAG indexes for multiple knowledge base documents in a single request. Maximum 100 items...
- `elevenlabs-pp-cli convai get-phone-number-route` — Retrieve Phone Number details by ID
- `elevenlabs-pp-cli convai get-public-llm-expected-cost-calculation` — Returns a list of LLM models and the expected cost for using them based on the provided values.
- `elevenlabs-pp-cli convai get-rag-index-overview` — Provides total size and other information of RAG indexes used by knowledgebase documents
- `elevenlabs-pp-cli convai get-rag-indexes` — Provides information about all RAG indexes of the specified knowledgebase document.
- `elevenlabs-pp-cli convai get-secret-dependencies-route` — Get paginated list of resources that depend on a specific secret, filtered by resource type.
- `elevenlabs-pp-cli convai get-secret-route` — Get a workspace secret by ID
- `elevenlabs-pp-cli convai get-secrets-route` — Get all workspace secrets for the user
- `elevenlabs-pp-cli convai get-settings-route` — Retrieve Convai settings for the workspace
- `elevenlabs-pp-cli convai get-signed-url-deprecated` — Get a signed url to start a conversation with an agent with an agent that requires authorization
- `elevenlabs-pp-cli convai get-test-invocation-route` — Gets a test invocation by ID.
- `elevenlabs-pp-cli convai get-tool-dependent-agents-route` — Get a list of agents depending on this tool
- `elevenlabs-pp-cli convai get-tool-executions-route` — Get paginated list of tool executions for a specific tool.
- `elevenlabs-pp-cli convai get-tool-route` — Get tool that is available in the workspace.
- `elevenlabs-pp-cli convai get-tools-route` — Get all available tools in the workspace.
- `elevenlabs-pp-cli convai get-version-metadata-route` — Get metadata for a specific agent version
- `elevenlabs-pp-cli convai get-whatsapp-account` — Get a WhatsApp account
- `elevenlabs-pp-cli convai get-workspace-batch-calls` — Get all batch calls for the current workspace.
- `elevenlabs-pp-cli convai handle-sip-trunk-outbound-call` — Handle an outbound call via SIP trunk
- `elevenlabs-pp-cli convai handle-twilio-outbound-call` — Handle an outbound call via Twilio
- `elevenlabs-pp-cli convai list-available-llms` — Returns a list of available LLM models that can be used with agents, including their capabilities and any...
- `elevenlabs-pp-cli convai list-chat-response-tests-route` — Lists all agent response tests with pagination support and optional search filtering.
- `elevenlabs-pp-cli convai list-conversation-tags-route` — List conversation tags for the workspace, ordered by most recently created first.
- `elevenlabs-pp-cli convai list-environment-variables` — List all environment variables for the workspace with optional filtering
- `elevenlabs-pp-cli convai list-mcp-server-tools-route` — Retrieve all tools available for a specific MCP server configuration.
- `elevenlabs-pp-cli convai list-mcp-servers-route` — Retrieve all MCP server configurations available in the workspace.
- `elevenlabs-pp-cli convai list-phone-numbers-route` — Retrieve all Phone Numbers
- `elevenlabs-pp-cli convai list-sip-messages` — Get SIP messages for a phone number
- `elevenlabs-pp-cli convai list-test-invocations-route` — Lists all test invocations with pagination support and optional search filtering.
- `elevenlabs-pp-cli convai list-whatsapp-accounts` — List all WhatsApp accounts
- `elevenlabs-pp-cli convai merge-branch-into-target` — Merge a branch into a target branch
- `elevenlabs-pp-cli convai patch-agent-settings-route` — Patches an Agent settings
- `elevenlabs-pp-cli convai post-agent-avatar-route` — Sets the avatar for an agent displayed in the widget
- `elevenlabs-pp-cli convai post-conversation-feedback-route` — Send the feedback for the given conversation
- `elevenlabs-pp-cli convai post-knowledge-base-bulk-move-route` — Moves multiple entities from one folder to another.
- `elevenlabs-pp-cli convai post-knowledge-base-move-route` — Moves the entity from one folder to another.
- `elevenlabs-pp-cli convai rag-index-status` — In case the document is not RAG indexed, it triggers rag indexing task, otherwise it just returns the current status.
- `elevenlabs-pp-cli convai refresh-url-document-route` — Manually refresh a URL document by re-fetching its content from the source URL.
- `elevenlabs-pp-cli convai register-twilio-call` — Register a Twilio call and return TwiML to connect the call
- `elevenlabs-pp-cli convai remove-mcp-server-tool-approval-route` — Remove approval for a specific MCP tool when using per-tool approval mode.
- `elevenlabs-pp-cli convai remove-mcp-tool-config-override-route` — Remove configuration overrides for a specific MCP tool.
- `elevenlabs-pp-cli convai resubmit-tests-route` — Resubmits specific test runs from a test invocation.
- `elevenlabs-pp-cli convai retry-batch-call` — Retry a batch call, calling failed and no-response recipients again.
- `elevenlabs-pp-cli convai run-agent-test-suite-route` — Run selected tests on the agent with provided configuration. If the agent configuration is provided, it will be used...
- `elevenlabs-pp-cli convai run-conversation-analysis` — Run the analysis for a conversation using the agent's current evaluation criteria and data collection settings.
- `elevenlabs-pp-cli convai run-conversation-simulation-route` — Run a conversation between the agent and a simulated user.
- `elevenlabs-pp-cli convai run-conversation-simulation-route-stream` — Run a conversation between the agent and a simulated user and stream back the response. Response is streamed back as...
- `elevenlabs-pp-cli convai search-knowledge-base-content-route` — Fuzzy text search over knowledge base document content
- `elevenlabs-pp-cli convai smart-search-conversation-messages-route` — Search conversation transcripts by semantic similarity to surface relevant messages based on meaning and intent,...
- `elevenlabs-pp-cli convai text-search-conversation-messages-route` — Search through conversation transcript messages by full-text and fuzzy search
- `elevenlabs-pp-cli convai unassign-conversation-tag-route` — Remove a single conversation tag from a conversation.
- `elevenlabs-pp-cli convai update-agent-response-test-route` — Updates an agent response test by ID.
- `elevenlabs-pp-cli convai update-agent-test-folder-route` — Updates an agent test folder. Currently only supports updating the folder name.
- `elevenlabs-pp-cli convai update-branch-route` — Update agent branch properties such as archiving status and protection level
- `elevenlabs-pp-cli convai update-conversation-tag-route` — Update a conversation tag's title and/or description. Restricted to the tag owner or a workspace admin.
- `elevenlabs-pp-cli convai update-dashboard-settings-route` — Update Convai dashboard settings for the workspace
- `elevenlabs-pp-cli convai update-document-route` — Update the name and/or content of a document.
- `elevenlabs-pp-cli convai update-environment-variable` — Replace an environment variable's values. Use null to remove an environment (except production).
- `elevenlabs-pp-cli convai update-file-document-route` — Update the source file of a file document. The document name, content, 