@clipwright/sdk 0.21.0 → 0.22.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 +35 -0
- package/README.md +5 -2
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -16,6 +16,41 @@ a customer reading it should not miss what appeared in the product. Like *Server
|
|
|
16
16
|
they are live from the day the web app was deployed, not from the package release they are
|
|
17
17
|
listed under.
|
|
18
18
|
|
|
19
|
+
## [0.22.0] - 2026-10-01
|
|
20
|
+
|
|
21
|
+
A new speech model: `tts_model` accepts `eleven_v4`, and the clients no longer fail on a model they do not know.
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
|
|
25
|
+
- *Server-side:* a new sign-up gets a one-time trial of 420 credits, enough for one 90-second faceless video. An
|
|
26
|
+
account gets one trial at most. (clipwright#58)
|
|
27
|
+
- `tts_model` accepts `eleven_v4`, with a script limit of 5,000 characters. No voice speaks it by default: presets,
|
|
28
|
+
catalog voices and a raw `voice_id` stay on `eleven_v3` until you name it. It reads stress marks as `eleven_v3`
|
|
29
|
+
does. It gives no pause for a `<break time="…" />` tag, so the tag is cut from the text and `warnings[]` says so
|
|
30
|
+
in the quote and on the run. `list_voices` reports its languages. (clipwright#452)
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- The clients read `tts_model` in a quote and `model` in `list_voices` as text, not as one of a fixed list. A client
|
|
35
|
+
released before a new speech model no longer fails on a response that names it. (clipwright#452)
|
|
36
|
+
|
|
37
|
+
## [0.21.1] - 2026-09-27
|
|
38
|
+
|
|
39
|
+
A wording patch: the clients now describe the faceless length the way the API delivers it.
|
|
40
|
+
|
|
41
|
+
### Fixed
|
|
42
|
+
|
|
43
|
+
- The `make_faceless` tool description, the `make-faceless` CLI help, the `.mcpb` manifest, `SKILL.md` and the
|
|
44
|
+
package READMEs no longer call a faceless video a fixed 30–90 seconds. You select `duration_seconds` from 30 to 90;
|
|
45
|
+
the video ends with its narration and runs from 25 seconds to 5 seconds past the selection, never past 90. The
|
|
46
|
+
behavior is unchanged from 0.21.0; only the text was wrong.
|
|
47
|
+
|
|
48
|
+
### Changed
|
|
49
|
+
|
|
50
|
+
- *Dashboard:* The Acceptable Use Policy allows a faceless video to show a recognisable public figure when the story
|
|
51
|
+
is about that person (news, history, biography, commentary). It still may not make them appear to say, do or
|
|
52
|
+
endorse anything they did not. Showing a real person speaking your script still requires that person's consent.
|
|
53
|
+
|
|
19
54
|
## [0.21.0] - 2026-09-27
|
|
20
55
|
|
|
21
56
|
Faceless videos: an agent can now make a video of up to 90 seconds without an on-camera presenter, from a script or
|
package/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# @clipwright/sdk
|
|
2
2
|
|
|
3
|
-
TypeScript client for the [Clipwright](https://clipwright.io) UGC
|
|
3
|
+
TypeScript client for the [Clipwright](https://clipwright.io) UGC and faceless
|
|
4
|
+
video API.
|
|
4
5
|
|
|
5
6
|
```ts
|
|
6
7
|
import { ClipwrightClient } from "@clipwright/sdk";
|
|
@@ -16,7 +17,9 @@ carries an idempotency key derived from the input and from this installation's
|
|
|
16
17
|
id, so a retried request returns the original run instead of paying twice. Pass
|
|
17
18
|
`idempotencyKey` explicitly when you deliberately want a fresh run.
|
|
18
19
|
|
|
19
|
-
`quoteFaceless(input)` prices a
|
|
20
|
+
`quoteFaceless(input)` prices a faceless video for a `duration_seconds` of 30 to 90
|
|
21
|
+
(the delivered video runs from 25 seconds to 5 seconds past it, never past 90, and
|
|
22
|
+
never costs more than the quote), and
|
|
20
23
|
`startFaceless(input, { attempt })` starts it and returns the run at once; poll
|
|
21
24
|
`getRun` until it succeeds. The input names its source with `input_mode`:
|
|
22
25
|
`{ input_mode: "script", script, duration_seconds }` reads your text as written,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clipwright/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.22.0",
|
|
4
4
|
"description": "TypeScript client for the Clipwright UGC video API",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Dimantika Sp. z o.o.",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"zod": "^4.4.3",
|
|
27
|
-
"@clipwright/core": "0.
|
|
27
|
+
"@clipwright/core": "0.22.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/node": "^26.1.1"
|