Skip to content

insodimension/speech-elevenlabs

v0.2.1MIT

ElevenLabs speech provider: an agent's replies spoken by Eleven v4 Turbo (or v4, or Flash v2.5) with word-level caption timing, and live voice conversations through an ElevenLabs agent that hands repository work to your coding agent. Choose it from a voice profile by naming the provider "elevenlabs".

What this package declares

The file a client reads when it loads this plugin, exactly as this revision carries it.

plugin.json
{
	"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
	"name": "speech-elevenlabs",
	"version": "0.2.1",
	"description": "ElevenLabs speech provider: an agent's replies spoken by Eleven v4 Turbo (or v4, or Flash v2.5) with word-level caption timing, and live voice conversations through an ElevenLabs agent that hands repository work to your coding agent. Choose it from a voice profile by naming the provider \"elevenlabs\".",
	"author": {
		"name": "Dimension"
	},
	"license": "MIT",
	"keywords": [
		"speech",
		"voice",
		"tts",
		"elevenlabs",
		"provider"
	],
	"extensions": {
		"ai.insodimension.dimension": {
			"contractVersion": 1,
			"title": "ElevenLabs voice",
			"icon": "assets/icon.svg",
			"category": "connector",
			"channel": "canary",
			"defaultEnabled": false,
			"entry": "src/index.ts",
			"providers": {
				"speech": [
					{
						"id": "elevenlabs",
						"speak": true,
						"listen": false,
						"converse": true
					}
				]
			},
			"connect": {
				"kind": [
					"form"
				],
				"setup": [
					{
						"title": "Create an ElevenLabs API key",
						"detail": "In ElevenLabs open Developers, then API Keys, and create a key. Turn on Text to Speech (required) and Voices: Read (optional; it lists your own voices in the picker). To talk live, also turn on the Agents (ConvAI) permissions, read and write: Live creates one shared agent called dimension-live on your account the first time you start a call. The key stays on this machine and is sent only to api.elevenlabs.io. Setting ELEVENLABS_API_KEY in the environment works too.",
						"url": "https://elevenlabs.io/app/settings/api-keys",
						"urlLabel": "Open ElevenLabs API keys"
					},
					{
						"title": "Choose it in a voice profile",
						"detail": "Connecting changes nobody's voice. A voice profile picks ElevenLabs by naming provider \"elevenlabs\", a model (eleven_v4_turbo is the default) and a voice id; a profile can list a keyless on-device voice after it as the fallback. For live calls a profile lists ElevenLabs under converse; the live-eleven profile shipped with this pack does."
					}
				],
				"form": [
					{
						"id": "apiKey",
						"label": "ElevenLabs API key",
						"secret": true,
						"help": "Needs the Text to Speech permission, and the Agents (ConvAI) read and write permissions for live calls. Stored only on this machine.",
						"helpUrl": "https://elevenlabs.io/app/settings/api-keys",
						"helpUrlLabel": "Open ElevenLabs API keys"
					}
				],
				"configTemplate": "connect/key.template.json",
				"configTarget": "~/.config/dimension-speech/elevenlabs.json"
			}
		}
	}
}

Client extensions

Data this package carries for particular clients. The directory lists the clients named and never reads what is addressed to them.

  • ai.insodimension.dimension