@kolbo/mcp 1.113.3 → 1.114.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolbo/mcp",
3
- "version": "1.113.3",
3
+ "version": "1.114.0",
4
4
  "description": "Kolbo AI MCP Server - Generate images, videos, music, speech, and sound effects from Claude Code",
5
5
  "main": "src/index.js",
6
6
  "bin": {
@@ -113,11 +113,11 @@ function registerVoiceTools(server, client, options = {}) {
113
113
  // ─── clone_voice ───────────────────────────────────────────
114
114
  server.tool(
115
115
  'clone_voice',
116
- 'Clone a custom TTS voice from an audio sample (the user\'s voice or any voice they own the rights to). Costs credits (provider-dependent) — confirm with the user before firing. Providers: "elevenlabs" (recommended, 2s–180s sample) or "deepdub" (2s–300s). After cloning, the voice appears in `list_voices` and can be used with generate_speech. Free plan caps at 3 custom voices.',
116
+ 'Clone a custom TTS voice from an audio sample (the user\'s voice or any voice they own the rights to). One-time setup cost depends on the provider — confirm with the user before firing. Providers (sample length, setup credits): "elevenlabs" (recommended, 8s–180s, 30), "kolbo" (Kolbo Voice Clone, 1s–60s, free), "fish-audio" (10s–120s, free), "cartesia" (3s–60s, 10), "heygen" (10s–180s, 75), "deepdub" (2s–300s, free), "minimax" (10s–180s, 400). After cloning, the voice appears in `list_voices` and can be used with generate_speech. Free plan caps at 3 custom voices.',
117
117
  {
118
118
  audio: z.string().describe('URL or absolute local path of the voice sample audio (any common format; converted server-side).'),
119
119
  voice_name: z.string().describe('Name for the cloned voice.'),
120
- provider: z.enum(['elevenlabs', 'deepdub']).optional().describe('Cloning provider. Default: elevenlabs (recommended).'),
120
+ provider: z.enum(['elevenlabs', 'kolbo', 'fish-audio', 'cartesia', 'heygen', 'deepdub', 'minimax']).optional().describe('Cloning provider (same set as the app\'s voice cloning). Default: elevenlabs (recommended).'),
121
121
  language: z.string().optional().describe('Optional language hint (auto-detected when omitted).'),
122
122
  project_id: z.string().optional().describe('Project to associate the voice with (from list_projects). Omit for the default project.')
123
123
  },
@@ -126,7 +126,8 @@ function registerVoiceTools(server, client, options = {}) {
126
126
  const form = new FormData();
127
127
  form.append('audioFile', resolved.buffer, { filename: resolved.filename, contentType: resolved.contentType });
128
128
  form.append('voiceName', voice_name);
129
- form.append('provider', provider || 'elevenlabs');
129
+ // "kolbo" is the user-facing name of Kolbo Voice Clone; the API keeps its internal id.
130
+ form.append('provider', provider === 'kolbo' ? 'zonos' : (provider || 'elevenlabs'));
130
131
  if (language) form.append('language', language);
131
132
  if (project_id) form.append('project_id', project_id);
132
133
  const result = await client.postMultipart('/v1/voices/clone', form);