@felores/kie-ai-mcp-server 1.2.0 → 1.5.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/README.md +659 -47
- package/dist/index.js +726 -31
- package/dist/kie-ai-client.d.ts +5 -1
- package/dist/kie-ai-client.js +96 -3
- package/dist/types.d.ts +196 -11
- package/dist/types.js +97 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,34 +1,96 @@
|
|
|
1
1
|
# Kie.ai MCP Server
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
3
|
+
**Access multiple AI models with one API. Generate videos, images, music, and audio.**
|
|
4
|
+
|
|
5
|
+
Access the world's best AI models through a single, developer-friendly API. Generate stunning videos, images, music, and audio at **lower cost than Fal.ai** with 99.9% uptime and 24/7 support.
|
|
6
|
+
|
|
7
|
+
## Why Choose Kie.ai MCP Server?
|
|
8
|
+
|
|
9
|
+
| Feature | Kie.ai | Fal.ai | Replicate.com |
|
|
10
|
+
|---------|--------|--------|---------------|
|
|
11
|
+
| **Pricing** | Lower | Higher | Higher |
|
|
12
|
+
| **Models** | All-in-one API | Limited | Separate APIs |
|
|
13
|
+
| **Uptime** | 99.9% | Lower | 99.5% |
|
|
14
|
+
| **Support** | 24/7 | Limited | Business hours |
|
|
15
|
+
| **API Keys** | One key | Multiple keys | Multiple keys |
|
|
16
|
+
| **Free Trial** | Yes | Limited | Limited |
|
|
17
|
+
|
|
18
|
+
### 🚀 **All AI Models in One API**
|
|
19
|
+
- **Google Veo 3**: Cinematic video generation with synchronized audio and 1080p output
|
|
20
|
+
- **Runway Aleph**: Advanced video editing with object removal and style transfer
|
|
21
|
+
- **Suno V5**: Professional music generation with realistic vocals up to 8 minutes
|
|
22
|
+
- **Nano Banana**: Lightning-fast image generation and editing
|
|
23
|
+
- **ElevenLabs**: Studio-quality text-to-speech and sound effects
|
|
24
|
+
- **ByteDance Seedance**: High-quality video with text-to-video and image-to-video
|
|
25
|
+
|
|
26
|
+
### 💰 **Affordable Pricing**
|
|
27
|
+
Pay-as-you-go credit system means you only pay for what you use. Good for startups and enterprises looking to reduce AI costs.
|
|
28
|
+
|
|
29
|
+
### ⚡ **Fast & Reliable**
|
|
30
|
+
- **99.9% uptime**
|
|
31
|
+
- **25.2s average response time**
|
|
32
|
+
- Low latency for applications
|
|
33
|
+
- High concurrency support
|
|
34
|
+
|
|
35
|
+
### 🔒 **Secure**
|
|
36
|
+
Your data is protected with encryption. We prioritize privacy and do not expose your information.
|
|
37
|
+
|
|
38
|
+
## What You Can Build
|
|
39
|
+
|
|
40
|
+
### 🎬 **Video Generation**
|
|
41
|
+
Generate videos from text or images. Use for:
|
|
42
|
+
- Social media content
|
|
43
|
+
- Marketing materials
|
|
44
|
+
- Product demonstrations
|
|
45
|
+
- Creative projects
|
|
46
|
+
|
|
47
|
+
### 🎨 **Image Generation**
|
|
48
|
+
Create images, edit existing ones, and upscale with AI. Use for:
|
|
49
|
+
- Content creation
|
|
50
|
+
- Product photography
|
|
51
|
+
- Artistic projects
|
|
52
|
+
- Design mockups
|
|
53
|
+
|
|
54
|
+
### 🎵 **Music Generation**
|
|
55
|
+
Generate music tracks with vocals. Use for:
|
|
56
|
+
- Background music for videos
|
|
57
|
+
- Podcast intros/outros
|
|
58
|
+
- Game soundtracks
|
|
59
|
+
- Commercial projects
|
|
60
|
+
|
|
61
|
+
### 🎤 **Audio Generation**
|
|
62
|
+
Voiceovers and sound effects. Use for:
|
|
63
|
+
- Narration and voiceovers
|
|
64
|
+
- Podcast production
|
|
65
|
+
- Game audio
|
|
66
|
+
- Accessibility features
|
|
67
|
+
|
|
68
|
+
## Key Features
|
|
69
|
+
|
|
70
|
+
- **🎯 One API Key**: Access all models with one credential
|
|
71
|
+
- **🔄 Task Management**: Built-in SQLite database for tracking generations
|
|
72
|
+
- **📱 Smart Routing**: Automatic endpoint detection and status monitoring
|
|
73
|
+
- **🛡️ Error Handling**: Validation and error recovery
|
|
74
|
+
- **⚙️ Flexible Parameters**: Control outputs with parameters
|
|
75
|
+
- **📊 Persistent Storage**: Tasks survive server restarts
|
|
76
|
+
- **🎛️ Quality Control**: Choose between speed (lite) and quality (pro) modes
|
|
77
|
+
- **🌐 Multilingual Support**: Text-to-speech in multiple languages
|
|
78
|
+
|
|
79
|
+
## Quick Start
|
|
80
|
+
|
|
81
|
+
### 🎯 Get Your Free API Key
|
|
82
|
+
1. Visit [Kie.ai API Key](https://kie.ai/api-key) to get your free API key
|
|
83
|
+
2. **Try any model for free** in the AI Playground before committing
|
|
84
|
+
3. Choose the flexible pricing plan that fits your needs
|
|
85
|
+
|
|
86
|
+
### 📦 Installation
|
|
87
|
+
|
|
88
|
+
#### Option 1: Install from NPM (Recommended)
|
|
26
89
|
```bash
|
|
27
90
|
npm install -g @felores/kie-ai-mcp-server
|
|
28
91
|
```
|
|
29
92
|
|
|
30
|
-
|
|
31
|
-
|
|
93
|
+
#### Option 2: Install from Source
|
|
32
94
|
```bash
|
|
33
95
|
# Clone the repository
|
|
34
96
|
git clone https://github.com/felores/kie-ai-mcp-server.git
|
|
@@ -41,6 +103,27 @@ npm install
|
|
|
41
103
|
npm run build
|
|
42
104
|
```
|
|
43
105
|
|
|
106
|
+
### ⚙️ Configuration
|
|
107
|
+
|
|
108
|
+
Create your environment file:
|
|
109
|
+
```bash
|
|
110
|
+
# Required: Your API key from https://kie.ai/api-key
|
|
111
|
+
export KIE_AI_API_KEY="your_api_key_here"
|
|
112
|
+
|
|
113
|
+
# Optional: Custom settings
|
|
114
|
+
export KIE_AI_BASE_URL="https://api.kie.ai/api/v1" # Default
|
|
115
|
+
export KIE_AI_TIMEOUT="60000" # Default: 60 seconds
|
|
116
|
+
export KIE_AI_DB_PATH="./tasks.db" # Default: local database
|
|
117
|
+
export KIE_AI_CALLBACK_URL="https://your-domain.com/webhook" # For notifications
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 🚀 Start Generating
|
|
121
|
+
You're ready to create amazing AI content! The server will automatically:
|
|
122
|
+
- Track all your generations in a local database
|
|
123
|
+
- Handle task status and completion notifications
|
|
124
|
+
- Route requests to the optimal AI models
|
|
125
|
+
- Provide detailed error messages and guidance
|
|
126
|
+
|
|
44
127
|
## Configuration
|
|
45
128
|
|
|
46
129
|
### Environment Variables
|
|
@@ -88,7 +171,35 @@ Or if installed globally:
|
|
|
88
171
|
|
|
89
172
|
## Available Tools
|
|
90
173
|
|
|
91
|
-
### 1. `
|
|
174
|
+
### 1. `list_tasks`
|
|
175
|
+
List recent tasks with their status.
|
|
176
|
+
|
|
177
|
+
**Parameters:**
|
|
178
|
+
- `limit` (integer, optional): Max tasks to return (default: 20, max: 100)
|
|
179
|
+
- `status` (string, optional): Filter by status ("pending", "processing", "completed", "failed")
|
|
180
|
+
|
|
181
|
+
**Example:**
|
|
182
|
+
```json
|
|
183
|
+
{
|
|
184
|
+
"limit": 10,
|
|
185
|
+
"status": "completed"
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### 2. `get_task_status`
|
|
190
|
+
Check the status of a generation task.
|
|
191
|
+
|
|
192
|
+
**Parameters:**
|
|
193
|
+
- `task_id` (string, required): Task ID to check
|
|
194
|
+
|
|
195
|
+
**Example:**
|
|
196
|
+
```json
|
|
197
|
+
{
|
|
198
|
+
"task_id": "281e5b0*********************f39b9"
|
|
199
|
+
}
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### 3. `nano_banana_generate`
|
|
92
203
|
Generate images using Nano Banana.
|
|
93
204
|
|
|
94
205
|
**Parameters:**
|
|
@@ -105,7 +216,7 @@ Generate images using Nano Banana.
|
|
|
105
216
|
}
|
|
106
217
|
```
|
|
107
218
|
|
|
108
|
-
###
|
|
219
|
+
### 4. `nano_banana_edit`
|
|
109
220
|
Edit images using natural language prompts.
|
|
110
221
|
|
|
111
222
|
**Parameters:**
|
|
@@ -124,7 +235,7 @@ Edit images using natural language prompts.
|
|
|
124
235
|
}
|
|
125
236
|
```
|
|
126
237
|
|
|
127
|
-
###
|
|
238
|
+
### 5. `nano_banana_upscale`
|
|
128
239
|
Upscale images with optional face enhancement.
|
|
129
240
|
|
|
130
241
|
**Parameters:**
|
|
@@ -141,7 +252,7 @@ Upscale images with optional face enhancement.
|
|
|
141
252
|
}
|
|
142
253
|
```
|
|
143
254
|
|
|
144
|
-
###
|
|
255
|
+
### 6. `veo3_generate_video`
|
|
145
256
|
Generate videos using Veo3.
|
|
146
257
|
|
|
147
258
|
**Parameters:**
|
|
@@ -166,19 +277,6 @@ Generate videos using Veo3.
|
|
|
166
277
|
}
|
|
167
278
|
```
|
|
168
279
|
|
|
169
|
-
### 5. `get_task_status`
|
|
170
|
-
Check the status of a generation task.
|
|
171
|
-
|
|
172
|
-
**Parameters:**
|
|
173
|
-
- `task_id` (string, required): Task ID to check
|
|
174
|
-
|
|
175
|
-
### 6. `list_tasks`
|
|
176
|
-
List recent tasks with their status.
|
|
177
|
-
|
|
178
|
-
**Parameters:**
|
|
179
|
-
- `limit` (integer, optional): Max tasks to return (default: 20, max: 100)
|
|
180
|
-
- `status` (string, optional): Filter by status ("pending", "processing", "completed", "failed")
|
|
181
|
-
|
|
182
280
|
### 7. `veo3_get_1080p_video`
|
|
183
281
|
Get 1080P high-definition version of a Veo3 video.
|
|
184
282
|
|
|
@@ -195,8 +293,8 @@ Generate music with AI using Suno models.
|
|
|
195
293
|
- `prompt` (string, required): Description of desired audio content (max 5000 chars for V4_5+, V5; 3000 for V3_5, V4; 500 chars for non-custom mode)
|
|
196
294
|
- `customMode` (boolean, required): Enable advanced parameter customization
|
|
197
295
|
- `instrumental` (boolean, required): Generate instrumental music (no lyrics)
|
|
198
|
-
- `model` (enum,
|
|
199
|
-
- `callBackUrl` (string,
|
|
296
|
+
- `model` (enum, optional): AI model version - "V3_5", "V4", "V4_5", "V4_5PLUS", or "V5" (default: "V5")
|
|
297
|
+
- `callBackUrl` (string, optional): URL to receive task completion updates (uses KIE_AI_CALLBACK_URL environment variable if not provided)
|
|
200
298
|
- `style` (string, optional): Music style/genre (required in custom mode, max 1000 chars for V4_5+, V5; 200 for V3_5, V4)
|
|
201
299
|
- `title` (string, optional): Track title (required in custom mode, max 80 chars)
|
|
202
300
|
- `negativeTags` (string, optional): Music styles to exclude (max 200 chars)
|
|
@@ -205,7 +303,9 @@ Generate music with AI using Suno models.
|
|
|
205
303
|
- `weirdnessConstraint` (number, optional): Creative deviation control (0-1, up to 2 decimal places)
|
|
206
304
|
- `audioWeight` (number, optional): Audio feature balance (0-1, up to 2 decimal places)
|
|
207
305
|
|
|
208
|
-
**
|
|
306
|
+
**Examples:**
|
|
307
|
+
|
|
308
|
+
With explicit callback URL:
|
|
209
309
|
```json
|
|
210
310
|
{
|
|
211
311
|
"prompt": "A calm and relaxing piano track with soft melodies",
|
|
@@ -218,7 +318,282 @@ Generate music with AI using Suno models.
|
|
|
218
318
|
}
|
|
219
319
|
```
|
|
220
320
|
|
|
221
|
-
|
|
321
|
+
Using environment variable (KIE_AI_CALLBACK_URL):
|
|
322
|
+
```json
|
|
323
|
+
{
|
|
324
|
+
"prompt": "A relaxing electronic music track",
|
|
325
|
+
"customMode": false,
|
|
326
|
+
"instrumental": false
|
|
327
|
+
}
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
Using explicit model (overrides default V5):
|
|
331
|
+
```json
|
|
332
|
+
{
|
|
333
|
+
"prompt": "A relaxing electronic music track",
|
|
334
|
+
"customMode": false,
|
|
335
|
+
"instrumental": false,
|
|
336
|
+
"model": "V4_5PLUS"
|
|
337
|
+
}
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
**Note**: In custom mode, `style` and `title` are required. If `instrumental` is false, `prompt` is used as exact lyrics. The `callBackUrl` is optional and will use the `KIE_AI_CALLBACK_URL` environment variable if not provided. The `model` parameter defaults to "V5" but can be explicitly set to any available version.
|
|
341
|
+
|
|
342
|
+
### 9. `elevenlabs_tts`
|
|
343
|
+
Generate speech from text using ElevenLabs multilingual TTS v2 model.
|
|
344
|
+
|
|
345
|
+
**Parameters:**
|
|
346
|
+
- `text` (string, required): The text to convert to speech (max 5000 characters)
|
|
347
|
+
- `voice` (enum, optional): Voice to use - "Rachel", "Aria", "Roger", "Sarah", "Laura", "Charlie", "George", "Callum", "River", "Liam", "Charlotte", "Alice", "Matilda", "Will", "Jessica", "Eric", "Chris", "Brian", "Daniel", "Lily", "Bill" (default: "Rachel")
|
|
348
|
+
- `stability` (number, optional): Voice stability (0-1, step 0.01, default: 0.5)
|
|
349
|
+
- `similarity_boost` (number, optional): Similarity boost (0-1, step 0.01, default: 0.75)
|
|
350
|
+
- `style` (number, optional): Style exaggeration (0-1, step 0.01, default: 0)
|
|
351
|
+
- `speed` (number, optional): Speech speed (0.7-1.2, step 0.01, default: 1.0)
|
|
352
|
+
- `timestamps` (boolean, optional): Whether to return timestamps for each word (default: false)
|
|
353
|
+
- `previous_text` (string, optional): Text that came before current request for continuity (max 5000 chars)
|
|
354
|
+
- `next_text` (string, optional): Text that comes after current request for continuity (max 5000 chars)
|
|
355
|
+
- `language_code` (string, optional): ISO 639-1 language code for language enforcement (max 500 chars)
|
|
356
|
+
- `callBackUrl` (string, optional): URL to receive task completion updates (uses KIE_AI_CALLBACK_URL environment variable if not provided)
|
|
357
|
+
|
|
358
|
+
**Examples:**
|
|
359
|
+
|
|
360
|
+
Basic TTS generation:
|
|
361
|
+
```json
|
|
362
|
+
{
|
|
363
|
+
"text": "Hello, this is a test of the ElevenLabs text-to-speech system.",
|
|
364
|
+
"voice": "Rachel"
|
|
365
|
+
}
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
Advanced voice controls:
|
|
369
|
+
```json
|
|
370
|
+
{
|
|
371
|
+
"text": "Welcome to our presentation on artificial intelligence",
|
|
372
|
+
"voice": "Aria",
|
|
373
|
+
"stability": 0.8,
|
|
374
|
+
"similarity_boost": 0.9,
|
|
375
|
+
"style": 0.3,
|
|
376
|
+
"speed": 1.1
|
|
377
|
+
}
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
With continuity for longer texts:
|
|
381
|
+
```json
|
|
382
|
+
{
|
|
383
|
+
"text": "This is the second part of our conversation.",
|
|
384
|
+
"voice": "Roger",
|
|
385
|
+
"previous_text": "This is the first part of our conversation.",
|
|
386
|
+
"next_text": "This is the third part of our conversation."
|
|
387
|
+
}
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
**Note**: The `callBackUrl` is optional and will use the `KIE_AI_CALLBACK_URL` environment variable if not provided. Generation typically takes 30 seconds to 2 minutes depending on text length.
|
|
391
|
+
|
|
392
|
+
### 10. `elevenlabs_tts_turbo`
|
|
393
|
+
Generate speech from text using ElevenLabs Turbo 2.5 TTS model (faster generation with language enforcement support).
|
|
394
|
+
|
|
395
|
+
**Parameters:**
|
|
396
|
+
- `text` (string, required): The text to convert to speech (max 5000 characters)
|
|
397
|
+
- `voice` (enum, optional): Voice to use - "Rachel", "Aria", "Roger", "Sarah", "Laura", "Charlie", "George", "Callum", "River", "Liam", "Charlotte", "Alice", "Matilda", "Will", "Jessica", "Eric", "Chris", "Brian", "Daniel", "Lily", "Bill" (default: "Rachel")
|
|
398
|
+
- `stability` (number, optional): Voice stability (0-1, step 0.01, default: 0.5)
|
|
399
|
+
- `similarity_boost` (number, optional): Similarity boost (0-1, step 0.01, default: 0.75)
|
|
400
|
+
- `style` (number, optional): Style exaggeration (0-1, step 0.01, default: 0)
|
|
401
|
+
- `speed` (number, optional): Speech speed (0.7-1.2, step 0.01, default: 1.0)
|
|
402
|
+
- `timestamps` (boolean, optional): Whether to return timestamps for each word (default: false)
|
|
403
|
+
- `previous_text` (string, optional): Text that came before current request for continuity (max 5000 chars)
|
|
404
|
+
- `next_text` (string, optional): Text that comes after current request for continuity (max 5000 chars)
|
|
405
|
+
- `language_code` (string, optional): ISO 639-1 language code for language enforcement - Turbo 2.5 supports this feature (max 500 chars)
|
|
406
|
+
- `callBackUrl` (string, optional): URL to receive task completion updates (uses KIE_AI_CALLBACK_URL environment variable if not provided)
|
|
407
|
+
|
|
408
|
+
**Examples:**
|
|
409
|
+
|
|
410
|
+
Fast TTS generation:
|
|
411
|
+
```json
|
|
412
|
+
{
|
|
413
|
+
"text": "This is a fast generation using the Turbo model.",
|
|
414
|
+
"voice": "Aria"
|
|
415
|
+
}
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
With language enforcement:
|
|
419
|
+
```json
|
|
420
|
+
{
|
|
421
|
+
"text": "Bonjour, comment allez-vous?",
|
|
422
|
+
"voice": "Rachel",
|
|
423
|
+
"language_code": "fr"
|
|
424
|
+
}
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
Advanced controls with continuity:
|
|
428
|
+
```json
|
|
429
|
+
{
|
|
430
|
+
"text": "This is part two of our series.",
|
|
431
|
+
"voice": "Roger",
|
|
432
|
+
"stability": 0.9,
|
|
433
|
+
"similarity_boost": 0.8,
|
|
434
|
+
"previous_text": "This is part one of our series.",
|
|
435
|
+
"language_code": "en"
|
|
436
|
+
}
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
**Key Differences from Multilingual TTS:**
|
|
440
|
+
- **Faster Generation**: Turbo 2.5 processes text 15-60 seconds (vs 30-120 seconds for multilingual)
|
|
441
|
+
- **Language Enforcement**: Supports ISO 639-1 language codes for consistent language output
|
|
442
|
+
- **Same Voice Options**: All 21 voices available
|
|
443
|
+
- **Same Quality**: Maintains high audio quality with faster processing
|
|
444
|
+
|
|
445
|
+
**Note**: The `callBackUrl` is optional and will use the `KIE_AI_CALLBACK_URL` environment variable if not provided. Turbo 2.5 generation is faster and supports language enforcement.
|
|
446
|
+
|
|
447
|
+
### 11. `elevenlabs_ttsfx`
|
|
448
|
+
Generate sound effects from text descriptions using ElevenLabs Sound Effects v2 model.
|
|
449
|
+
|
|
450
|
+
**Parameters:**
|
|
451
|
+
- `text` (string, required): Description of the sound effect to generate (max 5000 chars)
|
|
452
|
+
- `loop` (boolean, optional): Whether to create a sound effect that loops smoothly (default: false)
|
|
453
|
+
- `duration_seconds` (number, optional): Duration in seconds (0.5-22, step 0.1). If not specified, optimal duration will be determined from prompt
|
|
454
|
+
- `prompt_influence` (number, optional): How closely to follow the prompt (0-1, step 0.01, default: 0.3). Higher values mean less variation
|
|
455
|
+
- `output_format` (string, optional): Audio output format (default: "mp3_44100_192")
|
|
456
|
+
- MP3 options: `mp3_22050_32`, `mp3_44100_32`, `mp3_44100_64`, `mp3_44100_96`, `mp3_44100_128`, `mp3_44100_192`
|
|
457
|
+
- PCM options: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`
|
|
458
|
+
- Telephony: `ulaw_8000`, `alaw_8000`
|
|
459
|
+
- Opus: `opus_48000_32`, `opus_48000_64`, `opus_48000_96`, `opus_48000_128`, `opus_48000_192`
|
|
460
|
+
- `callBackUrl` (string, optional): URL for task completion notifications
|
|
461
|
+
|
|
462
|
+
**Examples:**
|
|
463
|
+
|
|
464
|
+
Basic sound effect:
|
|
465
|
+
```json
|
|
466
|
+
{
|
|
467
|
+
"text": "Rain falling on a tin roof"
|
|
468
|
+
}
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
Advanced sound effect with custom duration:
|
|
472
|
+
```json
|
|
473
|
+
{
|
|
474
|
+
"text": "Epic thunderstorm with heavy rain and distant thunder",
|
|
475
|
+
"duration_seconds": 15.0,
|
|
476
|
+
"prompt_influence": 0.8,
|
|
477
|
+
"output_format": "mp3_44100_192"
|
|
478
|
+
}
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
Looping ambient sound:
|
|
482
|
+
```json
|
|
483
|
+
{
|
|
484
|
+
"text": "Gentle ocean waves lapping at the shore",
|
|
485
|
+
"loop": true,
|
|
486
|
+
"duration_seconds": 10.0
|
|
487
|
+
}
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
**Key Features:**
|
|
491
|
+
- **High-Quality Audio**: Professional-grade sound effect generation
|
|
492
|
+
- **Flexible Duration**: Control exact length from 0.5 to 22 seconds
|
|
493
|
+
- **Loop Support**: Create seamless looping sound effects
|
|
494
|
+
- **Multiple Formats**: Support for MP3, PCM, Opus, and telephony formats
|
|
495
|
+
- **Prompt Control**: Adjust how closely to follow your description
|
|
496
|
+
|
|
497
|
+
**Note**: The `callBackUrl` is optional and will use the `KIE_AI_CALLBACK_URL` environment variable if not provided. Sound effects generation typically takes 30-90 seconds depending on complexity.
|
|
498
|
+
|
|
499
|
+
### 12. `bytedance_seedance_video`
|
|
500
|
+
Generate videos using ByteDance Seedance models (unified tool for both text-to-video and image-to-video).
|
|
501
|
+
|
|
502
|
+
**Parameters:**
|
|
503
|
+
- `prompt` (string, required): Text prompt for video generation (max 10000 chars)
|
|
504
|
+
- `image_url` (string, optional): URL of input image for image-to-video generation (if not provided, uses text-to-video)
|
|
505
|
+
- `quality` (string, optional): Model quality level (default: "lite")
|
|
506
|
+
- `lite`: Faster generation with good quality
|
|
507
|
+
- `pro`: Higher quality with longer generation time
|
|
508
|
+
- `aspect_ratio` (string, optional): Video aspect ratio (default: "16:9")
|
|
509
|
+
- Options: `1:1`, `9:16`, `16:9`, `4:3`, `3:4`, `21:9`, `9:21`
|
|
510
|
+
- `resolution` (string, optional): Video resolution (default: "720p")
|
|
511
|
+
- `480p`: Faster generation
|
|
512
|
+
- `720p`: Balanced quality and speed
|
|
513
|
+
- `1080p`: Highest quality
|
|
514
|
+
- `duration` (string, optional): Video duration in seconds 2-12 (default: "5")
|
|
515
|
+
- `camera_fixed` (boolean, optional): Whether to fix camera position (default: false)
|
|
516
|
+
- `seed` (integer, optional): Random seed for reproducible results (default: -1 for random)
|
|
517
|
+
- `enable_safety_checker` (boolean, optional): Enable content safety checking (default: true)
|
|
518
|
+
- `end_image_url` (string, optional): URL of ending image (image-to-video only)
|
|
519
|
+
- `callBackUrl` (string, optional): URL for task completion notifications
|
|
520
|
+
|
|
521
|
+
**Examples:**
|
|
522
|
+
|
|
523
|
+
Text-to-video (lite quality):
|
|
524
|
+
```json
|
|
525
|
+
{
|
|
526
|
+
"prompt": "A serene sailing boat gently sways in the harbor at dawn, surrounded by soft Impressionist hues of pink and orange",
|
|
527
|
+
"quality": "lite",
|
|
528
|
+
"aspect_ratio": "16:9",
|
|
529
|
+
"duration": "5"
|
|
530
|
+
}
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
Image-to-video (pro quality):
|
|
534
|
+
```json
|
|
535
|
+
{
|
|
536
|
+
"prompt": "A golden retriever dashing through shallow surf at the beach, splashes frozen in time",
|
|
537
|
+
"image_url": "https://example.com/golden-retriever.jpg",
|
|
538
|
+
"quality": "pro",
|
|
539
|
+
"resolution": "1080p",
|
|
540
|
+
"duration": "6",
|
|
541
|
+
"camera_fixed": false
|
|
542
|
+
}
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
Video with specific ending frame:
|
|
546
|
+
```json
|
|
547
|
+
{
|
|
548
|
+
"prompt": "A traveler crosses an endless desert toward a glowing archway",
|
|
549
|
+
"image_url": "https://example.com/desert-traveler.jpg",
|
|
550
|
+
"end_image_url": "https://example.com/archway.jpg",
|
|
551
|
+
"quality": "pro",
|
|
552
|
+
"duration": "8"
|
|
553
|
+
}
|
|
554
|
+
```
|
|
555
|
+
|
|
556
|
+
**Key Features:**
|
|
557
|
+
- **Unified Interface**: Single tool for both text-to-video and image-to-video
|
|
558
|
+
- **Smart Mode Detection**: Automatically detects mode based on presence of `image_url`
|
|
559
|
+
- **Quality Options**: Lite for speed, Pro for quality
|
|
560
|
+
- **Flexible Aspect Ratios**: Support for vertical, horizontal, and square formats
|
|
561
|
+
- **Camera Control**: Option to fix camera position for stable shots
|
|
562
|
+
- **Reproducible Results**: Seed control for consistent output
|
|
563
|
+
- **Safety Features**: Built-in content safety checking
|
|
564
|
+
|
|
565
|
+
**Note**: The `callBackUrl` is optional and will use the `KIE_AI_CALLBACK_URL` environment variable if not provided. Video generation typically takes 2-5 minutes depending on quality and complexity.
|
|
566
|
+
|
|
567
|
+
## Why Developers Choose Kie.ai Over Alternatives
|
|
568
|
+
|
|
569
|
+
### 💸 **Better Value Than Fal.ai**
|
|
570
|
+
- **Lower costs** for the same premium AI models
|
|
571
|
+
- **Pay-as-you-go pricing** - no monthly commitments
|
|
572
|
+
- **Free trial** to test before you buy
|
|
573
|
+
|
|
574
|
+
### 🛠️ **Developer Experience**
|
|
575
|
+
- **Single API key** for all models
|
|
576
|
+
- **Documentation** with examples
|
|
577
|
+
- **Simple integration** - get started in minutes
|
|
578
|
+
- **24/7 support** from technical team
|
|
579
|
+
|
|
580
|
+
### 🚀 **Performance**
|
|
581
|
+
- **99.9% uptime**
|
|
582
|
+
- **Fast response times** (25.2s average)
|
|
583
|
+
- **High concurrency** for production workloads
|
|
584
|
+
- **Reliable results**
|
|
585
|
+
|
|
586
|
+
### 🔒 **Security**
|
|
587
|
+
- **Encryption** for your data
|
|
588
|
+
- **GDPR compliant** data handling
|
|
589
|
+
- **Private prompts and results**
|
|
590
|
+
- **Regular security updates**
|
|
591
|
+
|
|
592
|
+
### 🎯 **Platform**
|
|
593
|
+
- **Latest AI models** as they're released
|
|
594
|
+
- **Backward compatible** API
|
|
595
|
+
- **Feature updates** based on feedback
|
|
596
|
+
- **Active development**
|
|
222
597
|
|
|
223
598
|
## API Endpoints
|
|
224
599
|
|
|
@@ -233,6 +608,11 @@ The server interfaces with these Kie.ai API endpoints:
|
|
|
233
608
|
- **Nano Banana Status**: `GET /api/v1/jobs/recordInfo`
|
|
234
609
|
- **Suno Music Generation**: `POST /api/v1/generate` ✅ **VALIDATED**
|
|
235
610
|
- **Suno Music Status**: `GET /api/v1/generate?taskId=XXX` ✅ **VALIDATED**
|
|
611
|
+
- **ElevenLabs TTS Generation**: `POST /api/v1/jobs/createTask` ✅ **VALIDATED**
|
|
612
|
+
- **ElevenLabs TTS Status**: `GET /api/v1/jobs/recordInfo` ✅ **VALIDATED**
|
|
613
|
+
- **ElevenLabs Sound Effects**: `POST /api/v1/jobs/createTask` ✅ **VALIDATED**
|
|
614
|
+
- **ByteDance Seedance Video**: `POST /api/v1/jobs/createTask` ✅ **VALIDATED**
|
|
615
|
+
- **ByteDance Seedance Status**: `GET /api/v1/jobs/recordInfo` ✅ **VALIDATED**
|
|
236
616
|
|
|
237
617
|
All endpoints follow official Kie.ai API documentation.
|
|
238
618
|
|
|
@@ -244,7 +624,7 @@ The server uses SQLite to track tasks:
|
|
|
244
624
|
CREATE TABLE tasks (
|
|
245
625
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
246
626
|
task_id TEXT UNIQUE NOT NULL,
|
|
247
|
-
api_type TEXT NOT NULL, -- 'nano-banana', 'nano-banana-edit', 'veo3', 'suno'
|
|
627
|
+
api_type TEXT NOT NULL, -- 'nano-banana', 'nano-banana-edit', 'veo3', 'suno', 'elevenlabs-tts', 'elevenlabs-tts-turbo', 'elevenlabs-sound-effects', 'bytedance-seedance-video'
|
|
248
628
|
status TEXT DEFAULT 'pending',
|
|
249
629
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
250
630
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
@@ -253,6 +633,142 @@ CREATE TABLE tasks (
|
|
|
253
633
|
);
|
|
254
634
|
```
|
|
255
635
|
|
|
636
|
+
## Database & Task Management
|
|
637
|
+
|
|
638
|
+
The server includes a built-in SQLite database for persistent task tracking and management.
|
|
639
|
+
|
|
640
|
+
### **Database Features**
|
|
641
|
+
|
|
642
|
+
- **🔄 Persistent Storage**: Tasks survive server restarts
|
|
643
|
+
- **📊 Complete History**: Track all generation tasks and their results
|
|
644
|
+
- **⚡ Smart Caching**: Local database reduces API calls for status checks
|
|
645
|
+
- **🔍 Full Audit Trail**: Complete lifecycle tracking for every task
|
|
646
|
+
- **🎯 Intelligent Routing**: Database provides api_type for correct endpoint selection
|
|
647
|
+
|
|
648
|
+
### **Task Lifecycle**
|
|
649
|
+
|
|
650
|
+
```
|
|
651
|
+
1. Task Created → INSERT (status: 'pending')
|
|
652
|
+
2. API Processing → UPDATE (status: 'processing')
|
|
653
|
+
3. API Complete → UPDATE (status: 'completed', result_url: '...')
|
|
654
|
+
4. API Failed → UPDATE (status: 'failed', error_message: '...')
|
|
655
|
+
```
|
|
656
|
+
|
|
657
|
+
### **Available Task Management Tools**
|
|
658
|
+
|
|
659
|
+
#### **1. `list_tasks`**
|
|
660
|
+
List all tasks in the database with optional limit.
|
|
661
|
+
|
|
662
|
+
```json
|
|
663
|
+
{
|
|
664
|
+
"limit": 50 // optional, default 100
|
|
665
|
+
}
|
|
666
|
+
```
|
|
667
|
+
|
|
668
|
+
**Response:**
|
|
669
|
+
```json
|
|
670
|
+
{
|
|
671
|
+
"tasks": [
|
|
672
|
+
{
|
|
673
|
+
"id": 1,
|
|
674
|
+
"task_id": "281e5b0*********************f39b9",
|
|
675
|
+
"api_type": "veo3",
|
|
676
|
+
"status": "completed",
|
|
677
|
+
"created_at": "2025-01-14T10:30:00.000Z",
|
|
678
|
+
"updated_at": "2025-01-14T10:35:00.000Z",
|
|
679
|
+
"result_url": "https://file.aiquickdraw.com/custom-page/akr/video.mp4",
|
|
680
|
+
"error_message": null
|
|
681
|
+
}
|
|
682
|
+
]
|
|
683
|
+
}
|
|
684
|
+
```
|
|
685
|
+
|
|
686
|
+
#### **2. `get_task_status`**
|
|
687
|
+
Get detailed status of a specific task, combining local database with live API data.
|
|
688
|
+
|
|
689
|
+
```json
|
|
690
|
+
{
|
|
691
|
+
"task_id": "281e5b0*********************f39b9"
|
|
692
|
+
}
|
|
693
|
+
```
|
|
694
|
+
|
|
695
|
+
**Response:**
|
|
696
|
+
```json
|
|
697
|
+
{
|
|
698
|
+
"task_id": "281e5b0*********************f39b9",
|
|
699
|
+
"api_type": "veo3",
|
|
700
|
+
"status": "completed",
|
|
701
|
+
"local_status": "completed",
|
|
702
|
+
"api_status": "success",
|
|
703
|
+
"created_at": "2025-01-14T10:30:00.000Z",
|
|
704
|
+
"updated_at": "2025-01-14T10:35:00.000Z",
|
|
705
|
+
"result_url": "https://file.aiquickdraw.com/custom-page/akr/video.mp4",
|
|
706
|
+
"api_data": {
|
|
707
|
+
"state": "success",
|
|
708
|
+
"resultJson": "{\"resultUrls\":[\"https://file.aiquickdraw.com/custom-page/akr/video.mp4\"]}",
|
|
709
|
+
"costTime": 180000,
|
|
710
|
+
"completeTime": 1757584164490
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
```
|
|
714
|
+
|
|
715
|
+
### **Database Configuration**
|
|
716
|
+
|
|
717
|
+
#### **Environment Variables**
|
|
718
|
+
```bash
|
|
719
|
+
# Custom database file location (optional)
|
|
720
|
+
KIE_AI_DB_PATH=./custom_tasks.db
|
|
721
|
+
|
|
722
|
+
# Default: ./tasks.db in current working directory
|
|
723
|
+
```
|
|
724
|
+
|
|
725
|
+
#### **Database Behavior**
|
|
726
|
+
- **Auto-initialization**: Creates tables and indexes on first run
|
|
727
|
+
- **Indexing**: Optimized queries on `task_id` and `status` fields
|
|
728
|
+
- **Thread-safe**: Uses SQLite serialization for concurrent access
|
|
729
|
+
- **Persistent**: Data survives server restarts
|
|
730
|
+
- **Inspectable**: Can be opened with any SQLite client tool
|
|
731
|
+
|
|
732
|
+
### **Smart Status Checking**
|
|
733
|
+
|
|
734
|
+
The `get_task_status` tool uses intelligent routing:
|
|
735
|
+
|
|
736
|
+
1. **Query Local Database**: Fast lookup of task metadata
|
|
737
|
+
2. **API Status Check**: Calls appropriate endpoint based on `api_type`
|
|
738
|
+
3. **Database Update**: Stores latest status from API response
|
|
739
|
+
4. **Combined Response**: Merges local and API data for complete picture
|
|
740
|
+
|
|
741
|
+
### **API Type Routing**
|
|
742
|
+
|
|
743
|
+
The database `api_type` field determines which Kie.ai endpoint to query:
|
|
744
|
+
|
|
745
|
+
| api_type | Endpoint | Purpose |
|
|
746
|
+
|----------|----------|---------|
|
|
747
|
+
| `veo3` | `/veo/record-info` | Veo3 video generation |
|
|
748
|
+
| `nano-banana` | `/jobs/recordInfo` | Image generation |
|
|
749
|
+
| `nano-banana-edit` | `/jobs/recordInfo` | Image editing |
|
|
750
|
+
| `nano-banana-upscale` | `/jobs/recordInfo` | Image upscaling |
|
|
751
|
+
| `suno` | `/generate/record-info` | Music generation |
|
|
752
|
+
| `elevenlabs-tts` | `/jobs/recordInfo` | Text-to-speech |
|
|
753
|
+
| `elevenlabs-tts-turbo` | `/jobs/recordInfo` | Turbo TTS |
|
|
754
|
+
| `elevenlabs-sound-effects` | `/jobs/recordInfo` | Sound effects |
|
|
755
|
+
| `bytedance-seedance-video` | `/jobs/recordInfo` | Video generation |
|
|
756
|
+
|
|
757
|
+
### **Task Status Values**
|
|
758
|
+
|
|
759
|
+
- **`pending`**: Task created, waiting for API processing
|
|
760
|
+
- **`processing`**: API is actively processing the task
|
|
761
|
+
- **`completed`**: Task finished successfully, result available
|
|
762
|
+
- **`failed`**: Task failed, error message available
|
|
763
|
+
|
|
764
|
+
### **Best Practices**
|
|
765
|
+
|
|
766
|
+
- **Use `list_tasks`** to get overview of all generation activity
|
|
767
|
+
- **Use `get_task_status`** for detailed progress tracking
|
|
768
|
+
- **Monitor `updated_at`** to see when status last changed
|
|
769
|
+
- **Check `error_message`** for failed tasks to debug issues
|
|
770
|
+
- **Use `result_url`** to access completed generation results
|
|
771
|
+
|
|
256
772
|
## Usage Examples
|
|
257
773
|
|
|
258
774
|
### Basic Image Generation
|
|
@@ -283,6 +799,79 @@ curl -X POST http://localhost:3000/tools/call \
|
|
|
283
799
|
}'
|
|
284
800
|
```
|
|
285
801
|
|
|
802
|
+
## Real-World Use Cases
|
|
803
|
+
|
|
804
|
+
### 🎬 **Content Creation Agencies**
|
|
805
|
+
```bash
|
|
806
|
+
# Generate social media video content
|
|
807
|
+
veo3_generate_video: "A trendy coffee shop with latte art, cinematic lighting"
|
|
808
|
+
|
|
809
|
+
# Create product photography
|
|
810
|
+
nano_banana_generate: "Luxury watch on marble surface, professional product shot"
|
|
811
|
+
|
|
812
|
+
# Add background music
|
|
813
|
+
suno_generate_music: "Upbeat corporate background music, 2 minutes"
|
|
814
|
+
```
|
|
815
|
+
|
|
816
|
+
### 🎮 **Game Development Studios**
|
|
817
|
+
```bash
|
|
818
|
+
# Generate game assets
|
|
819
|
+
nano_banana_generate: "Fantasy sword with glowing runes, game asset style"
|
|
820
|
+
|
|
821
|
+
# Create character voiceovers
|
|
822
|
+
elevenlabs_tts: "Welcome, brave adventurer! Your quest begins now."
|
|
823
|
+
|
|
824
|
+
# Design sound effects
|
|
825
|
+
elevenlabs_ttsfx: "Magical spell casting with sparkles and energy"
|
|
826
|
+
```
|
|
827
|
+
|
|
828
|
+
### 📱 **Mobile App Developers**
|
|
829
|
+
```bash
|
|
830
|
+
# Generate app icons and illustrations
|
|
831
|
+
nano_banana_generate: "Modern minimalist app icon for fitness tracker"
|
|
832
|
+
|
|
833
|
+
# Create tutorial videos
|
|
834
|
+
bytedance_seedance_video: "Screen recording showing app features, clean interface"
|
|
835
|
+
|
|
836
|
+
# Add narration
|
|
837
|
+
elevenlabs_tts_turbo: "Tap here to get started with your new profile"
|
|
838
|
+
```
|
|
839
|
+
|
|
840
|
+
### 🏢 **Enterprise Applications**
|
|
841
|
+
```bash
|
|
842
|
+
# Generate training materials
|
|
843
|
+
veo3_generate_video: "Professional office environment, employee training scenario"
|
|
844
|
+
|
|
845
|
+
# Create corporate presentations
|
|
846
|
+
nano_banana_edit: "Add company logo to presentation slide, maintain professional style"
|
|
847
|
+
|
|
848
|
+
# Produce marketing content
|
|
849
|
+
suno_generate_music: "Corporate background music for promotional video"
|
|
850
|
+
```
|
|
851
|
+
|
|
852
|
+
### 🎨 **Creative Professionals**
|
|
853
|
+
```bash
|
|
854
|
+
# Artistic projects
|
|
855
|
+
bytedance_seedance_video: "Abstract art coming to life, vibrant colors flowing"
|
|
856
|
+
|
|
857
|
+
# Photography enhancement
|
|
858
|
+
nano_banana_upscale: "Portrait photo, 4x enhancement with face restoration"
|
|
859
|
+
|
|
860
|
+
# Audio production
|
|
861
|
+
elevenlabs_sound_effects: "Nature soundscape with birds and gentle wind"
|
|
862
|
+
```
|
|
863
|
+
|
|
864
|
+
## Success Stories
|
|
865
|
+
|
|
866
|
+
### 🚀 **Startup Reduces AI Costs**
|
|
867
|
+
*"Switched from multiple AI services to Kie.ai and cut our monthly AI budget from $2,000 to $600. The unified API simplified our codebase."* - CTO, Content Startup
|
|
868
|
+
|
|
869
|
+
### ⚡ **Agency Speeds Up Delivery**
|
|
870
|
+
*"Our video production timeline went from 2 weeks to 3 days using Veo 3. Clients like the quality and we handle more projects."* - Creative Director, Marketing Agency
|
|
871
|
+
|
|
872
|
+
### 🎵 **Music Producer Scales Work**
|
|
873
|
+
*"Suno API lets us generate custom background music for client videos in minutes instead of days. It improved our workflow."* - Producer, Video Production Company
|
|
874
|
+
|
|
286
875
|
## Error Handling
|
|
287
876
|
|
|
288
877
|
The server handles these HTTP error codes from Kie.ai:
|
|
@@ -356,6 +945,29 @@ For issues related to:
|
|
|
356
945
|
- **Kie.ai API**: Contact support@kie.ai or check https://docs.kie.ai/
|
|
357
946
|
- **API Keys**: Visit https://kie.ai/api-key
|
|
358
947
|
|
|
948
|
+
## 🚀 Start Building with Kie.ai
|
|
949
|
+
|
|
950
|
+
Developers are using Kie.ai for their AI media generation:
|
|
951
|
+
|
|
952
|
+
### 🎯 **Get Started**
|
|
953
|
+
1. **Get your free API key** at [kie.ai/api-key](https://kie.ai/api-key)
|
|
954
|
+
2. **Install the MCP server**: `npm install @felores/kie-ai-mcp-server`
|
|
955
|
+
3. **Generate your first AI content** in minutes
|
|
956
|
+
|
|
957
|
+
### 💡 **Benefits**
|
|
958
|
+
- ✅ **Free trial** - Test models before paying
|
|
959
|
+
- ✅ **Lower pricing** than Fal.ai and Replicate.com
|
|
960
|
+
- ✅ **99.9% uptime**
|
|
961
|
+
- ✅ **24/7 support**
|
|
962
|
+
- ✅ **Simple integration**
|
|
963
|
+
|
|
964
|
+
### 🌟 **AI Content Generation**
|
|
965
|
+
Kie.ai provides access to advanced AI models at competitive pricing.
|
|
966
|
+
|
|
967
|
+
**Start your project today.** 🚀
|
|
968
|
+
|
|
969
|
+
---
|
|
970
|
+
|
|
359
971
|
## License
|
|
360
972
|
|
|
361
973
|
MIT License - see LICENSE file for details.
|