@vibeframe/mcp-server 0.48.2 → 0.48.4
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 +12 -2
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -426900,9 +426900,11 @@ var init_GeminiProvider = __esm({
|
|
|
426900
426900
|
"9:16": "9:16",
|
|
426901
426901
|
"1:1": "1:1"
|
|
426902
426902
|
};
|
|
426903
|
+
const requestedDuration = typeof veoOpts.duration === "number" ? veoOpts.duration : 8;
|
|
426904
|
+
const veoDuration = requestedDuration <= 5 ? 4 : requestedDuration <= 7 ? 6 : 8;
|
|
426903
426905
|
const parameters = {
|
|
426904
426906
|
aspectRatio: aspectRatioMap[veoOpts.aspectRatio || "16:9"] || "16:9",
|
|
426905
|
-
durationSeconds:
|
|
426907
|
+
durationSeconds: veoDuration
|
|
426906
426908
|
};
|
|
426907
426909
|
if (veoOpts.negativePrompt) {
|
|
426908
426910
|
parameters.negativePrompt = veoOpts.negativePrompt;
|
|
@@ -431686,7 +431688,7 @@ var init_GrokProvider = __esm({
|
|
|
431686
431688
|
};
|
|
431687
431689
|
}
|
|
431688
431690
|
try {
|
|
431689
|
-
const duration = Math.min(15, Math.max(1, options?.duration || 5));
|
|
431691
|
+
const duration = Math.round(Math.min(15, Math.max(1, options?.duration || 5)));
|
|
431690
431692
|
const body = {
|
|
431691
431693
|
model: DEFAULT_MODEL4,
|
|
431692
431694
|
prompt: prompt3,
|
|
@@ -444011,6 +444013,7 @@ async function executeScriptToVideo(options) {
|
|
|
444011
444013
|
if (!existsSync25(absOutputDir)) {
|
|
444012
444014
|
await mkdir9(absOutputDir, { recursive: true });
|
|
444013
444015
|
}
|
|
444016
|
+
options.onProgress?.(`Analyzing script with ${storyboardProvider}...`);
|
|
444014
444017
|
let segments;
|
|
444015
444018
|
const creativityOpts = { creativity: options.creativity };
|
|
444016
444019
|
if (storyboardProvider === "openai") {
|
|
@@ -444044,6 +444047,7 @@ async function executeScriptToVideo(options) {
|
|
|
444044
444047
|
failedNarrations: []
|
|
444045
444048
|
};
|
|
444046
444049
|
if (!options.noVoiceover && elevenlabsApiKey) {
|
|
444050
|
+
options.onProgress?.(`Generating ${segments.length} voiceover(s) with ElevenLabs...`);
|
|
444047
444051
|
const elevenlabs = new ElevenLabsProvider();
|
|
444048
444052
|
await elevenlabs.initialize({ apiKey: elevenlabsApiKey });
|
|
444049
444053
|
for (let i = 0; i < segments.length; i++) {
|
|
@@ -444093,6 +444097,7 @@ async function executeScriptToVideo(options) {
|
|
|
444093
444097
|
}
|
|
444094
444098
|
await writeFile10(storyboardPath, (0, import_yaml2.stringify)({ scenes: segments }, { indent: 2 }), "utf-8");
|
|
444095
444099
|
}
|
|
444100
|
+
options.onProgress?.(`Generating ${segments.length} scene image(s) with ${imageProvider}...`);
|
|
444096
444101
|
const dalleImageSizes = {
|
|
444097
444102
|
"16:9": "1536x1024",
|
|
444098
444103
|
"9:16": "1024x1536",
|
|
@@ -444175,6 +444180,7 @@ async function executeScriptToVideo(options) {
|
|
|
444175
444180
|
const videoPaths = [];
|
|
444176
444181
|
const maxRetries = options.retries ?? DEFAULT_VIDEO_RETRIES;
|
|
444177
444182
|
if (!options.imagesOnly && videoApiKey) {
|
|
444183
|
+
options.onProgress?.(`Generating ${segments.length} scene video(s) with ${options.generator || "grok"}...`);
|
|
444178
444184
|
if (options.generator === "grok") {
|
|
444179
444185
|
const grok = new GrokProvider();
|
|
444180
444186
|
await grok.initialize({ apiKey: videoApiKey });
|
|
@@ -444375,6 +444381,8 @@ async function executeScriptToVideo(options) {
|
|
|
444375
444381
|
}
|
|
444376
444382
|
}
|
|
444377
444383
|
if (!options.noTextOverlay) {
|
|
444384
|
+
const overlayCount = segments.filter((s, i) => s.textOverlays?.length && videoPaths[i]).length;
|
|
444385
|
+
if (overlayCount > 0) options.onProgress?.(`Applying text overlays to ${overlayCount} scene(s)...`);
|
|
444378
444386
|
for (let i = 0; i < segments.length; i++) {
|
|
444379
444387
|
const segment = segments[i];
|
|
444380
444388
|
if (segment.textOverlays && segment.textOverlays.length > 0 && videoPaths[i] && videoPaths[i] !== "") {
|
|
@@ -444394,6 +444402,7 @@ async function executeScriptToVideo(options) {
|
|
|
444394
444402
|
}
|
|
444395
444403
|
}
|
|
444396
444404
|
}
|
|
444405
|
+
options.onProgress?.("Assembling project...");
|
|
444397
444406
|
const project = new Project("Script-to-Video Output");
|
|
444398
444407
|
project.setAspectRatio(options.aspectRatio || "16:9");
|
|
444399
444408
|
const defaultTracks = project.getTracks();
|
|
@@ -444470,6 +444479,7 @@ async function executeScriptToVideo(options) {
|
|
|
444470
444479
|
result.projectPath = projectPath;
|
|
444471
444480
|
result.totalDuration = currentTime;
|
|
444472
444481
|
if (options.review) {
|
|
444482
|
+
options.onProgress?.("Reviewing video with Gemini AI...");
|
|
444473
444483
|
try {
|
|
444474
444484
|
const storyboardYaml = resolve20(absOutputDir, "storyboard.yaml");
|
|
444475
444485
|
const storyboardJson = resolve20(absOutputDir, "storyboard.json");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibeframe/mcp-server",
|
|
3
|
-
"version": "0.48.
|
|
3
|
+
"version": "0.48.4",
|
|
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/cli": "0.48.4",
|
|
61
|
+
"@vibeframe/core": "0.48.4"
|
|
62
62
|
},
|
|
63
63
|
"engines": {
|
|
64
64
|
"node": ">=20"
|