@vibeframe/cli 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 +33 -21
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -33587,7 +33587,7 @@ Run 'vibe setup --show' to check API key status.
|
|
|
33587
33587
|
Run 'vibe schema generate.<command>' for structured parameter info.
|
|
33588
33588
|
`
|
|
33589
33589
|
);
|
|
33590
|
-
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:
|
|
33590
|
+
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", `
|
|
33591
33591
|
Examples:
|
|
33592
33592
|
$ vibe generate image "a sunset over the ocean" -o sunset.png
|
|
33593
33593
|
$ vibe gen img "logo design" -o logo.png -p openai
|
|
@@ -33609,22 +33609,28 @@ Examples:
|
|
|
33609
33609
|
if (options.output) {
|
|
33610
33610
|
validateOutputPath(options.output);
|
|
33611
33611
|
}
|
|
33612
|
-
let provider = options.provider.toLowerCase();
|
|
33613
33612
|
const validProviders = ["openai", "dalle", "gemini", "grok", "runway"];
|
|
33614
|
-
if (!validProviders.includes(provider)) {
|
|
33615
|
-
exitWithError(usageError(`Invalid provider: ${provider}`, `Available providers: openai, gemini, grok, runway`));
|
|
33616
|
-
}
|
|
33617
33613
|
const providerEnvMap = {
|
|
33618
33614
|
gemini: "GOOGLE_API_KEY",
|
|
33619
33615
|
openai: "OPENAI_API_KEY",
|
|
33620
33616
|
grok: "XAI_API_KEY"
|
|
33621
33617
|
};
|
|
33622
|
-
|
|
33623
|
-
|
|
33624
|
-
|
|
33625
|
-
|
|
33626
|
-
provider
|
|
33618
|
+
let provider;
|
|
33619
|
+
if (options.provider) {
|
|
33620
|
+
provider = options.provider.toLowerCase();
|
|
33621
|
+
if (!validProviders.includes(provider)) {
|
|
33622
|
+
exitWithError(usageError(`Invalid provider: ${provider}`, `Available providers: openai, gemini, grok, runway`));
|
|
33623
|
+
}
|
|
33624
|
+
if (providerEnvMap[provider] && !hasApiKey(providerEnvMap[provider]) && !options.apiKey) {
|
|
33625
|
+
const resolved = resolveProvider("image");
|
|
33626
|
+
if (resolved) {
|
|
33627
|
+
log(source_default.dim(` ${provider} key not found. Using ${resolved.label} instead.`));
|
|
33628
|
+
provider = resolved.name;
|
|
33629
|
+
}
|
|
33627
33630
|
}
|
|
33631
|
+
} else {
|
|
33632
|
+
const resolved = resolveProvider("image");
|
|
33633
|
+
provider = resolved?.name ?? "gemini";
|
|
33628
33634
|
}
|
|
33629
33635
|
if (provider === "dalle") {
|
|
33630
33636
|
console.log(source_default.yellow('Warning: "dalle" is deprecated. Use "openai" instead.'));
|
|
@@ -33918,7 +33924,7 @@ Examples:
|
|
|
33918
33924
|
exitWithError(apiError(`Image generation failed: ${error.message}`));
|
|
33919
33925
|
}
|
|
33920
33926
|
});
|
|
33921
|
-
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:
|
|
33927
|
+
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", `
|
|
33922
33928
|
Examples:
|
|
33923
33929
|
$ vibe generate video "dancing cat" -o cat.mp4 # Grok (default)
|
|
33924
33930
|
$ vibe gen vid "city timelapse" -o city.mp4 -p kling # Kling
|
|
@@ -33940,11 +33946,7 @@ Examples:
|
|
|
33940
33946
|
if (options.output) {
|
|
33941
33947
|
validateOutputPath(options.output);
|
|
33942
33948
|
}
|
|
33943
|
-
let provider = options.provider.toLowerCase();
|
|
33944
33949
|
const validProviders = ["runway", "kling", "veo", "grok", "fal"];
|
|
33945
|
-
if (!validProviders.includes(provider)) {
|
|
33946
|
-
exitWithError(usageError(`Invalid provider: ${provider}`, `Available providers: ${validProviders.join(", ")}`));
|
|
33947
|
-
}
|
|
33948
33950
|
const videoEnvMap = {
|
|
33949
33951
|
grok: "XAI_API_KEY",
|
|
33950
33952
|
veo: "GOOGLE_API_KEY",
|
|
@@ -33952,12 +33954,22 @@ Examples:
|
|
|
33952
33954
|
runway: "RUNWAY_API_SECRET",
|
|
33953
33955
|
fal: "FAL_KEY"
|
|
33954
33956
|
};
|
|
33955
|
-
|
|
33956
|
-
|
|
33957
|
-
|
|
33958
|
-
|
|
33959
|
-
provider
|
|
33957
|
+
let provider;
|
|
33958
|
+
if (options.provider) {
|
|
33959
|
+
provider = options.provider.toLowerCase();
|
|
33960
|
+
if (!validProviders.includes(provider)) {
|
|
33961
|
+
exitWithError(usageError(`Invalid provider: ${provider}`, `Available providers: ${validProviders.join(", ")}`));
|
|
33962
|
+
}
|
|
33963
|
+
if (videoEnvMap[provider] && !hasApiKey(videoEnvMap[provider]) && !options.apiKey) {
|
|
33964
|
+
const resolved = resolveProvider("video");
|
|
33965
|
+
if (resolved) {
|
|
33966
|
+
log(source_default.dim(` ${provider} key not found. Using ${resolved.label} instead.`));
|
|
33967
|
+
provider = resolved.name;
|
|
33968
|
+
}
|
|
33960
33969
|
}
|
|
33970
|
+
} else {
|
|
33971
|
+
const resolved = resolveProvider("video");
|
|
33972
|
+
provider = resolved?.name ?? "grok";
|
|
33961
33973
|
}
|
|
33962
33974
|
let referenceImage;
|
|
33963
33975
|
let isImageToVideo = false;
|
|
@@ -57525,7 +57537,7 @@ init_source();
|
|
|
57525
57537
|
// package.json
|
|
57526
57538
|
var package_default = {
|
|
57527
57539
|
name: "@vibeframe/cli",
|
|
57528
|
-
version: "0.57.
|
|
57540
|
+
version: "0.57.2",
|
|
57529
57541
|
description: "VibeFrame CLI - natural language video editing from the terminal",
|
|
57530
57542
|
private: false,
|
|
57531
57543
|
license: "MIT",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibeframe/cli",
|
|
3
|
-
"version": "0.57.
|
|
3
|
+
"version": "0.57.2",
|
|
4
4
|
"description": "VibeFrame CLI - natural language video editing from the terminal",
|
|
5
5
|
"private": false,
|
|
6
6
|
"license": "MIT",
|
|
@@ -149,8 +149,8 @@
|
|
|
149
149
|
"tsx": "^4.21.0",
|
|
150
150
|
"typescript": "^5.3.3",
|
|
151
151
|
"vitest": "^1.2.2",
|
|
152
|
-
"@vibeframe/ai-providers": "0.57.
|
|
153
|
-
"@vibeframe/core": "0.57.
|
|
152
|
+
"@vibeframe/ai-providers": "0.57.2",
|
|
153
|
+
"@vibeframe/core": "0.57.2"
|
|
154
154
|
},
|
|
155
155
|
"engines": {
|
|
156
156
|
"node": ">=20"
|