@facelessad/mcp 1.0.1 → 1.1.0
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/README.md +5 -0
- package/index.js +11 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -32,6 +32,11 @@ same block under `openclaw mcp` config and verify with
|
|
|
32
32
|
| Tool | What it does |
|
|
33
33
|
|------|--------------|
|
|
34
34
|
| `facelessad_list_tools` | Registry: tools, styles, structures, hooks, durations |
|
|
35
|
+
|
|
36
|
+
Ask for a look of your own and the assistant sends `style: "custom"` plus
|
|
37
|
+
`custom_style` — `facelessad_list_tools` marks which tools accept it
|
|
38
|
+
(`supports.customStyle`). Product Showcase also takes `custom_graphics_style`
|
|
39
|
+
for the text layer drawn over the product video.
|
|
35
40
|
| `facelessad_create_video` | Create an ad; returns an id immediately |
|
|
36
41
|
| `facelessad_get_video` | Status + download URL when done |
|
|
37
42
|
| `facelessad_list_videos` | Your videos, newest first |
|
package/index.js
CHANGED
|
@@ -53,7 +53,7 @@ function result(data) {
|
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
const server = new McpServer({ name: 'facelessad', version: '1.0
|
|
56
|
+
const server = new McpServer({ name: 'facelessad', version: '1.1.0' });
|
|
57
57
|
|
|
58
58
|
server.tool(
|
|
59
59
|
'facelessad_list_tools',
|
|
@@ -102,8 +102,16 @@ const createShape = {
|
|
|
102
102
|
duration: z.number().int().optional().describe('Seconds; per-tool bounds from the registry (default 30)'),
|
|
103
103
|
aspect_ratio: z.string().optional().describe('"9:16" | "1:1" | "4:5" | "16:9" (default per tool)'),
|
|
104
104
|
language: z.string().optional().describe('Default "English (US)"'),
|
|
105
|
-
style: z.string().optional().describe('Style id for the tool (registry). Omit to let the server pick'),
|
|
106
|
-
|
|
105
|
+
style: z.string().optional().describe('Style id for the tool (registry). Omit to let the server pick. Use "custom" together with custom_style to describe a look of your own — facelessad_list_tools marks which tools accept it (supports.customStyle)'),
|
|
106
|
+
// 1.1.0 (§673): custom_style on ainoa kentta joka oikeasti vaihtaa videon
|
|
107
|
+
// ilmeen. style_hint ei tehnyt sita: se lisasi vain rivin materiaaleihin,
|
|
108
|
+
// ja skriptin visualDirection-saanto kieltaa nimenomaan taidetyylin
|
|
109
|
+
// kuvaamisen. Palvelin kohtelee style_hintia nyt custom_stylena silloin kun
|
|
110
|
+
// style on antamatta, joten vanha kutsu alkaa vihdoin tehda mita se lupasi.
|
|
111
|
+
custom_style: z.string().max(2000).optional().describe('Free-text description of the look you want, max 2000 chars. Requires style:"custom". What to describe depends on the tool: animated-ad / character / music-video / inspiration / motivational / slideshow -> the illustration or cinematic image style; motion-graphics / saas-ui-ad / text-animation / video-banner -> typography, palette and motion for graphics built in code; product-showcase -> how the product is filmed (put the text-graphics look in custom_graphics_style)'),
|
|
112
|
+
custom_graphics_style: z.string().max(2000).optional().describe('product-showcase only: how the text graphics rendered in code OVER the product video should look (typography, colors, contrast against the video). Optional — left out, it is derived from custom_style.'),
|
|
113
|
+
custom_style_refine: z.boolean().optional().describe('Default true: your description is expanded into a full style specification before the video is built. Set false to use your text verbatim — do that when reusing the customStyle returned by a previous video so a campaign keeps one look.'),
|
|
114
|
+
style_hint: z.string().optional().describe('Legacy alias: when no style is given, this is treated exactly like custom_style. Prefer custom_style.'),
|
|
107
115
|
ad_structure: z.string().optional().describe('Ad structure id for the tool (registry)'),
|
|
108
116
|
hook_formula: z.string().optional().describe('Hook formula id (registry)'),
|
|
109
117
|
video_mode: z.enum(['continuous', 'cuts']).optional(),
|
package/package.json
CHANGED