hermoso 0.1.401 → 0.1.402
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/mcp/tools.mjs +9 -5
- package/package.json +1 -1
package/mcp/tools.mjs
CHANGED
|
@@ -21156,20 +21156,24 @@ function memoryNoteVerdict(text) {
|
|
|
21156
21156
|
|
|
21157
21157
|
server.registerTool('dub_video', {
|
|
21158
21158
|
title: 'Dub video',
|
|
21159
|
-
description: "Localize a finished video into another language WITHOUT re-rendering it:
|
|
21159
|
+
description: "Localize a finished video into another language WITHOUT re-rendering it: each spoken line is said where it was said, in a native voice, lip-synced, background kept. Pass the video and the language; the script is read off the source (`script` only overrides it). Paid by length; dryRun quotes. Returns the localized video URL.",
|
|
21160
21160
|
inputSchema: {
|
|
21161
21161
|
video: z.string().describe('the source video URL'),
|
|
21162
21162
|
language: z.string().describe("target language, e.g. 'Spanish', 'de', 'French (Canada)'"),
|
|
21163
21163
|
script: z.string().optional().describe('OPTIONAL override for the original spoken words. Leave this out — the source video is transcribed automatically. Only pass it when you already know the exact script and the auto-transcript got it wrong.'),
|
|
21164
|
-
voice: z.string().optional().describe("optional
|
|
21164
|
+
voice: z.string().optional().describe("optional, e.g. 'Aria' (woman) or 'George' (man): a native voice of that sex speaks. Default: the source speaker's sex."),
|
|
21165
|
+
dryRun: z.boolean().optional().describe('quote only'),
|
|
21165
21166
|
},
|
|
21166
21167
|
outputSchema: { ...JOB_OUT },
|
|
21167
21168
|
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true },
|
|
21168
|
-
}, wrap(async ({ video, language, script, voice }) => {
|
|
21169
|
+
}, wrap(async ({ video, language, script, voice, dryRun }) => {
|
|
21169
21170
|
// Forward `script` ONLY when the caller actually supplied one. Sending '' used to hit the worker's
|
|
21170
21171
|
// empty-script guard, so the documented {video, language} call could never succeed.
|
|
21171
|
-
const
|
|
21172
|
-
return
|
|
21172
|
+
const _in = { video, language, ...(String(script || '').trim() ? { script } : {}), ...(voice ? { voice } : {}) };
|
|
21173
|
+
if (dryRun) { const q = await quoteJob('dub', _in); return ok(quoteText(q, `This dub into ${language}`), { raw: q }); }
|
|
21174
|
+
const r = await renderJob('dub', _in, `Dub → ${language}`);
|
|
21175
|
+
const p = renderPayload(r) || {};
|
|
21176
|
+
return okVideo(`Localized video (${language}): ${r.url}${p.note ? `\n${p.note}` : ''}`, r);
|
|
21173
21177
|
}));
|
|
21174
21178
|
|
|
21175
21179
|
server.registerTool('change_voice', {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hermoso",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.402",
|
|
4
4
|
"mcpName": "io.github.hermoso-ai/hermoso",
|
|
5
5
|
"description": "Marketing on autopilot, run from your own AI agent. 906 tools. Publishing, scheduling, ad campaign management, comments, DMs and analytics cost no credits on every plan; credits are only for generating creative and for Ad Spy research. AD PLATFORMS: Meta, Google Ads, TikTok Ads, LinkedIn Ads, Reddit Ads, X Ads, Pinterest Ads, Snapchat Ads, Microsoft Advertising, Apple Search Ads, ChatGPT Ads and AppLovin Ads, plus product feeds in Google Merchant Center. PUBLISHING AND SCHEDULING: Facebook, Instagram, Threads, TikTok, YouTube, X, LinkedIn, Pinterest, Bluesky and Telegram. INSTAGRAM DM AUTOMATIONS: a keyword comment, a DM, a story reply or an ig.me link gets an automatic private reply from the brand. AD RESEARCH: the Meta, Google and LinkedIn ad libraries plus organic TikTok, Instagram, YouTube, Threads and Reddit. ANALYTICS: Google Analytics 4, Google Search Console and every connected platform's own post and campaign insights. Also brand onboarding, 50+ image and video generation models, ad scoring, competitor teardowns, Google Drive and OneDrive, a CLI and installable Claude skills.",
|
|
6
6
|
"type": "module",
|