velora-mcp-server 1.1.2 → 1.1.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/build/index.js +20 -2
- package/package.json +1 -1
package/build/index.js
CHANGED
|
@@ -423,6 +423,14 @@ ${p.features.map((f) => ` - ${f}`).join("\n")}`;
|
|
|
423
423
|
.string()
|
|
424
424
|
.optional()
|
|
425
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')."),
|
|
426
434
|
include_background_music: zod_1.z
|
|
427
435
|
.boolean()
|
|
428
436
|
.optional()
|
|
@@ -432,7 +440,7 @@ ${p.features.map((f) => ` - ${f}`).join("\n")}`;
|
|
|
432
440
|
.string()
|
|
433
441
|
.optional()
|
|
434
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."),
|
|
435
|
-
}, async ({ api_key, topic, language, duration_minutes, aspect_ratio, voice_type, video_model, include_subtitles, subtitle_style, video_style, media_mix, 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, }) => {
|
|
436
444
|
try {
|
|
437
445
|
const payload = {
|
|
438
446
|
topic,
|
|
@@ -441,14 +449,24 @@ ${p.features.map((f) => ` - ${f}`).join("\n")}`;
|
|
|
441
449
|
theme: video_style === "auto" ? "documentary" : video_style,
|
|
442
450
|
aspect_ratio,
|
|
443
451
|
media_mix,
|
|
452
|
+
subtitles: include_subtitles ? "burned" : "off",
|
|
453
|
+
subtitle_style,
|
|
444
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;
|
|
445
463
|
if (webhook_url)
|
|
446
464
|
payload.webhook_url = webhook_url;
|
|
447
465
|
const response = await fetch(`${VELORA_API_BASE}/v1/videos/generate`, {
|
|
448
466
|
method: "POST",
|
|
449
467
|
headers: {
|
|
450
468
|
"Content-Type": "application/json",
|
|
451
|
-
"
|
|
469
|
+
"X-API-Key": api_key,
|
|
452
470
|
},
|
|
453
471
|
body: JSON.stringify(payload),
|
|
454
472
|
});
|
package/package.json
CHANGED