@vibeframe/mcp-server 0.57.1 → 0.57.3
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/dist/index.js +33 -20
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -446870,6 +446870,7 @@ var init_schema = __esm({
|
|
|
446870
446870
|
elevenlabs: "ELEVENLABS_API_KEY",
|
|
446871
446871
|
runway: "RUNWAY_API_SECRET",
|
|
446872
446872
|
kling: "KLING_API_KEY",
|
|
446873
|
+
fal: "FAL_KEY",
|
|
446873
446874
|
imgbb: "IMGBB_API_KEY",
|
|
446874
446875
|
replicate: "REPLICATE_API_TOKEN",
|
|
446875
446876
|
xai: "XAI_API_KEY",
|
|
@@ -455115,7 +455116,7 @@ Run 'vibe setup --show' to check API key status.
|
|
|
455115
455116
|
Run 'vibe schema generate.<command>' for structured parameter info.
|
|
455116
455117
|
`
|
|
455117
455118
|
);
|
|
455118
|
-
generateCommand.command("image").alias("img").description("Generate image using AI (Gemini, DALL-E, or Runway)").argument("[prompt]", "Image description prompt (interactive if omitted)").option("-p, --provider <provider>", "Provider:
|
|
455119
|
+
generateCommand.command("image").alias("img").description("Generate image using AI (Gemini, DALL-E, or Runway)").argument("[prompt]", "Image description prompt (interactive if omitted)").option("-p, --provider <provider>", "Provider: openai (default when OPENAI_API_KEY set), gemini, grok, runway (dalle is deprecated)").option("-k, --api-key <key>", "API key (or set env: OPENAI_API_KEY, GOOGLE_API_KEY)").option("-o, --output <path>", "Output file path (downloads image)").option("-s, --size <size>", "Image size (openai: 1024x1024, 1536x1024, 1024x1536)", "1024x1024").option("-r, --ratio <ratio>", "Aspect ratio (gemini: 1:1, 1:4, 1:8, 4:1, 8:1, 16:9, 9:16, 3:4, 4:3, etc.)", "1:1").option("-q, --quality <quality>", "Quality: standard, hd (openai only)", "standard").option("--style <style>", "Style: vivid, natural (openai only)", "vivid").option("-n, --count <n>", "Number of images to generate", "1").option("-m, --model <model>", "Model. Gemini: flash, 3.1-flash, latest, pro. OpenAI: 1.5 (default), 2 (gpt-image-2)").option("--dry-run", "Preview parameters without executing").addHelpText("after", `
|
|
455119
455120
|
Examples:
|
|
455120
455121
|
$ vibe generate image "a sunset over the ocean" -o sunset.png
|
|
455121
455122
|
$ vibe gen img "logo design" -o logo.png -p openai
|
|
@@ -455137,22 +455138,28 @@ Examples:
|
|
|
455137
455138
|
if (options.output) {
|
|
455138
455139
|
validateOutputPath(options.output);
|
|
455139
455140
|
}
|
|
455140
|
-
let provider = options.provider.toLowerCase();
|
|
455141
455141
|
const validProviders = ["openai", "dalle", "gemini", "grok", "runway"];
|
|
455142
|
-
if (!validProviders.includes(provider)) {
|
|
455143
|
-
exitWithError(usageError(`Invalid provider: ${provider}`, `Available providers: openai, gemini, grok, runway`));
|
|
455144
|
-
}
|
|
455145
455142
|
const providerEnvMap = {
|
|
455146
455143
|
gemini: "GOOGLE_API_KEY",
|
|
455147
455144
|
openai: "OPENAI_API_KEY",
|
|
455148
455145
|
grok: "XAI_API_KEY"
|
|
455149
455146
|
};
|
|
455150
|
-
|
|
455151
|
-
|
|
455152
|
-
|
|
455153
|
-
|
|
455154
|
-
provider
|
|
455147
|
+
let provider;
|
|
455148
|
+
if (options.provider) {
|
|
455149
|
+
provider = options.provider.toLowerCase();
|
|
455150
|
+
if (!validProviders.includes(provider)) {
|
|
455151
|
+
exitWithError(usageError(`Invalid provider: ${provider}`, `Available providers: openai, gemini, grok, runway`));
|
|
455155
455152
|
}
|
|
455153
|
+
if (providerEnvMap[provider] && !hasApiKey(providerEnvMap[provider]) && !options.apiKey) {
|
|
455154
|
+
const resolved = resolveProvider("image");
|
|
455155
|
+
if (resolved) {
|
|
455156
|
+
log(source_default.dim(` ${provider} key not found. Using ${resolved.label} instead.`));
|
|
455157
|
+
provider = resolved.name;
|
|
455158
|
+
}
|
|
455159
|
+
}
|
|
455160
|
+
} else {
|
|
455161
|
+
const resolved = resolveProvider("image");
|
|
455162
|
+
provider = resolved?.name ?? "gemini";
|
|
455156
455163
|
}
|
|
455157
455164
|
if (provider === "dalle") {
|
|
455158
455165
|
console.log(source_default.yellow('Warning: "dalle" is deprecated. Use "openai" instead.'));
|
|
@@ -455446,7 +455453,7 @@ Examples:
|
|
|
455446
455453
|
exitWithError(apiError(`Image generation failed: ${error.message}`));
|
|
455447
455454
|
}
|
|
455448
455455
|
});
|
|
455449
|
-
generateCommand.command("video").alias("vid").description("Generate video using AI (Kling, Runway, Veo, or Grok)").argument("[prompt]", "Text prompt describing the video (interactive if omitted)").option("-p, --provider <provider>", "Provider:
|
|
455456
|
+
generateCommand.command("video").alias("vid").description("Generate video using AI (Kling, Runway, Veo, or Grok)").argument("[prompt]", "Text prompt describing the video (interactive if omitted)").option("-p, --provider <provider>", "Provider: fal (Seedance 2.0, default when FAL_KEY set), grok, kling, runway, veo").option("-k, --api-key <key>", "API key (or set XAI_API_KEY / RUNWAY_API_SECRET / KLING_API_KEY / GOOGLE_API_KEY env)").option("-o, --output <path>", "Output file path (downloads video)").option("-i, --image <path>", "Reference image for image-to-video").option("-d, --duration <sec>", "Duration: 5 or 10 seconds", "5").option("-r, --ratio <ratio>", "Aspect ratio: 16:9, 9:16, or 1:1 (auto-detected from image if omitted)").option("-s, --seed <number>", "Random seed for reproducibility (Runway only)").option("-m, --mode <mode>", "Generation mode: std or pro (Kling only)", "std").option("-n, --negative <prompt>", "Negative prompt - what to avoid (Kling/Veo)").option("--resolution <res>", "Video resolution: 720p, 1080p, 4k (Veo only)").option("--last-frame <path>", "Last frame image for frame interpolation (Veo only)").option("--ref-images <paths...>", "Reference images for character consistency (Veo 3.1 only, max 3)").option("--person <mode>", "Person generation: allow_all, allow_adult (Veo only)").option("--veo-model <model>", "Veo model: 3.0, 3.1, 3.1-fast (default: 3.1-fast)", "3.1-fast").option("--runway-model <model>", "Runway model: gen4.5 (default, text+image-to-video), gen4_turbo (image-to-video only)", "gen4.5").option("--no-wait", "Start generation and return task ID without waiting").option("--dry-run", "Preview parameters without executing").addHelpText("after", `
|
|
455450
455457
|
Examples:
|
|
455451
455458
|
$ vibe generate video "dancing cat" -o cat.mp4 # Grok (default)
|
|
455452
455459
|
$ vibe gen vid "city timelapse" -o city.mp4 -p kling # Kling
|
|
@@ -455468,11 +455475,7 @@ Examples:
|
|
|
455468
455475
|
if (options.output) {
|
|
455469
455476
|
validateOutputPath(options.output);
|
|
455470
455477
|
}
|
|
455471
|
-
let provider = options.provider.toLowerCase();
|
|
455472
455478
|
const validProviders = ["runway", "kling", "veo", "grok", "fal"];
|
|
455473
|
-
if (!validProviders.includes(provider)) {
|
|
455474
|
-
exitWithError(usageError(`Invalid provider: ${provider}`, `Available providers: ${validProviders.join(", ")}`));
|
|
455475
|
-
}
|
|
455476
455479
|
const videoEnvMap = {
|
|
455477
455480
|
grok: "XAI_API_KEY",
|
|
455478
455481
|
veo: "GOOGLE_API_KEY",
|
|
@@ -455480,12 +455483,22 @@ Examples:
|
|
|
455480
455483
|
runway: "RUNWAY_API_SECRET",
|
|
455481
455484
|
fal: "FAL_KEY"
|
|
455482
455485
|
};
|
|
455483
|
-
|
|
455484
|
-
|
|
455485
|
-
|
|
455486
|
-
|
|
455487
|
-
provider
|
|
455486
|
+
let provider;
|
|
455487
|
+
if (options.provider) {
|
|
455488
|
+
provider = options.provider.toLowerCase();
|
|
455489
|
+
if (!validProviders.includes(provider)) {
|
|
455490
|
+
exitWithError(usageError(`Invalid provider: ${provider}`, `Available providers: ${validProviders.join(", ")}`));
|
|
455488
455491
|
}
|
|
455492
|
+
if (videoEnvMap[provider] && !hasApiKey(videoEnvMap[provider]) && !options.apiKey) {
|
|
455493
|
+
const resolved = resolveProvider("video");
|
|
455494
|
+
if (resolved) {
|
|
455495
|
+
log(source_default.dim(` ${provider} key not found. Using ${resolved.label} instead.`));
|
|
455496
|
+
provider = resolved.name;
|
|
455497
|
+
}
|
|
455498
|
+
}
|
|
455499
|
+
} else {
|
|
455500
|
+
const resolved = resolveProvider("video");
|
|
455501
|
+
provider = resolved?.name ?? "grok";
|
|
455489
455502
|
}
|
|
455490
455503
|
let referenceImage;
|
|
455491
455504
|
let isImageToVideo = false;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibeframe/mcp-server",
|
|
3
|
-
"version": "0.57.
|
|
3
|
+
"version": "0.57.3",
|
|
4
4
|
"description": "VibeFrame MCP Server - AI-native video editing via Model Context Protocol",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
"tsx": "^4.21.0",
|
|
58
58
|
"typescript": "^5.3.3",
|
|
59
59
|
"vitest": "^1.2.2",
|
|
60
|
-
"@vibeframe/
|
|
61
|
-
"@vibeframe/
|
|
60
|
+
"@vibeframe/core": "0.57.3",
|
|
61
|
+
"@vibeframe/cli": "0.57.3"
|
|
62
62
|
},
|
|
63
63
|
"engines": {
|
|
64
64
|
"node": ">=20"
|