@vibeframe/mcp-server 0.57.1 → 0.57.2
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 +32 -20
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -455115,7 +455115,7 @@ Run 'vibe setup --show' to check API key status.
|
|
|
455115
455115
|
Run 'vibe schema generate.<command>' for structured parameter info.
|
|
455116
455116
|
`
|
|
455117
455117
|
);
|
|
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:
|
|
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: 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
455119
|
Examples:
|
|
455120
455120
|
$ vibe generate image "a sunset over the ocean" -o sunset.png
|
|
455121
455121
|
$ vibe gen img "logo design" -o logo.png -p openai
|
|
@@ -455137,22 +455137,28 @@ Examples:
|
|
|
455137
455137
|
if (options.output) {
|
|
455138
455138
|
validateOutputPath(options.output);
|
|
455139
455139
|
}
|
|
455140
|
-
let provider = options.provider.toLowerCase();
|
|
455141
455140
|
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
455141
|
const providerEnvMap = {
|
|
455146
455142
|
gemini: "GOOGLE_API_KEY",
|
|
455147
455143
|
openai: "OPENAI_API_KEY",
|
|
455148
455144
|
grok: "XAI_API_KEY"
|
|
455149
455145
|
};
|
|
455150
|
-
|
|
455151
|
-
|
|
455152
|
-
|
|
455153
|
-
|
|
455154
|
-
provider
|
|
455146
|
+
let provider;
|
|
455147
|
+
if (options.provider) {
|
|
455148
|
+
provider = options.provider.toLowerCase();
|
|
455149
|
+
if (!validProviders.includes(provider)) {
|
|
455150
|
+
exitWithError(usageError(`Invalid provider: ${provider}`, `Available providers: openai, gemini, grok, runway`));
|
|
455155
455151
|
}
|
|
455152
|
+
if (providerEnvMap[provider] && !hasApiKey(providerEnvMap[provider]) && !options.apiKey) {
|
|
455153
|
+
const resolved = resolveProvider("image");
|
|
455154
|
+
if (resolved) {
|
|
455155
|
+
log(source_default.dim(` ${provider} key not found. Using ${resolved.label} instead.`));
|
|
455156
|
+
provider = resolved.name;
|
|
455157
|
+
}
|
|
455158
|
+
}
|
|
455159
|
+
} else {
|
|
455160
|
+
const resolved = resolveProvider("image");
|
|
455161
|
+
provider = resolved?.name ?? "gemini";
|
|
455156
455162
|
}
|
|
455157
455163
|
if (provider === "dalle") {
|
|
455158
455164
|
console.log(source_default.yellow('Warning: "dalle" is deprecated. Use "openai" instead.'));
|
|
@@ -455446,7 +455452,7 @@ Examples:
|
|
|
455446
455452
|
exitWithError(apiError(`Image generation failed: ${error.message}`));
|
|
455447
455453
|
}
|
|
455448
455454
|
});
|
|
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:
|
|
455455
|
+
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
455456
|
Examples:
|
|
455451
455457
|
$ vibe generate video "dancing cat" -o cat.mp4 # Grok (default)
|
|
455452
455458
|
$ vibe gen vid "city timelapse" -o city.mp4 -p kling # Kling
|
|
@@ -455468,11 +455474,7 @@ Examples:
|
|
|
455468
455474
|
if (options.output) {
|
|
455469
455475
|
validateOutputPath(options.output);
|
|
455470
455476
|
}
|
|
455471
|
-
let provider = options.provider.toLowerCase();
|
|
455472
455477
|
const validProviders = ["runway", "kling", "veo", "grok", "fal"];
|
|
455473
|
-
if (!validProviders.includes(provider)) {
|
|
455474
|
-
exitWithError(usageError(`Invalid provider: ${provider}`, `Available providers: ${validProviders.join(", ")}`));
|
|
455475
|
-
}
|
|
455476
455478
|
const videoEnvMap = {
|
|
455477
455479
|
grok: "XAI_API_KEY",
|
|
455478
455480
|
veo: "GOOGLE_API_KEY",
|
|
@@ -455480,12 +455482,22 @@ Examples:
|
|
|
455480
455482
|
runway: "RUNWAY_API_SECRET",
|
|
455481
455483
|
fal: "FAL_KEY"
|
|
455482
455484
|
};
|
|
455483
|
-
|
|
455484
|
-
|
|
455485
|
-
|
|
455486
|
-
|
|
455487
|
-
provider
|
|
455485
|
+
let provider;
|
|
455486
|
+
if (options.provider) {
|
|
455487
|
+
provider = options.provider.toLowerCase();
|
|
455488
|
+
if (!validProviders.includes(provider)) {
|
|
455489
|
+
exitWithError(usageError(`Invalid provider: ${provider}`, `Available providers: ${validProviders.join(", ")}`));
|
|
455488
455490
|
}
|
|
455491
|
+
if (videoEnvMap[provider] && !hasApiKey(videoEnvMap[provider]) && !options.apiKey) {
|
|
455492
|
+
const resolved = resolveProvider("video");
|
|
455493
|
+
if (resolved) {
|
|
455494
|
+
log(source_default.dim(` ${provider} key not found. Using ${resolved.label} instead.`));
|
|
455495
|
+
provider = resolved.name;
|
|
455496
|
+
}
|
|
455497
|
+
}
|
|
455498
|
+
} else {
|
|
455499
|
+
const resolved = resolveProvider("video");
|
|
455500
|
+
provider = resolved?.name ?? "grok";
|
|
455489
455501
|
}
|
|
455490
455502
|
let referenceImage;
|
|
455491
455503
|
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.2",
|
|
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/cli": "0.57.
|
|
61
|
-
"@vibeframe/core": "0.57.
|
|
60
|
+
"@vibeframe/cli": "0.57.2",
|
|
61
|
+
"@vibeframe/core": "0.57.2"
|
|
62
62
|
},
|
|
63
63
|
"engines": {
|
|
64
64
|
"node": ">=20"
|