velora-mcp-server 1.1.4 → 1.1.5
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/build/index.js +8 -2
- package/package.json +1 -1
package/build/index.js
CHANGED
|
@@ -367,7 +367,7 @@ ${p.features.map((f) => ` - ${f}`).join("\n")}`;
|
|
|
367
367
|
};
|
|
368
368
|
});
|
|
369
369
|
// ─── Tool: create_video ───────────────────────────────────────────────────
|
|
370
|
-
server.tool("create_video", "🎬 Create a full AI-generated video using Velora AI Video Studio.
|
|
370
|
+
server.tool("create_video", "🎬 Create a full AI-generated video using Velora AI Video Studio. Returns a video_id you can use with check_video_status. Requires a valid Velora API key.\n\nCRITICAL RULE: Before calling this tool, if the user has not explicitly provided all of their preferences, you MUST first ask them to confirm their choices for: 1. Duration (e.g. 1 min), 2. Media Mix (AI vs Stock footage), 3. Language, 4. Export Resolution (e.g. 1080p, 4K), 5. Subtitle Style, 6. BGM Mood, 7. Voice Tone, 8. Voice Tier (Standard vs Enhanced vs Premium). Do NOT assume defaults, you MUST present a formatted list of questions to the user first!", {
|
|
371
371
|
api_key: zod_1.z
|
|
372
372
|
.string()
|
|
373
373
|
.describe("Your Velora API key. Get one at https://velorastudio.in/settings/api-keys"),
|
|
@@ -389,6 +389,11 @@ ${p.features.map((f) => ` - ${f}`).join("\n")}`;
|
|
|
389
389
|
.optional()
|
|
390
390
|
.default("16:9")
|
|
391
391
|
.describe("Aspect ratio for the video. 16:9 for YouTube/landscape, 9:16 for TikTok/Reels/Shorts (portrait), 1:1 for Instagram square."),
|
|
392
|
+
resolution: zod_1.z
|
|
393
|
+
.enum(["720p", "1080p", "1440p", "4k"])
|
|
394
|
+
.optional()
|
|
395
|
+
.default("1080p")
|
|
396
|
+
.describe("Export resolution quality of the video."),
|
|
392
397
|
voice_type: zod_1.z
|
|
393
398
|
.enum(["standard", "enhanced", "premium"])
|
|
394
399
|
.optional()
|
|
@@ -440,7 +445,7 @@ ${p.features.map((f) => ` - ${f}`).join("\n")}`;
|
|
|
440
445
|
.string()
|
|
441
446
|
.optional()
|
|
442
447
|
.describe("Optional webhook URL to receive a POST callback when the video is completed. The callback payload will include video_id and output_url."),
|
|
443
|
-
}, async ({ api_key, topic, language, duration_minutes, aspect_ratio, voice_type, video_model, include_subtitles, subtitle_style, video_style, media_mix, script, voice_tone, bgm_mood, include_background_music, webhook_url, }) => {
|
|
448
|
+
}, async ({ api_key, topic, language, duration_minutes, aspect_ratio, resolution, voice_type, video_model, include_subtitles, subtitle_style, video_style, media_mix, script, voice_tone, bgm_mood, include_background_music, webhook_url, }) => {
|
|
444
449
|
try {
|
|
445
450
|
const payload = {
|
|
446
451
|
topic,
|
|
@@ -448,6 +453,7 @@ ${p.features.map((f) => ` - ${f}`).join("\n")}`;
|
|
|
448
453
|
duration_minutes,
|
|
449
454
|
theme: video_style === "auto" ? "documentary" : video_style,
|
|
450
455
|
aspect_ratio,
|
|
456
|
+
resolution,
|
|
451
457
|
media_mix,
|
|
452
458
|
subtitles: include_subtitles ? "burned" : "off",
|
|
453
459
|
subtitle_style,
|
package/package.json
CHANGED