@clipwright/mcp-server 0.14.0 → 0.15.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/CHANGELOG.md +49 -0
- package/README.md +2 -1
- package/SKILL.md +40 -15
- package/dist/server.js +5 -3
- package/dist/server.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,55 @@ on the client side. Entries marked *Server-side* changed the API itself: every
|
|
|
10
10
|
client version sees them from the day the API was deployed, not from the package
|
|
11
11
|
release they are listed under.
|
|
12
12
|
|
|
13
|
+
Entries marked *Dashboard:* changed the web app (the dashboard or a public page of the site)
|
|
14
|
+
and no package. This file is also the public changelog at /changelog, so they are listed here:
|
|
15
|
+
a customer reading it should not miss what appeared in the product. Like *Server-side* entries,
|
|
16
|
+
they are live from the day the web app was deployed, not from the package release they are
|
|
17
|
+
listed under.
|
|
18
|
+
|
|
19
|
+
## [0.15.0] - 2026-09-14
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- *Server-side:* in `GET /v1/voices`, a catalog voice carries `preview_url` and
|
|
24
|
+
`preview_expires_at` once its sample is recorded: a short clip of that voice on
|
|
25
|
+
`eleven_v3`, in the voice's own language. The link is signed by us and
|
|
26
|
+
expires like a preset's. A voice without a recorded sample for its current
|
|
27
|
+
model and sample text still has neither field, and the list never links to
|
|
28
|
+
the vendor. The sample texts outside English and Russian are machine
|
|
29
|
+
translations that no native speaker has checked. (clipwright#164)
|
|
30
|
+
- *Server-side:* without `voice` or `voice_id`, the voice follows the actor's
|
|
31
|
+
gender: a woman from `actor_id` speaks `sarah`, a man speaks `george`. The
|
|
32
|
+
default actor still speaks `george`, and an explicit voice always wins.
|
|
33
|
+
(clipwright#183)
|
|
34
|
+
- *Server-side:* a request with `image` and no voice gets a warning that the
|
|
35
|
+
male `george` voice is used, naming `voice` and `actor_gender` as the fix.
|
|
36
|
+
`GET /v1/runs/{id}` derives it from the stored input, so runs started before
|
|
37
|
+
this change show it too. A request with `actor_gender` next to `voice` or
|
|
38
|
+
`voice_id` gets a warning that the hint changed nothing. (clipwright#183)
|
|
39
|
+
- *Server-side:* the contract version moved to `2026-09-14`. (clipwright#183)
|
|
40
|
+
- *Dashboard:* `/actors` says that an actor without a chosen voice speaks the
|
|
41
|
+
default voice of their gender. (clipwright#183)
|
|
42
|
+
|
|
43
|
+
### Added
|
|
44
|
+
|
|
45
|
+
- `actor_gender` (`female` or `male`) in the `make_ugc` input: next to `image`
|
|
46
|
+
it picks the default voice of that gender. It is refused with `actor_id` and
|
|
47
|
+
without `image`, and the remote fetch killswitch turns it off together with
|
|
48
|
+
`image`. The REST API accepts it from the day the API is deployed; the MCP
|
|
49
|
+
tool schema, the SDK types and the CLI flag `--actor-gender` arrive with this
|
|
50
|
+
release. (clipwright#183)
|
|
51
|
+
|
|
52
|
+
- *Dashboard:* `/actors` shows the actor library as a gallery: every published portrait with
|
|
53
|
+
its `actor_id` to copy, next to gender, approximate age, description and version. A person
|
|
54
|
+
can pick a face without calling `GET /v1/actors` first. (clipwright#148)
|
|
55
|
+
- *Dashboard:* `/videos` lists the finished videos of the account. Each one is a still frame
|
|
56
|
+
taken from the delivered file, with the length of the clip and the day it finished, and a
|
|
57
|
+
tile with a frame plays the video. Runs that are still going or that failed stay on the
|
|
58
|
+
Balance page. (clipwright#138)
|
|
59
|
+
- *Dashboard:* `/changelog` renders this file as a public page, so the release notes are
|
|
60
|
+
readable without installing a package. (clipwright#102)
|
|
61
|
+
|
|
13
62
|
## [0.14.0] - 2026-09-13
|
|
14
63
|
|
|
15
64
|
### Changed
|
package/README.md
CHANGED
|
@@ -27,7 +27,8 @@ Any MCP host works — the server speaks JSON-RPC over stdio.
|
|
|
27
27
|
## Tools
|
|
28
28
|
|
|
29
29
|
- `list_voices` — voices for `voice`: the presets and the catalog, with
|
|
30
|
-
filters by language, gender, age, use case and model
|
|
30
|
+
filters by language, gender, age, use case and model, and a short audio
|
|
31
|
+
sample per voice. Free, spends no credits.
|
|
31
32
|
- `list_actors` — ready-made faces with stable ids and verified formats. Free.
|
|
32
33
|
- `quote_ugc` — estimated duration and price, plus a warning when `make_ugc`
|
|
33
34
|
with the same input would be refused for money or access. Free.
|
package/SKILL.md
CHANGED
|
@@ -296,7 +296,7 @@ schema, and the server answers 400 `rejected_field` before a run is even created
|
|
|
296
296
|
| `webhook_url` | poll `get_run` — webhooks are not delivered at all |
|
|
297
297
|
| `segments`, `broll_url` | a single `script`; segmented clips are not available yet |
|
|
298
298
|
| `disclosure_overlay` | nothing: the AI disclosure is already in the run response and in the file |
|
|
299
|
-
| `image` with the killswitch off | omit
|
|
299
|
+
| `image` and `actor_gender` with the killswitch off | omit both — the render runs on the default actor |
|
|
300
300
|
|
|
301
301
|
**The aspect ratio can be refused.** Requesting `aspect_ratio: "1:1"` without an
|
|
302
302
|
`image` or `actor_id` returns a refusal: the default actor is vertical (432×768), and a square
|
|
@@ -320,10 +320,11 @@ them here would mean offering what the server punishes you for (section 3).
|
|
|
320
320
|
TTS model, as reported by `tools/list`: `eleven_v3` allows 5000 characters,
|
|
321
321
|
`eleven_flash_v2_5` and `eleven_turbo_v2_5` allow 10000. Spaces, audio tags and stress
|
|
322
322
|
marks count; emoji may count as two characters. There is no word-count limit or fixed
|
|
323
|
-
duration implied by it), `tts_model` (every preset speaks `eleven_v3`, the most
|
|
323
|
+
duration implied by it), `tts_model` (every preset and catalog voice speaks `eleven_v3`, the most
|
|
324
324
|
expressive model; `eleven_flash_v2_5` and `eleven_turbo_v2_5` cost less and suit
|
|
325
325
|
languages other than Russian), optionally `person` OR
|
|
326
|
-
`image` (a public `https` URL)
|
|
326
|
+
`image` (a public `https` URL) with `actor_gender` (`female`/`male`, only next to
|
|
327
|
+
`image`), plus `name`, `captions` (defaults to `false` —
|
|
327
328
|
**captions are opt-in, ASK THE USER FIRST**), `caption_style`
|
|
328
329
|
(`hormozi`/`tiktok`/`minimal`), `look` (`natural`/`commercial`/`raw_iphone`),
|
|
329
330
|
`aspect_ratio` (`9:16`/`1:1`, with NO default — silence and an explicit choice
|
|
@@ -394,18 +395,40 @@ Two mutually exclusive optional fields in the `make_ugc` input:
|
|
|
394
395
|
- `voice` — the `name` of a voice from the free `list_voices` tool: one of the
|
|
395
396
|
presets (`owner_ru_clone`, `sarah`, `george`, `eric`, `daria_ru_female`) or a
|
|
396
397
|
catalog voice. **The recommended path.** Validated at the boundary: an unknown
|
|
397
|
-
or retired name returns 400 immediately and no paid call is made.
|
|
398
|
+
or retired name returns 400 immediately and no paid call is made. The two
|
|
399
|
+
refusals differ: a retired voice's message names the date it left the catalog.
|
|
398
400
|
- `voice_id` — a **raw ElevenLabs id** (20 characters), an escape hatch for voices
|
|
399
401
|
OUTSIDE the catalog, cloned ones included. It is checked for free against the
|
|
400
402
|
account at the start of the run (not during `quote`): a non-existent id fails the
|
|
401
403
|
run BEFORE any paid call.
|
|
402
|
-
- **The default voice
|
|
403
|
-
|
|
404
|
-
|
|
404
|
+
- **The default voice follows the actor's gender.** Without `voice` or `voice_id`,
|
|
405
|
+
a woman speaks `sarah` and a man speaks `george`. The gender comes from the
|
|
406
|
+
`actor_id` catalog entry, or from `actor_gender` next to `image`. The default
|
|
407
|
+
actor speaks `george`. An explicit voice always wins.
|
|
408
|
+
- **With `image`, pass `actor_gender` or a `voice`.** Clipwright does not detect
|
|
409
|
+
gender from the photo. Without either, the voice is `george` and `warnings[]`
|
|
410
|
+
says so. `actor_gender` next to `actor_id`, or without `image`, returns 400
|
|
411
|
+
before any charge.
|
|
405
412
|
- **Read `actor` in the quote before rendering.** It describes the selected
|
|
406
|
-
actor (`null` means the client sent `image`).
|
|
407
|
-
|
|
408
|
-
a
|
|
413
|
+
actor (`null` means the client sent `image`). An explicit voice is used as
|
|
414
|
+
requested whatever the actor's gender; `actor_gender` next to it changes nothing,
|
|
415
|
+
and a warning says so.
|
|
416
|
+
|
|
417
|
+
**How to pick a voice when the user asks for one:**
|
|
418
|
+
|
|
419
|
+
1. Call `list_voices` with the filters the user gave: `language`, `gender`,
|
|
420
|
+
`age`, `use_case`. Language is a filter only: any voice speaks any supported
|
|
421
|
+
language, so a Spanish script can use an English voice.
|
|
422
|
+
2. Play the `preview_url` of two or three candidates to the user. A catalog
|
|
423
|
+
voice's sample is in its native language.
|
|
424
|
+
3. Pass the chosen `name` as `voice` to `quote_ugc` and then `make_ugc`.
|
|
425
|
+
4. Next time, reuse that same `name`. A name always means the same voice.
|
|
426
|
+
|
|
427
|
+
When the user sends a photo and asks for no particular voice, pass the gender of
|
|
428
|
+
the person in it as `actor_gender`. Ask the user only when you cannot tell.
|
|
429
|
+
|
|
430
|
+
For a Russian script, keep `eleven_v3` and mark stress with a capital vowel
|
|
431
|
+
(see **Russian stress marks** above).
|
|
409
432
|
|
|
410
433
|
### `get_run` — status polling
|
|
411
434
|
|
|
@@ -496,8 +519,9 @@ refused with the allowed values, and an unknown filter name with
|
|
|
496
519
|
Each entry carries `name`, `kind` (`preset` or `catalog`), `language`,
|
|
497
520
|
`description`, `model` (its default speech model) and `supported_models`. A
|
|
498
521
|
catalog voice also carries `verified_models` and whichever of `locale`,
|
|
499
|
-
`accent`, `gender`, `age` and `use_case` the catalog has. The
|
|
500
|
-
|
|
522
|
+
`accent`, `gender`, `age` and `use_case` the catalog has. The tool returns
|
|
523
|
+
`{ "voices": [...] }` only. REST `GET /v1/voices` also returns `models`, and the
|
|
524
|
+
script limit of each model is in `tools/list`.
|
|
501
525
|
|
|
502
526
|
There is still a network call: the tool hits OUR `/v1/voices` and needs a working
|
|
503
527
|
`CLIPWRIGHT_API_KEY`, like the other three. Nobody calls the vendor — the list
|
|
@@ -508,9 +532,10 @@ Call it before `make_ugc` when the user asks for "a different voice": a voice
|
|
|
508
532
|
name is preferable to a raw `voice_id`, because a name survives a change of
|
|
509
533
|
vendor and an identifier does not.
|
|
510
534
|
|
|
511
|
-
**Let the user HEAR the voice before paying for it.**
|
|
512
|
-
`preview_url`: a short
|
|
513
|
-
so it matches what the render will sound like.
|
|
535
|
+
**Let the user HEAR the voice before paying for it.** Every voice with a recorded
|
|
536
|
+
sample carries `preview_url`: a short clip spoken by that voice with its own
|
|
537
|
+
model, so it matches what the render will sound like. A catalog voice speaks its
|
|
538
|
+
sample in its native language. Descriptions convey neither
|
|
514
539
|
diction nor accent nor pace; the owner caught a voice-face mismatch by ear, on a
|
|
515
540
|
finished clip. Offer the sample whenever the user asks for a different voice.
|
|
516
541
|
|
package/dist/server.js
CHANGED
|
@@ -100,8 +100,10 @@ export function createServer(client) {
|
|
|
100
100
|
"speaks any supported language), `gender`, `age`, `use_case` and `model`; an unknown filter value is " +
|
|
101
101
|
"refused with the allowed values. Pick a voice by `name` (e.g. voice=\"george\"); a name always means " +
|
|
102
102
|
"the same voice. `voice_id` is an escape hatch for a raw vendor voice id that is not listed, such as a " +
|
|
103
|
-
"cloned voice.
|
|
104
|
-
"
|
|
103
|
+
"cloned voice. Without voice or voice_id the default voice follows the actor's gender: sarah for a " +
|
|
104
|
+
"woman, george for a man, taken from actor_id or from actor_gender next to image. With image and no " +
|
|
105
|
+
"actor_gender the voice is george and a warning says so: pass the gender of the person in the photo as " +
|
|
106
|
+
"actor_gender (ask the user only when you cannot tell), or pick a voice here. Keep any voice the user chose. A voice with `preview_url` has a short-lived audio sample " +
|
|
105
107
|
"spoken by that voice with that model; play it to the user before a paid render instead of judging a " +
|
|
106
108
|
"voice by its description. It expires at `preview_expires_at`: call this tool again for a fresh link, " +
|
|
107
109
|
"never store it. A voice without `preview_url` has no sample yet. Free. " + SCRIPT_LENGTH_DESCRIPTION,
|
|
@@ -112,7 +114,7 @@ export function createServer(client) {
|
|
|
112
114
|
return { content: [{ type: "text", text: JSON.stringify({ voices }) }] };
|
|
113
115
|
}));
|
|
114
116
|
server.registerTool("list_actors", {
|
|
115
|
-
description: "List saved Clipwright actors with stable IDs, gender, age and verified image formats. Choose actor_id for quote_ugc and make_ugc. Preview URLs expire; actor IDs remain reusable. Do not combine actor_id with image or
|
|
117
|
+
description: "List saved Clipwright actors with stable IDs, gender, age and verified image formats. Choose actor_id for quote_ugc and make_ugc. Preview URLs expire; actor IDs remain reusable. Do not combine actor_id with image, person or actor_gender. Without voice, the actor speaks the default voice of their gender.",
|
|
116
118
|
inputSchema: {},
|
|
117
119
|
}, async () => withFailureReport(async () => ({
|
|
118
120
|
content: [{ type: "text", text: JSON.stringify({ actors: await client.listActors() }) }],
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clipwright/mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "MCP server for Clipwright: generate UGC videos from your coding agent",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
31
31
|
"zod": "^4.4.3",
|
|
32
|
-
"@clipwright/core": "0.
|
|
33
|
-
"@clipwright/sdk": "0.
|
|
32
|
+
"@clipwright/core": "0.15.0",
|
|
33
|
+
"@clipwright/sdk": "0.15.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/node": "^26.1.1"
|