@clipwright/sdk 0.23.0 → 0.24.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 CHANGED
@@ -16,6 +16,45 @@ 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.24.0] - 2026-10-03
20
+
21
+ A second speech model, `gemini-3.8-flash-tts`, with thirty voices of its own and a sample of each in English and
22
+ Russian. Nothing changes unless you name the model or one of its voices. The CLI and the MCP server accept the new
23
+ `tts_model` value from this release on.
24
+
25
+ ### Added
26
+
27
+ - `tts_model` accepts `gemini-3.8-flash-tts`, a speech model of a second vendor. Nothing changes unless you name it:
28
+ every default stays as it was, and Russian speech without `tts_model` still uses `eleven_v4`. The model speaks only
29
+ its own voices: without `voice`, `kore` for a female actor and `charon` otherwise. It reads Russian stress marks,
30
+ and it gets the text with `<break time="…" />` tags cut, which the response names in a warning. Its script limit is
31
+ 5,000 characters. The price per finished second is the same as on every other model. (clipwright#453)
32
+ - `voice` accepts the thirty voices of `gemini-3.8-flash-tts` by name: `kore`, `puck`, `zephyr` and the rest, as
33
+ `list_voices` returns them. Naming one selects that model without `tts_model`, and the quote names the model.
34
+ `clipwright voices` prints the model on the line of such a voice. (clipwright#453)
35
+ - *Server-side:* `list_voices` returns those thirty voices after the presets as entries of kind `model_voice`. Each
36
+ names one model in `model` and `supported_models`, has no `language`, and carries `gender` only where it is known:
37
+ `kore` is female and `charon` is male. The filters `model=gemini-3.8-flash-tts`, `language=ru` and `language=en`
38
+ find them; any other language does not. (clipwright#453)
39
+ - *Server-side:* each of those thirty voices carries `preview_url`, a short sample spoken by that voice on its model.
40
+ The sample is in English; a request filtered by `language=ru` gets the Russian one. `clipwright voices` prints the
41
+ link under the voice, as it does for every other voice with a sample. (clipwright#453)
42
+ - *Server-side:* with `gemini-3.8-flash-tts` the API refuses a preset or catalog `voice`, `voice_id`, `captions=true`,
43
+ `segments` and `inserts` before any charge: the model does not speak the preset and catalog voices and returns no
44
+ word timings. It refuses the same when a voice names the model instead of `tts_model`, and it refuses one of the
45
+ model's voices next to any other `tts_model`. Each refusal names what to pass instead. `list_voices` lists the
46
+ model in `models[]` with the languages `en` and `ru`; no preset or catalog voice names it in `supported_models`.
47
+ (clipwright#453)
48
+ - *Server-side:* a warning about stress marks on `eleven_flash_v2_5` or `eleven_turbo_v2_5` names only the models
49
+ that speak the voice of the run: with an explicit `voice` or `voice_id` these are `eleven_v3` and `eleven_v4`.
50
+ (clipwright#453)
51
+ - *Server-side:* the quote and the reserve for a Russian script on `gemini-3.8-flash-tts` assume 2.2 words per second,
52
+ the pace measured on its two default voices: 153 Russian words are quoted at 70 seconds and 2,100 credits. A script
53
+ in Latin letters on this model is quoted at 2.6 words per second, as on every other model. The charge follows the
54
+ measured duration. (clipwright#453)
55
+ - *Dashboard:* the Privacy Policy, the Cookie Policy and the AI disclosure page name the speech provider of a run
56
+ that chooses this model. (clipwright#453)
57
+
19
58
  ## [0.23.0] - 2026-10-02
20
59
 
21
60
  Russian speech moves to `eleven_v4`: the server names it by default, and the client texts say which voices speak it.
package/README.md CHANGED
@@ -32,11 +32,19 @@ refuse a mismatched `script`/`brief` before sending anything.
32
32
  `preview_url` that expires in an hour. Pass a voice's `name` as `voice`;
33
33
  `language` is a filter only, since any voice speaks any supported language.
34
34
 
35
+ The list holds the presets, the thirty voices of the speech model
36
+ `gemini-3.8-flash-tts` (`kind: "model_voice"`) and the catalog. A `model_voice`
37
+ voice has no language of its own: `language: "en"` and `language: "ru"` find it,
38
+ and its sample is in English unless you ask for `language: "ru"`. Naming such a
39
+ voice makes the run speak `gemini-3.8-flash-tts` without `tts_model`. That model
40
+ speaks only its own voices and refuses `captions: true` before any charge.
41
+
35
42
  Without `voice` or `voice_id`, the voice follows the actor's gender: `sarah` for
36
43
  a woman, `george` for a man. `actor_id` brings its catalog gender; with `image`,
37
44
  pass `actor_gender` (`"female"` or `"male"`). An `image` without `actor_gender`
38
45
  gets `george` and a warning. `actor_gender` next to `actor_id` or without
39
- `image` is refused before any charge.
46
+ `image` is refused before any charge. With `tts_model: "gemini-3.8-flash-tts"`
47
+ the defaults are `kore` for a woman and `charon` otherwise.
40
48
 
41
49
  Requires `CLIPWRIGHT_CLIENT_ID`, or a writable `~/.clipwright/` for the SDK to
42
50
  create one on first use. It fails loudly rather than generating a throwaway id,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clipwright/sdk",
3
- "version": "0.23.0",
3
+ "version": "0.24.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.23.0"
27
+ "@clipwright/core": "0.24.0"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/node": "^26.1.1"