velora-mcp-server 1.1.1 → 1.1.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/build/index.js +25 -1
- package/package.json +1 -1
package/build/index.js
CHANGED
|
@@ -414,10 +414,23 @@ ${p.features.map((f) => ` - ${f}`).join("\n")}`;
|
|
|
414
414
|
.optional()
|
|
415
415
|
.default("auto")
|
|
416
416
|
.describe("Overall style/theme of the video. 'auto' lets Velora AI choose the best style for your topic."),
|
|
417
|
+
media_mix: zod_1.z
|
|
418
|
+
.enum(["mixed", "stock_only", "ai_only"])
|
|
419
|
+
.optional()
|
|
420
|
+
.default("mixed")
|
|
421
|
+
.describe("Controls the type of visuals used in the video. 'mixed' uses both. 'stock_only' uses 100% stock footage (no AI generation). 'ai_only' uses 100% AI generated video clips."),
|
|
417
422
|
script: zod_1.z
|
|
418
423
|
.string()
|
|
419
424
|
.optional()
|
|
420
425
|
.describe("Optional: provide your own pre-written script/narration text. If omitted, Velora AI will auto-generate a script from your topic."),
|
|
426
|
+
voice_tone: zod_1.z
|
|
427
|
+
.string()
|
|
428
|
+
.optional()
|
|
429
|
+
.describe("The preferred tone or gender of the voiceover (e.g. 'Deep male voice', 'Energetic female', 'Calm narrator', 'British male')."),
|
|
430
|
+
bgm_mood: zod_1.z
|
|
431
|
+
.string()
|
|
432
|
+
.optional()
|
|
433
|
+
.describe("The preferred mood or genre for background music (e.g. 'cinematic', 'upbeat', 'lofi', 'ambient', 'suspenseful')."),
|
|
421
434
|
include_background_music: zod_1.z
|
|
422
435
|
.boolean()
|
|
423
436
|
.optional()
|
|
@@ -427,7 +440,7 @@ ${p.features.map((f) => ` - ${f}`).join("\n")}`;
|
|
|
427
440
|
.string()
|
|
428
441
|
.optional()
|
|
429
442
|
.describe("Optional webhook URL to receive a POST callback when the video is completed. The callback payload will include video_id and output_url."),
|
|
430
|
-
}, async ({ api_key, topic, language, duration_minutes, aspect_ratio, voice_type, video_model, include_subtitles, subtitle_style, video_style, script, include_background_music, webhook_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, }) => {
|
|
431
444
|
try {
|
|
432
445
|
const payload = {
|
|
433
446
|
topic,
|
|
@@ -435,7 +448,18 @@ ${p.features.map((f) => ` - ${f}`).join("\n")}`;
|
|
|
435
448
|
duration_minutes,
|
|
436
449
|
theme: video_style === "auto" ? "documentary" : video_style,
|
|
437
450
|
aspect_ratio,
|
|
451
|
+
media_mix,
|
|
452
|
+
subtitles: include_subtitles ? "burned" : "off",
|
|
453
|
+
subtitle_style,
|
|
438
454
|
};
|
|
455
|
+
if (voice_tone)
|
|
456
|
+
payload.voice_tone = voice_tone;
|
|
457
|
+
if (bgm_mood && include_background_music)
|
|
458
|
+
payload.bgm_mood = bgm_mood;
|
|
459
|
+
if (!include_background_music)
|
|
460
|
+
payload.bgm_mood = "none";
|
|
461
|
+
if (script)
|
|
462
|
+
payload.script = script;
|
|
439
463
|
if (webhook_url)
|
|
440
464
|
payload.webhook_url = webhook_url;
|
|
441
465
|
const response = await fetch(`${VELORA_API_BASE}/v1/videos/generate`, {
|
package/package.json
CHANGED