@clipwright/core 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/dist/actors.d.ts CHANGED
@@ -38,6 +38,7 @@ export interface VoiceGenderInput {
38
38
  actor_gender?: Gender | undefined;
39
39
  voice?: string | undefined;
40
40
  voice_id?: string | undefined;
41
+ tts_model?: string | undefined;
41
42
  }
42
43
  /** Gender for the default voice: `actor_id` → pin; `image` → `actor_gender`; else the default actor. */
43
44
  /** Only from the same actor's pin, not the catalog: personal actors are not in it. */
@@ -46,6 +47,8 @@ export declare function voiceGenderFor(input: VoiceGenderInput, pin?: {
46
47
  gender: Gender;
47
48
  } | undefined): Gender | undefined;
48
49
  export declare const IMAGE_DEFAULT_VOICE_WARNING: string;
50
+ /** The same warning for the run's model: a model with its own voices names its default and where its voices are listed. */
51
+ export declare function imageDefaultVoiceWarning(ttsModel: string | undefined): string;
49
52
  export declare function actorGenderIgnoredWarning(field: "voice" | "voice_id"): string;
50
53
  export declare function voiceActorGenderWarning(voice: string, voiceGender: Gender, actorGender: Gender): string;
51
54
  /** An explicit voice is used as requested, but a mismatch with the actor's gender is */
package/dist/actors.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { actorId, ASPECT_RATIOS } from "./skills.js";
3
- import { DEFAULT_VOICE_PRESET, VOICE_PRESETS } from "./voices.js";
3
+ import { defaultVoiceOf, DEFAULT_VOICE_PRESET, speaksOwnVoices, VOICE_PRESETS } from "./voices.js";
4
4
  export const ACTORS_PATH = "/v1/actors";
5
5
  /** An account's personal actor: the quote is free, the run is paid. The API routes repeat */
6
6
  /** these paths as literals, and a test keeps them equal. */
@@ -36,6 +36,14 @@ export function voiceGenderFor(input, pin) {
36
36
  }
37
37
  export const IMAGE_DEFAULT_VOICE_WARNING = `no voice was chosen for the face in image: the default ${VOICE_PRESETS[DEFAULT_VOICE_PRESET].gender} ` +
38
38
  `voice "${DEFAULT_VOICE_PRESET}" is used; pass voice (from list_voices) or actor_gender to match the face`;
39
+ /** The same warning for the run's model: a model with its own voices names its default and where its voices are listed. */
40
+ export function imageDefaultVoiceWarning(ttsModel) {
41
+ if (!speaksOwnVoices(ttsModel))
42
+ return IMAGE_DEFAULT_VOICE_WARNING;
43
+ const voice = defaultVoiceOf(ttsModel, undefined);
44
+ return (`no voice was chosen for the face in image: the default ${voice.gender} voice "${voice.name}" of ${ttsModel} ` +
45
+ `is used; pass voice (from list_voices with model=${ttsModel}) or actor_gender to match the face`);
46
+ }
39
47
  export function actorGenderIgnoredWarning(field) {
40
48
  return `actor_gender did not change the voice: the explicit ${field} is used as requested`;
41
49
  }
@@ -67,7 +75,7 @@ export function buildActorGenderWarnings(input) {
67
75
  if (input.actor_gender !== undefined) {
68
76
  return explicit === undefined ? [] : [actorGenderIgnoredWarning(explicit)];
69
77
  }
70
- return input.image !== undefined && explicit === undefined ? [IMAGE_DEFAULT_VOICE_WARNING] : [];
78
+ return input.image !== undefined && explicit === undefined ? [imageDefaultVoiceWarning(input.tts_model)] : [];
71
79
  }
72
80
  export const actorSelection = z.object({
73
81
  actor_id: actorId,
@@ -1 +1 @@
1
- {"version":3,"file":"actors.js","sourceRoot":"","sources":["../src/actors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actors.js","sourceRoot":"","sources":["../src/actors.ts"],"names":[],"mappings":"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"}
@@ -246,6 +246,7 @@ export declare const offeredUgcInput: z.ZodObject<{
246
246
  eleven_turbo_v2_5: "eleven_turbo_v2_5";
247
247
  eleven_v3: "eleven_v3";
248
248
  eleven_v4: "eleven_v4";
249
+ "gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
249
250
  }>>;
250
251
  disclosure_overlay: z.ZodOptional<z.ZodBoolean>;
251
252
  background: z.ZodOptional<z.ZodEnum<{
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { brollPolicy } from "./broll-policy.js";
3
3
  import { CANVAS_FPS } from "./media-timebase.js";
4
- import { speechTextFor, TTS_MODEL_CHAR_CAP, TTS_MODELS } from "./voices.js";
4
+ import { ELEVENLABS_TTS_MODELS, speechTextFor, TTS_MODEL_CHAR_CAP } from "./voices.js";
5
5
  export const SHORT61_BOUNDARIES = [
6
6
  0, 93, 162, 309, 412, 472, 562, 643, 753, 822, 902, 948,
7
7
  1010, 1081, 1192, 1243, 1316, 1344, 1373, 1410, 1447, 1484, 1522,
@@ -41,7 +41,7 @@ const plan = z.strictObject({
41
41
  resolution: z.literal("1080p"),
42
42
  brollPolicy,
43
43
  script: z.string().trim().min(1),
44
- voice: z.strictObject({ model: z.enum(TTS_MODELS), voiceId: id }),
44
+ voice: z.strictObject({ model: z.enum(ELEVENLABS_TTS_MODELS), voiceId: id }),
45
45
  styleAssetId: id,
46
46
  characterAssetId: id,
47
47
  imageAssets: z.array(imageAsset),
@@ -1 +1 @@
1
- {"version":3,"file":"faceless-short-61.js","sourceRoot":"","sources":["../src/faceless-short-61.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"faceless-short-61.js","sourceRoot":"","sources":["../src/faceless-short-61.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEvF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IACvD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CACxD,CAAC;AAEX,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACpC,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC;IAChC,EAAE;IACF,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACtC,YAAY,EAAE,EAAE,CAAC,QAAQ,EAAE;IAC3B,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAC,YAAY,CAAC;IACxC,EAAE;IACF,eAAe,EAAE,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACjC,CAAC,CAAC;AACH,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC;IAC1B,EAAE;IACF,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;IACjD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;IAC5C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC;AACH,MAAM,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACzC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CAC3C,CAAC,CAAC;AACH,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IAC1C,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC;IACrD,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,iCAAiC,CAAC;IAC3D,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC9B,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9B,WAAW;IACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC5E,YAAY,EAAE,EAAE;IAChB,gBAAgB,EAAE,EAAE;IACpB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IAChC,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;IAChD,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IAC/B,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAC9C,CAAC,CAAC;AAeH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACrG,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAEtG,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8C,CAAC;IACrE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,YAAY,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACjI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;QACnH,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,gBAAgB;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAE1G,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/E,IAAI,WAAW,CAAC,MAAM,KAAK,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBAC9E,MAAM,IAAI,KAAK,CAAC,mDAAmD,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY;YAC1C,KAAK,CAAC,iBAAiB,EAAE,MAAM,KAAK,CAAC;YACrC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAC,EAAE,4CAA4C,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;QACjC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC9B,OAAO,CAAC,UAAU,KAAK,kBAAkB,CAAC,CAAC,CAAC;YAC5C,OAAO,CAAC,QAAQ,KAAK,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,CAAC,SAAS,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YACnD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,YAAY,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YAC9F,CAAC,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACV,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrF,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YACxE,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC5C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACjD,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACnG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3B,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,8CAA8C,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IACD,MAAM,YAAY,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;IAChD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,YAAY,GAAG,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;IACzE,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACtH,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;IACtD,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC;IAC9D,OAAO;QACL,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,EAAE;QAClB,mBAAmB;QACnB,mBAAmB;QACnB,aAAa,EAAE,EAAE,GAAG,mBAAmB,GAAG,mBAAmB;QAC7D,0BAA0B,EAAE,GAAG;QAC/B,gBAAgB,EAAE,UAAU;QAC5B,eAAe,EAAE,CAAC;QAClB,WAAW,EAAE,CAAC;KACf,CAAC;AACJ,CAAC"}
package/dist/skills.d.ts CHANGED
@@ -175,6 +175,7 @@ export declare const makeUgcInputShape: {
175
175
  eleven_turbo_v2_5: "eleven_turbo_v2_5";
176
176
  eleven_v3: "eleven_v3";
177
177
  eleven_v4: "eleven_v4";
178
+ "gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
178
179
  }>>;
179
180
  readonly webhook_url: z.ZodOptional<z.ZodString>;
180
181
  /** Visible "made with AI" overlay, OPT-IN: disclosure rests on contract fields and file */
@@ -281,6 +282,7 @@ export declare const makeUgcInput: z.ZodObject<{
281
282
  eleven_turbo_v2_5: "eleven_turbo_v2_5";
282
283
  eleven_v3: "eleven_v3";
283
284
  eleven_v4: "eleven_v4";
285
+ "gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
284
286
  }>>;
285
287
  webhook_url: z.ZodOptional<z.ZodString>;
286
288
  disclosure_overlay: z.ZodOptional<z.ZodBoolean>;
@@ -290,6 +292,20 @@ export declare const makeUgcInput: z.ZodObject<{
290
292
  white: "white";
291
293
  }>>;
292
294
  }, z.core.$strip>;
295
+ export interface SpeechModelRefusal {
296
+ field: "voice" | "voice_id" | "captions" | "segments" | "inserts";
297
+ message: string;
298
+ }
299
+ /** What a model with its own voices and no word timings refuses, each line naming what to pass instead. */
300
+ /** One list for the input schema and for the worker's check before its first paid step. */
301
+ export declare function speechModelRefusals(input: {
302
+ tts_model?: string | undefined;
303
+ voice?: string | undefined;
304
+ voice_id?: string | undefined;
305
+ captions?: boolean | undefined;
306
+ segments?: unknown;
307
+ inserts?: unknown;
308
+ }): SpeechModelRefusal[];
293
309
  /** API input: the server's `voiceRefusal` checks the voice name. The catalog is not imported */
294
310
  /** here, since clients read this barrel; the server uses `@clipwright/core/voice-admission`. */
295
311
  export declare function serverUgcInputWith(voiceRefusal: (voice: string) => string | undefined): z.ZodObject<{
@@ -380,6 +396,7 @@ export declare function serverUgcInputWith(voiceRefusal: (voice: string) => stri
380
396
  eleven_turbo_v2_5: "eleven_turbo_v2_5";
381
397
  eleven_v3: "eleven_v3";
382
398
  eleven_v4: "eleven_v4";
399
+ "gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
383
400
  }>>;
384
401
  webhook_url: z.ZodOptional<z.ZodString>;
385
402
  disclosure_overlay: z.ZodOptional<z.ZodBoolean>;
package/dist/skills.js CHANGED
@@ -3,7 +3,7 @@ import { longFormQuoteSchema } from "./long-form-pricing.js";
3
3
  import { RESOLVED_TIMELINE_MAX_SLOTS } from "./long-form-profile.js";
4
4
  import { brollPolicy } from "./broll-policy.js";
5
5
  import { countWords } from "./pacing.js";
6
- import { cutToNothingError, DEFAULT_TTS_MODEL, resolveTtsModel, RUSSIAN_TTS_MODEL, MAX_SCRIPT_CHARS, SCRIPT_LENGTH_DESCRIPTION, STRESS_MARKING_DESCRIPTION, ttsScriptLimitError, TTS_MODELS, isVoicePresetName, VOICE_ID_PATTERN, VOICE_NAME_PATTERN, VOICE_PRESET_NAMES, } from "./voices.js";
6
+ import { cutToNothingError, DEFAULT_TTS_MODEL, GOOGLE_TTS_MODEL, isModelVoiceName, MODEL_DEFAULT_VOICE_BY_GENDER, MODEL_VOICE_MODEL, resolveTtsModel, RUSSIAN_TTS_MODEL, MAX_SCRIPT_CHARS, SCRIPT_LENGTH_DESCRIPTION, speaksOwnVoices, STRESS_MARKING_DESCRIPTION, ttsScriptLimitError, TTS_MODELS, isVoicePresetName, VOICE_ID_PATTERN, VOICE_NAME_PATTERN, VOICE_PRESET_NAMES, } from "./voices.js";
7
7
  export const CAPTION_STYLES = ["hormozi", "tiktok", "minimal"];
8
8
  export const LOOKS = ["natural", "commercial", "raw_iphone"];
9
9
  /** Public formats = formats MEASURED live, not the vendor docs: declaring more would */
@@ -155,7 +155,8 @@ export const makeUgcInputShape = {
155
155
  .enum(["female", "male"])
156
156
  .optional()
157
157
  .describe("Gender of the face in image: female | male. Only with image: picks the default voice of that " +
158
- "gender (female: sarah, male: george). Refused with actor_id (its gender is known) and without " +
158
+ `gender (female: sarah, male: george; on ${GOOGLE_TTS_MODEL}: ${MODEL_DEFAULT_VOICE_BY_GENDER.female} and ` +
159
+ `${MODEL_DEFAULT_VOICE_BY_GENDER.male}). Refused with actor_id (its gender is known) and without ` +
159
160
  "image. An explicit voice or voice_id wins and the response warns that actor_gender changed nothing."),
160
161
  character: z.string().regex(/^char_[a-zA-Z0-9]+$/).optional(),
161
162
  name: z.string().max(100).optional(),
@@ -189,24 +190,33 @@ export const makeUgcInputShape = {
189
190
  "return, before any charge. Omitted means the default voice for the actor's gender: the " +
190
191
  "gender of actor_id, actor_gender with image, or george for the default actor and for image " +
191
192
  "without actor_gender. " +
193
+ `${MODEL_VOICE_MODEL} speaks only its own voices (kind model_voice in list_voices, such as ` +
194
+ `${MODEL_DEFAULT_VOICE_BY_GENDER.female}): naming one selects that model, and a voice is refused with a ` +
195
+ "tts_model that does not speak it, before any charge. " +
192
196
  "Mutually exclusive with voice_id."),
193
197
  voice_id: z
194
198
  .string({ error: "voice_id must be a vendor voice id, as a string" })
195
199
  .regex(VOICE_ID_PATTERN, "voice_id is not a vendor voice id: 16 to 32 letters and digits")
196
200
  .optional()
197
201
  .describe("Raw vendor voice id (16–32 letters and digits) for a voice outside the catalog. Checked " +
198
- "lazily: an unknown id fails the run, not the request. Mutually exclusive with voice."),
202
+ `lazily: an unknown id fails the run, not the request. Refused with tts_model=${GOOGLE_TTS_MODEL}. ` +
203
+ "Mutually exclusive with voice."),
199
204
  tts_model: z
200
205
  .enum(TTS_MODELS)
201
206
  .optional()
202
207
  .describe(`Speech model: ${TTS_MODELS.join(" | ")}. Omitted means the model of the chosen voice ` +
203
208
  `(list_voices shows it): ${RUSSIAN_TTS_MODEL} for the Russian presets and for catalog voices named ru_*, ` +
209
+ `${MODEL_VOICE_MODEL} for its own voices, ` +
204
210
  `${DEFAULT_TTS_MODEL} for every other preset and catalog voice. A raw voice_id speaks ${RUSSIAN_TTS_MODEL} ` +
205
211
  `when the script is mostly Cyrillic and ${DEFAULT_TTS_MODEL} otherwise. An explicit tts_model always wins. ` +
206
- "eleven_v4 and eleven_v3 read stress marks " +
212
+ `eleven_v4, eleven_v3 and ${GOOGLE_TTS_MODEL} read stress marks ` +
207
213
  "(a capital vowel inside a Russian word, \"потОм\", becomes one; see script); " +
208
214
  "eleven_flash_v2_5 and eleven_turbo_v2_5 are cheaper alternatives for languages other than " +
209
- "Russian. " + SCRIPT_LENGTH_DESCRIPTION),
215
+ `Russian. ${GOOGLE_TTS_MODEL} speaks only its own voices (list_voices with model=${GOOGLE_TTS_MODEL}; without ` +
216
+ `voice, ${MODEL_DEFAULT_VOICE_BY_GENDER.female} for a female actor and ${MODEL_DEFAULT_VOICE_BY_GENDER.male} otherwise) ` +
217
+ "and returns no word timings: a preset or catalog voice, voice_id, captions=true, " +
218
+ "segments and inserts are refused with it before any charge. Audio tags in square brackets are an " +
219
+ "eleven_v3 and eleven_v4 convention and are not measured on it. " + SCRIPT_LENGTH_DESCRIPTION),
210
220
  webhook_url: z.string().url().max(MAX_URL_LENGTH).optional(),
211
221
  /** Visible "made with AI" overlay, OPT-IN: disclosure rests on contract fields and file */
212
222
  /** metadata. Burning it in needs composition (gated by `CLIPWRIGHT_COMPOSE`). */
@@ -229,6 +239,11 @@ export const makeUgcInput = z
229
239
  })
230
240
  .refine(v => v.inserts === undefined || (v.script !== undefined && v.segments === undefined), {
231
241
  path: ["inserts"], message: "inserts requires script and cannot be combined with segments",
242
+ })
243
+ .superRefine((v, context) => {
244
+ for (const refusal of speechModelRefusals(v)) {
245
+ context.addIssue({ code: z.ZodIssueCode.custom, path: [refusal.field], message: refusal.message });
246
+ }
232
247
  })
233
248
  // The character cap depends on the model; refused here, before any reserve or vendor call.
234
249
  // Only the server knows the model of a voice unknown to the client, and checks it there.
@@ -279,7 +294,41 @@ function speechTextRefusal(input) {
279
294
  return ttsScriptLimitError(text, model) ?? spokenUnitsOf(input).map((unit) => cutToNothingError(unit, model)).find(Boolean);
280
295
  }
281
296
  function modelUnknownToClient(v) {
282
- return v.tts_model === undefined && v.voice !== undefined && !isVoicePresetName(v.voice);
297
+ return v.tts_model === undefined && v.voice !== undefined && !isVoicePresetName(v.voice) && !isModelVoiceName(v.voice);
298
+ }
299
+ /** What a model with its own voices and no word timings refuses, each line naming what to pass instead. */
300
+ /** One list for the input schema and for the worker's check before its first paid step. */
301
+ export function speechModelRefusals(input) {
302
+ // The model the voice name selects, by the function quote and the worker call; a script never decides it.
303
+ const model = input.tts_model ?? resolveTtsModel({ voice: input.voice, script: "" });
304
+ const ownVoice = input.voice !== undefined && isModelVoiceName(input.voice);
305
+ if (!speaksOwnVoices(model)) {
306
+ if (!ownVoice)
307
+ return [];
308
+ return [{
309
+ field: "voice",
310
+ message: `voice "${input.voice}" is a voice of ${MODEL_VOICE_MODEL} and is not spoken by ${model}: omit tts_model to speak it ` +
311
+ `with ${MODEL_VOICE_MODEL}, or choose a voice from list_voices with model=${model}`,
312
+ }];
313
+ }
314
+ const ownVoices = `from list_voices with model=${model}`;
315
+ const defaultVoice = "to get the model's default voice for the actor's gender";
316
+ // With tts_model named too, a voice of another model alone would be refused against that tts_model.
317
+ const dropModel = input.tts_model === undefined ? "" : " and omit tts_model";
318
+ const otherModel = ownVoice ? `or choose a voice of another speech model from list_voices${dropModel}` : "or choose another tts_model";
319
+ const candidates = [
320
+ ["voice", input.voice !== undefined && !ownVoice,
321
+ `voice "${input.voice}" is not spoken by ${model}: choose one of its voices ${ownVoices}, omit voice ${defaultVoice}, ${otherModel}`],
322
+ ["voice_id", input.voice_id !== undefined,
323
+ `voice_id is not accepted with ${model}: pass voice with a name ${ownVoices}, omit voice_id ${defaultVoice}, ${otherModel}`],
324
+ ["captions", input.captions === true,
325
+ `captions are not available with ${model}: it returns no word timings; pass captions=false`],
326
+ ["segments", input.segments !== undefined,
327
+ `segments are not available with ${model}: pass script for a single take, ${otherModel}`],
328
+ ["inserts", input.inserts !== undefined,
329
+ `inserts are not available with ${model}: it returns no word timings to anchor them; omit inserts, ${otherModel}`],
330
+ ];
331
+ return candidates.filter(([, refused]) => refused).map(([field, , message]) => ({ field, message }));
283
332
  }
284
333
  /** API input: the server's `voiceRefusal` checks the voice name. The catalog is not imported */
285
334
  /** here, since clients read this barrel; the server uses `@clipwright/core/voice-admission`. */
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { Gender } from "./default-actor.js";
2
2
  import { type CatalogFileVoice } from "./voice-catalog.js";
3
3
  import { type TtsModelId } from "./voices.js";
4
- /** Why the API refuses a voice name; `undefined` for a preset or a live catalog voice. */
4
+ /** Why the API refuses a voice name; `undefined` for a preset, a model's own voice or a live catalog voice. */
5
5
  export declare function catalogVoiceRefusal(voice: string, voices?: readonly CatalogFileVoice[]): string | undefined;
6
6
  export declare const serverUgcInput: import("zod").ZodObject<{
7
7
  script: import("zod").ZodOptional<import("zod").ZodString>;
@@ -91,6 +91,7 @@ export declare const serverUgcInput: import("zod").ZodObject<{
91
91
  eleven_turbo_v2_5: "eleven_turbo_v2_5";
92
92
  eleven_v3: "eleven_v3";
93
93
  eleven_v4: "eleven_v4";
94
+ "gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
94
95
  }>>;
95
96
  webhook_url: import("zod").ZodOptional<import("zod").ZodString>;
96
97
  disclosure_overlay: import("zod").ZodOptional<import("zod").ZodBoolean>;
@@ -2,11 +2,11 @@ import { serverUgcInputWith } from "./skills.js";
2
2
  import { normalizeVoiceLabel } from "./voice-catalog.js";
3
3
  import { VOICE_CATALOG } from "./voice-catalog-data.js";
4
4
  import { vendorVerifiedModels } from "./voice-listing.js";
5
- import { isVoicePresetName, resolveTtsModel, VOICE_PRESETS } from "./voices.js";
5
+ import { isModelVoiceName, isVoicePresetName, MODEL_VOICES, resolveTtsModel, VOICE_PRESETS, } from "./voices.js";
6
6
  // A subpath, not the barrel: the catalog weighs hundreds of kilobytes and SDK clients do not need it.
7
- /** Why the API refuses a voice name; `undefined` for a preset or a live catalog voice. */
7
+ /** Why the API refuses a voice name; `undefined` for a preset, a model's own voice or a live catalog voice. */
8
8
  export function catalogVoiceRefusal(voice, voices = VOICE_CATALOG.voices) {
9
- if (isVoicePresetName(voice))
9
+ if (isVoicePresetName(voice) || isModelVoiceName(voice))
10
10
  return undefined;
11
11
  const entry = voices.find((item) => item.slug === voice);
12
12
  if (entry === undefined) {
@@ -24,6 +24,10 @@ export const serverUgcInput = serverUgcInputWith((voice) => catalogVoiceRefusal(
24
24
  export function voiceGenderOf(voice, voices = VOICE_CATALOG.voices) {
25
25
  if (isVoicePresetName(voice))
26
26
  return VOICE_PRESETS[voice].gender;
27
+ if (isModelVoiceName(voice)) {
28
+ const own = MODEL_VOICES[voice];
29
+ return own.gender;
30
+ }
27
31
  const entry = voices.find((item) => item.slug === voice && item.retired_at === undefined);
28
32
  const label = normalizeVoiceLabel(entry?.gender_raw);
29
33
  return label === "female" || label === "male" ? label : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"voice-admission.js","sourceRoot":"","sources":["../src/voice-admission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"voice-admission.js","sourceRoot":"","sources":["../src/voice-admission.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export declare const VOICE_CATALOG: {
17
17
  name: string;
18
18
  description: string | null;
19
19
  category: string | null;
20
- verified_models: ("eleven_flash_v2_5" | "eleven_turbo_v2_5" | "eleven_v3" | "eleven_v4")[];
20
+ verified_models: ("eleven_flash_v2_5" | "eleven_turbo_v2_5" | "eleven_v3" | "eleven_v4" | "gemini-3.8-flash-tts")[];
21
21
  notice_period_days: number;
22
22
  featured: boolean;
23
23
  rank: number;
@@ -55,6 +55,7 @@ export declare const catalogFileVoice: z.ZodObject<{
55
55
  eleven_turbo_v2_5: "eleven_turbo_v2_5";
56
56
  eleven_v3: "eleven_v3";
57
57
  eleven_v4: "eleven_v4";
58
+ "gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
58
59
  }>>;
59
60
  notice_period_days: z.ZodNumber;
60
61
  featured: z.ZodBoolean;
@@ -153,6 +154,7 @@ export declare const voiceCatalogFile: z.ZodObject<{
153
154
  eleven_turbo_v2_5: "eleven_turbo_v2_5";
154
155
  eleven_v3: "eleven_v3";
155
156
  eleven_v4: "eleven_v4";
157
+ "gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
156
158
  }>>;
157
159
  notice_period_days: z.ZodNumber;
158
160
  featured: z.ZodBoolean;
@@ -221,6 +223,7 @@ export declare const voicesQueryShape: {
221
223
  eleven_turbo_v2_5: "eleven_turbo_v2_5";
222
224
  eleven_v3: "eleven_v3";
223
225
  eleven_v4: "eleven_v4";
226
+ "gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
224
227
  }>>;
225
228
  };
226
229
  export declare const voicesQuery: z.ZodObject<{
@@ -268,6 +271,7 @@ export declare const voicesQuery: z.ZodObject<{
268
271
  eleven_turbo_v2_5: "eleven_turbo_v2_5";
269
272
  eleven_v3: "eleven_v3";
270
273
  eleven_v4: "eleven_v4";
274
+ "gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
271
275
  }>>;
272
276
  }, z.core.$strip>;
273
277
  export type VoicesQuery = z.infer<typeof voicesQuery>;
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { TTS_MODELS, VOICE_NAME_PATTERN } from "./voices.js";
2
+ import { ELEVENLABS_TTS_MODELS, TTS_MODELS, VOICE_NAME_PATTERN } from "./voices.js";
3
3
  /** Voice catalog languages: the ONLY list; everything else is derived from it. */
4
4
  export const CATALOG_LANGUAGES = [
5
5
  "bg", "cs", "da", "de", "el", "en", "es", "fi", "fil", "fr", "hi", "hr", "hu", "id", "it", "ja",
@@ -38,7 +38,7 @@ export const voiceCatalogFile = z.strictObject({
38
38
  voices: z.array(catalogFileVoice),
39
39
  });
40
40
  export const ttsModelLanguagesFile = z.strictObject({
41
- models: z.array(z.strictObject({ id: z.enum(TTS_MODELS), languages: z.array(z.string().min(1)) })),
41
+ models: z.array(z.strictObject({ id: z.enum(ELEVENLABS_TTS_MODELS), languages: z.array(z.string().min(1)) })),
42
42
  });
43
43
  /** `/v1/voices` filters: request parsing, the MCP `inputSchema` and SDK parameters. `age` and */
44
44
  /** `use_case` labels come from catalog data, so the server knows their allowed set. */
@@ -46,7 +46,8 @@ export const voicesQueryShape = {
46
46
  language: z
47
47
  .enum(CATALOG_LANGUAGES)
48
48
  .optional()
49
- .describe("Native language of the voice. A filter, not a limit: any voice speaks any supported language"),
49
+ .describe("Native language of the voice. A filter, not a limit: any voice speaks any supported language. " +
50
+ "A voice with no language of its own (kind model_voice) matches the languages measured on its model"),
50
51
  gender: z.enum(CATALOG_GENDERS).optional().describe("Gender label of the voice"),
51
52
  age: z
52
53
  .string()
@@ -61,7 +62,8 @@ export const voicesQueryShape = {
61
62
  model: z
62
63
  .enum(TTS_MODELS)
63
64
  .optional()
64
- .describe("Only voices whose language this speech model supports"),
65
+ .describe("Only voices this speech model speaks: presets and catalog voices whose language it supports, " +
66
+ "or the model's own voices (kind model_voice)"),
65
67
  };
66
68
  export const voicesQuery = z.object(voicesQueryShape);
67
69
  export const VOICES_QUERY_FIELDS = Object.keys(voicesQueryShape);
@@ -1 +1 @@
1
- {"version":3,"file":"voice-catalog.js","sourceRoot":"","sources":["../src/voice-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"voice-catalog.js","sourceRoot":"","sources":["../src/voice-catalog.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import { z } from "zod";
2
2
  import { type CatalogFileVoice, type TtsModelLanguagesFile, type VoiceCatalogFile, type VoicesQuery } from "./voice-catalog.js";
3
3
  import { TTS_MODELS, type VoiceCatalogEntry } from "./voices.js";
4
4
  export { TTS_MODEL_LANGUAGES, VOICE_CATALOG } from "./voice-catalog-data.js";
5
+ /** Languages of a model outside the generated snapshot: the ones we measured, not the vendor's list. */
6
+ export declare const MEASURED_MODEL_LANGUAGES: Readonly<Record<string, readonly string[]>>;
5
7
  /** Models for which the vendor verifies ANY library voice at all. Derived from the */
6
8
  /** catalog, not listed. */
7
9
  export declare function vendorVerifiedModels(voices?: readonly CatalogFileVoice[]): readonly (typeof TTS_MODELS)[number][];
@@ -49,6 +51,7 @@ export declare function serverVoicesQueryFor(voices?: readonly CatalogFileVoice[
49
51
  eleven_turbo_v2_5: "eleven_turbo_v2_5";
50
52
  eleven_v3: "eleven_v3";
51
53
  eleven_v4: "eleven_v4";
54
+ "gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
52
55
  }>>;
53
56
  age: z.ZodOptional<z.ZodEnum<{
54
57
  [x: string]: string;
@@ -100,6 +103,7 @@ export declare const serverVoicesQuery: z.ZodObject<{
100
103
  eleven_turbo_v2_5: "eleven_turbo_v2_5";
101
104
  eleven_v3: "eleven_v3";
102
105
  eleven_v4: "eleven_v4";
106
+ "gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
103
107
  }>>;
104
108
  age: z.ZodOptional<z.ZodEnum<{
105
109
  [x: string]: string;
@@ -108,7 +112,8 @@ export declare const serverVoicesQuery: z.ZodObject<{
108
112
  [x: string]: string;
109
113
  }>>;
110
114
  }, z.core.$strip>;
111
- /** Presets, then live catalog voices by language and rank; a field the voice lacks matches nothing. */
115
+ /** Presets, a model's own voices, then live catalog voices by language and rank. A field the voice */
116
+ /** lacks matches nothing, except `language`: a voice without one matches the languages of its model. */
112
117
  export declare function listVoices(query: VoicesQuery, catalog?: VoiceCatalogFile, modelLanguages?: TtsModelLanguagesFile): {
113
118
  voices: VoiceCatalogEntry[];
114
119
  models: {
@@ -1,11 +1,15 @@
1
1
  import { z } from "zod";
2
2
  import { CATALOG_LANGUAGES, normalizeVoiceLabel, VOICES_QUERY_FIELDS, voicesQueryShape, } from "./voice-catalog.js";
3
3
  import { TTS_MODEL_LANGUAGES, VOICE_CATALOG } from "./voice-catalog-data.js";
4
- import { resolveTtsModel, TTS_MODEL_CHAR_CAP, TTS_MODELS, VOICE_PRESETS, } from "./voices.js";
4
+ import { ELEVENLABS_TTS_MODELS, GOOGLE_TTS_MODEL, MODEL_VOICE_NAMES, MODEL_VOICES, resolveTtsModel, TTS_MODEL_CHAR_CAP, TTS_MODELS, VOICE_PRESETS, } from "./voices.js";
5
5
  // A subpath, not the barrel: the list reads the catalog, which SDK clients do not need.
6
6
  // A weekly worker probe checks the same data against the vendor.
7
7
  export { TTS_MODEL_LANGUAGES, VOICE_CATALOG } from "./voice-catalog-data.js";
8
8
  const isLive = (voice) => voice.retired_at === undefined;
9
+ /** Languages of a model outside the generated snapshot: the ones we measured, not the vendor's list. */
10
+ export const MEASURED_MODEL_LANGUAGES = {
11
+ [GOOGLE_TTS_MODEL]: ["en", "ru"],
12
+ };
9
13
  /** Models for which the vendor verifies ANY library voice at all. Derived from the */
10
14
  /** catalog, not listed. */
11
15
  export function vendorVerifiedModels(voices = VOICE_CATALOG.voices) {
@@ -25,16 +29,23 @@ export function serverVoicesQueryFor(voices = VOICE_CATALOG.voices) {
25
29
  }
26
30
  export const serverVoicesQuery = serverVoicesQueryFor();
27
31
  const presentText = (raw) => raw?.trim() || undefined;
28
- /** Presets, then live catalog voices by language and rank; a field the voice lacks matches nothing. */
32
+ /** Presets, a model's own voices, then live catalog voices by language and rank. A field the voice */
33
+ /** lacks matches nothing, except `language`: a voice without one matches the languages of its model. */
29
34
  export function listVoices(query, catalog = VOICE_CATALOG, modelLanguages = TTS_MODEL_LANGUAGES) {
30
- const languagesOf = (id) => modelLanguages.models.find((model) => model.id === id)?.languages ?? [];
31
- const supportedModels = (language) => TTS_MODELS.filter((id) => languagesOf(id).includes(language));
35
+ const languagesOf = (id) => modelLanguages.models.find((model) => model.id === id)?.languages ?? [...(MEASURED_MODEL_LANGUAGES[id] ?? [])];
36
+ // Presets and catalog voices are ElevenLabs voices: a model of another vendor never supports them.
37
+ const supportedModels = (language) => ELEVENLABS_TTS_MODELS.filter((id) => languagesOf(id).includes(language));
32
38
  const presets = Object.entries(VOICE_PRESETS).map(([name, preset]) => ({
33
39
  name,
34
40
  kind: "preset",
35
41
  ...preset,
36
42
  supported_models: supportedModels(preset.language),
37
43
  }));
44
+ // No `language`: the vendor reads it off the text. The model is the one a run with this voice speaks.
45
+ const modelVoices = MODEL_VOICE_NAMES.map((name) => {
46
+ const model = resolveTtsModel({ voice: name, script: "" });
47
+ return { name, kind: "model_voice", ...MODEL_VOICES[name], model, supported_models: [model] };
48
+ });
38
49
  const languageRank = (voice) => CATALOG_LANGUAGES.indexOf(voice.language);
39
50
  const catalogVoices = catalog.voices
40
51
  .filter(isLive)
@@ -60,10 +71,12 @@ export function listVoices(query, catalog = VOICE_CATALOG, modelLanguages = TTS_
60
71
  return true;
61
72
  if (field === "model")
62
73
  return entry.supported_models?.includes(wanted) === true;
74
+ if (field === "language" && entry.language === undefined)
75
+ return languagesOf(entry.model).includes(wanted);
63
76
  return entry[field] === wanted;
64
77
  });
65
78
  return {
66
- voices: [...presets, ...catalogVoices].filter(matches),
79
+ voices: [...presets, ...modelVoices, ...catalogVoices].filter(matches),
67
80
  models: TTS_MODELS.map((id) => ({
68
81
  id,
69
82
  char_limit: TTS_MODEL_CHAR_CAP[id],
@@ -1 +1 @@
1
- {"version":3,"file":"voice-listing.js","sourceRoot":"","sources":["../src/voice-listing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"voice-listing.js","sourceRoot":"","sources":["../src/voice-listing.ts"],"names":[],"mappings":"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"}
package/dist/voices.d.ts CHANGED
@@ -1,16 +1,41 @@
1
1
  import { z } from "zod";
2
2
  import type { Gender } from "./default-actor.js";
3
- /** ElevenLabs speech models the contract lets callers name. `multilingual_v2` was dropped: */
3
+ /** Speech models the contract lets callers name. `multilingual_v2` was dropped: */
4
4
  /** it honored none of the stress-marking methods we measured. */
5
- export declare const TTS_MODELS: readonly ["eleven_v3", "eleven_flash_v2_5", "eleven_turbo_v2_5", "eleven_v4"];
5
+ export declare const TTS_MODELS: readonly ["eleven_v3", "eleven_flash_v2_5", "eleven_turbo_v2_5", "eleven_v4", "gemini-3.8-flash-tts"];
6
6
  export type TtsModelId = (typeof TTS_MODELS)[number];
7
7
  export declare const DEFAULT_TTS_MODEL: TtsModelId;
8
8
  /** What Russian speech goes to when the client names no model; `resolveTtsModel` decides what is Russian. */
9
9
  export declare const RUSSIAN_TTS_MODEL = "eleven_v4";
10
+ /** The model spoken by Google's adapter; contract texts name it through this constant. */
11
+ export declare const GOOGLE_TTS_MODEL = "gemini-3.8-flash-tts";
12
+ /** Whose adapter speaks each model. A model without a row does not compile. */
13
+ export type SpeechBackendName = "elevenlabs" | "google";
14
+ export declare const TTS_MODEL_BACKEND: {
15
+ readonly eleven_v3: "elevenlabs";
16
+ readonly eleven_flash_v2_5: "elevenlabs";
17
+ readonly eleven_turbo_v2_5: "elevenlabs";
18
+ readonly eleven_v4: "elevenlabs";
19
+ readonly "gemini-3.8-flash-tts": "google";
20
+ };
21
+ /** The models of one vendor: its voices, its listing and its catalog files know only these. */
22
+ export type ElevenLabsModelId = {
23
+ [Model in TtsModelId]: (typeof TTS_MODEL_BACKEND)[Model] extends "elevenlabs" ? Model : never;
24
+ }[TtsModelId];
25
+ export declare const ELEVENLABS_TTS_MODELS: ElevenLabsModelId[];
26
+ /** Whose adapter speaks a model named by a string; `undefined` for a model the contract does not have. */
27
+ export declare function speechBackendOf(modelId: string): SpeechBackendName | undefined;
10
28
  /** v3: the vendor's cap. 2.5: the vendor allows 40,000; 10,000 is our run-length cap. */
11
29
  /** v4: the vendor declares 10,000; 5,000 is ours, above the longest measured call. */
12
30
  export declare const TTS_MODEL_CHAR_CAP: Readonly<Record<TtsModelId, number>>;
13
- /** v3 and v4 read the U+0301 stress mark; flash misreads the same mark three times as often. */
31
+ /** What each model does with the text sent to it. The three sets below are read from this table. */
32
+ interface SpeechTextTraits {
33
+ readsStressMarks: boolean;
34
+ pausesOnBreakTags: boolean;
35
+ hasSpeedSetting: boolean;
36
+ }
37
+ export declare const TTS_MODEL_TEXT_TRAITS: Readonly<Record<TtsModelId, SpeechTextTraits>>;
38
+ /** Models that read the U+0301 stress mark; flash misreads the same mark three times as often. */
14
39
  export declare const STRESS_MARK: string;
15
40
  export declare const STRESS_MARK_MODELS: ReadonlySet<TtsModelId>;
16
41
  /** Models that accept a speed setting and ignore it: a request to them carries none. */
@@ -145,6 +170,125 @@ export declare const DEFAULT_VOICE_BY_GENDER: {
145
170
  readonly female: "sarah";
146
171
  readonly male: "george";
147
172
  };
173
+ /** A voice a model owns. `gender` only where we know it: the vendor's page names none. */
174
+ export interface ModelVoice {
175
+ /** The vendor's own one-word descriptor, as its page prints it. */
176
+ description: string;
177
+ gender?: Gender;
178
+ }
179
+ /** The voices of `MODEL_VOICE_MODEL` by OUR names, in the vendor page's order (docs/16). */
180
+ /** The worker adapter maps them to the vendor's names. */
181
+ export declare const MODEL_VOICES: {
182
+ readonly zephyr: {
183
+ readonly description: "Bright";
184
+ };
185
+ readonly puck: {
186
+ readonly description: "Upbeat";
187
+ };
188
+ readonly charon: {
189
+ readonly description: "Informative";
190
+ readonly gender: "male";
191
+ };
192
+ readonly kore: {
193
+ readonly description: "Firm";
194
+ readonly gender: "female";
195
+ };
196
+ readonly fenrir: {
197
+ readonly description: "Excitable";
198
+ };
199
+ readonly leda: {
200
+ readonly description: "Youthful";
201
+ };
202
+ readonly orus: {
203
+ readonly description: "Firm";
204
+ };
205
+ readonly aoede: {
206
+ readonly description: "Breezy";
207
+ };
208
+ readonly callirrhoe: {
209
+ readonly description: "Easy-going";
210
+ };
211
+ readonly autonoe: {
212
+ readonly description: "Bright";
213
+ };
214
+ readonly enceladus: {
215
+ readonly description: "Breathy";
216
+ };
217
+ readonly iapetus: {
218
+ readonly description: "Clear";
219
+ };
220
+ readonly umbriel: {
221
+ readonly description: "Easy-going";
222
+ };
223
+ readonly algieba: {
224
+ readonly description: "Smooth";
225
+ };
226
+ readonly despina: {
227
+ readonly description: "Smooth";
228
+ };
229
+ readonly erinome: {
230
+ readonly description: "Clear";
231
+ };
232
+ readonly algenib: {
233
+ readonly description: "Gravelly";
234
+ };
235
+ readonly rasalgethi: {
236
+ readonly description: "Informative";
237
+ };
238
+ readonly laomedeia: {
239
+ readonly description: "Upbeat";
240
+ };
241
+ readonly achernar: {
242
+ readonly description: "Soft";
243
+ };
244
+ readonly alnilam: {
245
+ readonly description: "Firm";
246
+ };
247
+ readonly schedar: {
248
+ readonly description: "Even";
249
+ };
250
+ readonly gacrux: {
251
+ readonly description: "Mature";
252
+ };
253
+ readonly pulcherrima: {
254
+ readonly description: "Forward";
255
+ };
256
+ readonly achird: {
257
+ readonly description: "Friendly";
258
+ };
259
+ readonly zubenelgenubi: {
260
+ readonly description: "Casual";
261
+ };
262
+ readonly vindemiatrix: {
263
+ readonly description: "Gentle";
264
+ };
265
+ readonly sadachbia: {
266
+ readonly description: "Lively";
267
+ };
268
+ readonly sadaltager: {
269
+ readonly description: "Knowledgeable";
270
+ };
271
+ readonly sulafat: {
272
+ readonly description: "Warm";
273
+ };
274
+ };
275
+ export type ModelVoiceName = keyof typeof MODEL_VOICES;
276
+ export declare const MODEL_VOICE_NAMES: [ModelVoiceName, ...ModelVoiceName[]];
277
+ /** The one model that speaks `MODEL_VOICES`: naming one of them selects it. */
278
+ export declare const MODEL_VOICE_MODEL = "gemini-3.8-flash-tts";
279
+ export declare function isModelVoiceName(name: string): name is ModelVoiceName;
280
+ /** The default voice of a model that speaks only its own voices; an unknown gender speaks the male one. */
281
+ export declare const MODEL_DEFAULT_VOICE_BY_GENDER: {
282
+ readonly female: "kore";
283
+ readonly male: "charon";
284
+ };
285
+ /** The model of `MODEL_VOICES` speaks only those: presets, catalog voices and raw ids do not carry over. */
286
+ export declare function speaksOwnVoices(modelId: string | undefined): boolean;
287
+ /** The voice a run speaks when it names none, with the gender that voice has. */
288
+ export declare function defaultVoiceOf(modelId: string | undefined, gender: Gender | undefined): {
289
+ name: string;
290
+ gender: Gender;
291
+ };
148
292
  /** Shape of a raw vendor `voice_id`, deliberately loose (16–32 alphanumerics): the format is */
149
293
  /** undocumented. A coarse input filter only; the worker's free preflight checks existence. */
150
294
  export declare const VOICE_ID_PATTERN: RegExp;
@@ -159,15 +303,19 @@ export type VoiceSelection = {
159
303
  } | {
160
304
  kind: "raw";
161
305
  voiceId: string;
306
+ } | {
307
+ kind: "model_voice";
308
+ voice: ModelVoiceName;
162
309
  };
163
310
  /** Priority: raw `voice_id` > `voice` > voice by actor gender > `DEFAULT_VOICE_PRESET`. */
164
- /** Gender comes from `voiceGenderFor` (actors.ts); `makeUgcInput` enforces exclusivity. */
311
+ /** Gender comes from `voiceGenderFor` (actors.ts); `tts_model` is the run's model, which owns the default voice. */
165
312
  export declare function resolveVoiceSelection(input: {
166
313
  voice?: string | undefined;
167
314
  voice_id?: string | undefined;
315
+ tts_model?: string | undefined;
168
316
  }, gender?: Gender | undefined): VoiceSelection;
169
- /** Model: explicit `tts_model` → the preset's model → a catalog voice by its slug language → */
170
- /** a raw `voice_id` by the script family. `script` is the run's whole spoken text. */
317
+ /** Model: explicit `tts_model` → a raw `voice_id` by the script family → the model of a model's own */
318
+ /** voice → the preset's model → a catalog voice by its slug language. `script` is the run's whole text. */
171
319
  export declare function resolveTtsModel(input: {
172
320
  voice?: string | undefined;
173
321
  voice_id?: string | undefined;
@@ -201,3 +349,4 @@ export declare function buildSpeechModelWarnings(input: {
201
349
  tts_model?: TtsModelId | undefined;
202
350
  script: string;
203
351
  }, gender?: Gender | undefined): string[];
352
+ export {};
package/dist/voices.js CHANGED
@@ -1,10 +1,25 @@
1
1
  import { z } from "zod";
2
- /** ElevenLabs speech models the contract lets callers name. `multilingual_v2` was dropped: */
2
+ /** Speech models the contract lets callers name. `multilingual_v2` was dropped: */
3
3
  /** it honored none of the stress-marking methods we measured. */
4
- export const TTS_MODELS = ["eleven_v3", "eleven_flash_v2_5", "eleven_turbo_v2_5", "eleven_v4"];
4
+ export const TTS_MODELS = ["eleven_v3", "eleven_flash_v2_5", "eleven_turbo_v2_5", "eleven_v4", "gemini-3.8-flash-tts"];
5
5
  export const DEFAULT_TTS_MODEL = "eleven_v3";
6
6
  /** What Russian speech goes to when the client names no model; `resolveTtsModel` decides what is Russian. */
7
7
  export const RUSSIAN_TTS_MODEL = "eleven_v4";
8
+ /** The model spoken by Google's adapter; contract texts name it through this constant. */
9
+ export const GOOGLE_TTS_MODEL = "gemini-3.8-flash-tts";
10
+ export const TTS_MODEL_BACKEND = {
11
+ eleven_v3: "elevenlabs",
12
+ eleven_flash_v2_5: "elevenlabs",
13
+ eleven_turbo_v2_5: "elevenlabs",
14
+ eleven_v4: "elevenlabs",
15
+ "gemini-3.8-flash-tts": "google",
16
+ };
17
+ export const ELEVENLABS_TTS_MODELS = TTS_MODELS.filter((model) => TTS_MODEL_BACKEND[model] === "elevenlabs");
18
+ /** Whose adapter speaks a model named by a string; `undefined` for a model the contract does not have. */
19
+ export function speechBackendOf(modelId) {
20
+ const model = TTS_MODELS.find((known) => known === modelId);
21
+ return model === undefined ? undefined : TTS_MODEL_BACKEND[model];
22
+ }
8
23
  /** v3: the vendor's cap. 2.5: the vendor allows 40,000; 10,000 is our run-length cap. */
9
24
  /** v4: the vendor declares 10,000; 5,000 is ours, above the longest measured call. */
10
25
  export const TTS_MODEL_CHAR_CAP = {
@@ -12,15 +27,25 @@ export const TTS_MODEL_CHAR_CAP = {
12
27
  eleven_flash_v2_5: 10_000,
13
28
  eleven_turbo_v2_5: 10_000,
14
29
  eleven_v4: 5_000,
30
+ "gemini-3.8-flash-tts": 5_000,
31
+ };
32
+ export const TTS_MODEL_TEXT_TRAITS = {
33
+ eleven_v3: { readsStressMarks: true, pausesOnBreakTags: true, hasSpeedSetting: true },
34
+ eleven_flash_v2_5: { readsStressMarks: false, pausesOnBreakTags: true, hasSpeedSetting: true },
35
+ eleven_turbo_v2_5: { readsStressMarks: false, pausesOnBreakTags: true, hasSpeedSetting: true },
36
+ eleven_v4: { readsStressMarks: true, pausesOnBreakTags: false, hasSpeedSetting: false },
37
+ "gemini-3.8-flash-tts": { readsStressMarks: true, pausesOnBreakTags: false, hasSpeedSetting: false },
15
38
  };
16
- /** v3 and v4 read the U+0301 stress mark; flash misreads the same mark three times as often. */
39
+ const modelsWhere = (holds) => new Set(TTS_MODELS.filter((model) => holds(TTS_MODEL_TEXT_TRAITS[model])));
40
+ /** Models that read the U+0301 stress mark; flash misreads the same mark three times as often. */
17
41
  export const STRESS_MARK = String.fromCharCode(0x0301);
18
- export const STRESS_MARK_MODELS = new Set(["eleven_v3", "eleven_v4"]);
19
- const STRESS_MARK_READERS = [...STRESS_MARK_MODELS].join(" and ");
42
+ export const STRESS_MARK_MODELS = modelsWhere((traits) => traits.readsStressMarks);
43
+ const listed = (names) => names.join(", ").replace(/, ([^,]+)$/, " and $1");
44
+ const STRESS_MARK_READERS = listed([...STRESS_MARK_MODELS]);
20
45
  /** Models that accept a speed setting and ignore it: a request to them carries none. */
21
- export const FIXED_PACE_MODELS = new Set(["eleven_v4"]);
46
+ export const FIXED_PACE_MODELS = modelsWhere((traits) => !traits.hasSpeedSetting);
22
47
  /** Models that give no pause for a break tag: the tag is cut from the text sent to them. */
23
- export const NO_BREAK_TAG_MODELS = new Set(["eleven_v4"]);
48
+ export const NO_BREAK_TAG_MODELS = modelsWhere((traits) => !traits.pausesOnBreakTags);
24
49
  /** The one break form the pipeline knows; the cut here and the alignment parser share it. */
25
50
  export const BREAK_TAG_SOURCE = String.raw `<break time="\d+(?:\.\d+)?(?:ms|s)"\s*\/>`;
26
51
  const BREAK_TAG = new RegExp(BREAK_TAG_SOURCE);
@@ -98,7 +123,7 @@ export function speechTextFor(text, modelId) {
98
123
  const spoken = NO_BREAK_TAG_MODELS.has(modelId) ? withoutBreakTags(text) : text;
99
124
  return STRESS_MARK_MODELS.has(modelId) ? stressMarksFromCapitals(spoken) : spoken;
100
125
  }
101
- const BREAK_TAG_CUT_MODELS = TTS_MODELS.filter((model) => NO_BREAK_TAG_MODELS.has(model)).join(", ");
126
+ const BREAK_TAG_CUT_MODELS = listed([...NO_BREAK_TAG_MODELS]);
102
127
  export const MAX_SCRIPT_CHARS = Math.max(...Object.values(TTS_MODEL_CHAR_CAP));
103
128
  export const SCRIPT_LENGTH_DESCRIPTION = `Script limits by speech model: ${TTS_MODELS.map((model) => `${model}: ${TTS_MODEL_CHAR_CAP[model]} characters`).join("; ")}. ` +
104
129
  "Count includes spaces, audio tags and stress marks; emoji may count as two characters. " +
@@ -120,8 +145,9 @@ export function ttsScriptLimitError(text, modelId) {
120
145
  const length = speechTextFor(text, model).length;
121
146
  if (length > limit) {
122
147
  const cheaperCap = TTS_MODEL_CHAR_CAP.eleven_flash_v2_5;
148
+ const otherVoices = speaksOwnVoices(model) ? ` and do not speak the voices of ${model}` : "";
123
149
  const remedy = limit < cheaperCap && text.length <= cheaperCap
124
- ? `; eleven_flash_v2_5 and eleven_turbo_v2_5 allow ${cheaperCap} but do not read Russian stress`
150
+ ? `; eleven_flash_v2_5 and eleven_turbo_v2_5 allow ${cheaperCap} but do not read Russian stress${otherVoices}`
125
151
  : "";
126
152
  const counted = NO_BREAK_TAG_MODELS.has(model)
127
153
  ? "including spaces, audio tags and stress marks, break tags cut"
@@ -222,27 +248,87 @@ export const DEFAULT_VOICE_BY_GENDER = {
222
248
  function defaultVoiceFor(gender) {
223
249
  return gender === undefined ? DEFAULT_VOICE_PRESET : DEFAULT_VOICE_BY_GENDER[gender];
224
250
  }
251
+ /** The voices of `MODEL_VOICE_MODEL` by OUR names, in the vendor page's order (docs/16). */
252
+ /** The worker adapter maps them to the vendor's names. */
253
+ export const MODEL_VOICES = {
254
+ zephyr: { description: "Bright" },
255
+ puck: { description: "Upbeat" },
256
+ charon: { description: "Informative", gender: "male" },
257
+ kore: { description: "Firm", gender: "female" },
258
+ fenrir: { description: "Excitable" },
259
+ leda: { description: "Youthful" },
260
+ orus: { description: "Firm" },
261
+ aoede: { description: "Breezy" },
262
+ callirrhoe: { description: "Easy-going" },
263
+ autonoe: { description: "Bright" },
264
+ enceladus: { description: "Breathy" },
265
+ iapetus: { description: "Clear" },
266
+ umbriel: { description: "Easy-going" },
267
+ algieba: { description: "Smooth" },
268
+ despina: { description: "Smooth" },
269
+ erinome: { description: "Clear" },
270
+ algenib: { description: "Gravelly" },
271
+ rasalgethi: { description: "Informative" },
272
+ laomedeia: { description: "Upbeat" },
273
+ achernar: { description: "Soft" },
274
+ alnilam: { description: "Firm" },
275
+ schedar: { description: "Even" },
276
+ gacrux: { description: "Mature" },
277
+ pulcherrima: { description: "Forward" },
278
+ achird: { description: "Friendly" },
279
+ zubenelgenubi: { description: "Casual" },
280
+ vindemiatrix: { description: "Gentle" },
281
+ sadachbia: { description: "Lively" },
282
+ sadaltager: { description: "Knowledgeable" },
283
+ sulafat: { description: "Warm" },
284
+ };
285
+ export const MODEL_VOICE_NAMES = Object.keys(MODEL_VOICES);
286
+ /** The one model that speaks `MODEL_VOICES`: naming one of them selects it. */
287
+ export const MODEL_VOICE_MODEL = GOOGLE_TTS_MODEL;
288
+ export function isModelVoiceName(name) {
289
+ return Object.hasOwn(MODEL_VOICES, name);
290
+ }
291
+ /** The default voice of a model that speaks only its own voices; an unknown gender speaks the male one. */
292
+ export const MODEL_DEFAULT_VOICE_BY_GENDER = {
293
+ female: "kore",
294
+ male: "charon",
295
+ };
296
+ /** The model of `MODEL_VOICES` speaks only those: presets, catalog voices and raw ids do not carry over. */
297
+ export function speaksOwnVoices(modelId) {
298
+ return modelId === MODEL_VOICE_MODEL;
299
+ }
300
+ /** The voice a run speaks when it names none, with the gender that voice has. */
301
+ export function defaultVoiceOf(modelId, gender) {
302
+ const voiceGender = gender ?? VOICE_PRESETS[DEFAULT_VOICE_PRESET].gender;
303
+ const name = speaksOwnVoices(modelId) ? MODEL_DEFAULT_VOICE_BY_GENDER[voiceGender] : defaultVoiceFor(gender);
304
+ return { name, gender: voiceGender };
305
+ }
225
306
  /** Shape of a raw vendor `voice_id`, deliberately loose (16–32 alphanumerics): the format is */
226
307
  /** undocumented. A coarse input filter only; the worker's free preflight checks existence. */
227
308
  export const VOICE_ID_PATTERN = /^[A-Za-z0-9]{16,32}$/;
228
309
  /** Priority: raw `voice_id` > `voice` > voice by actor gender > `DEFAULT_VOICE_PRESET`. */
229
- /** Gender comes from `voiceGenderFor` (actors.ts); `makeUgcInput` enforces exclusivity. */
310
+ /** Gender comes from `voiceGenderFor` (actors.ts); `tts_model` is the run's model, which owns the default voice. */
230
311
  export function resolveVoiceSelection(input, gender) {
231
312
  if (input.voice_id !== undefined) {
232
313
  return { kind: "raw", voiceId: input.voice_id };
233
314
  }
234
315
  if (input.voice !== undefined) {
316
+ if (isModelVoiceName(input.voice))
317
+ return { kind: "model_voice", voice: input.voice };
235
318
  // Not a preset, so a catalog slug: only the worker sidecar knows its id; a miss there refuses.
236
319
  if (!isVoicePresetName(input.voice))
237
320
  return { kind: "catalog", slug: input.voice };
238
321
  return { kind: "preset", preset: input.voice };
239
322
  }
323
+ if (speaksOwnVoices(input.tts_model)) {
324
+ return { kind: "model_voice", voice: MODEL_DEFAULT_VOICE_BY_GENDER[gender ?? VOICE_PRESETS[DEFAULT_VOICE_PRESET].gender] };
325
+ }
240
326
  return { kind: "preset", preset: defaultVoiceFor(gender) };
241
327
  }
242
328
  /** A catalog slug is `language_gender_name`: the prefix is the voice's language. */
243
329
  const RUSSIAN_CATALOG_SLUG_PREFIX = "ru_";
244
- /** Model: explicit `tts_model` → the preset's model → a catalog voice by its slug language → */
245
- /** a raw `voice_id` by the script family. `script` is the run's whole spoken text. */
330
+ /** Model: explicit `tts_model` → a raw `voice_id` by the script family → the model of a model's own */
331
+ /** voice → the preset's model → a catalog voice by its slug language. `script` is the run's whole text. */
246
332
  export function resolveTtsModel(input, gender) {
247
333
  if (input.tts_model !== undefined)
248
334
  return input.tts_model;
@@ -250,6 +336,8 @@ export function resolveTtsModel(input, gender) {
250
336
  return detectScriptFamily(input.script) === "cyrillic" ? RUSSIAN_TTS_MODEL : DEFAULT_TTS_MODEL;
251
337
  }
252
338
  const voice = input.voice ?? defaultVoiceFor(gender);
339
+ if (isModelVoiceName(voice))
340
+ return MODEL_VOICE_MODEL;
253
341
  if (isVoicePresetName(voice))
254
342
  return VOICE_PRESETS[voice].model;
255
343
  return voice.startsWith(RUSSIAN_CATALOG_SLUG_PREFIX) ? RUSSIAN_TTS_MODEL : DEFAULT_TTS_MODEL;
@@ -349,13 +437,16 @@ export function buildSpeechModelWarnings(input, gender) {
349
437
  : [];
350
438
  if (STRESS_MARK_MODELS.has(model))
351
439
  return breaks;
440
+ // An explicit voice stays with its vendor: a reader of another vendor would refuse it.
441
+ const keepsVoice = input.voice !== undefined || input.voice_id !== undefined;
442
+ const readers = listed([...STRESS_MARK_MODELS].filter((reader) => !keepsVoice || TTS_MODEL_BACKEND[reader] === TTS_MODEL_BACKEND[model]));
352
443
  // A mark after a Latin letter is a French or Spanish accent (NFD), not stress.
353
444
  const marked = CYRILLIC_STRESS_MARK.test(input.script) || stressMarksFromCapitals(input.script) !== input.script;
354
445
  if (marked) {
355
446
  return [
356
447
  ...breaks,
357
448
  `stress marks in the script (capital vowels or U+0301) are not read by ${model}: they are sent ` +
358
- `unchanged, and a U+0301 can break the word it sits in; ${STRESS_MARK_READERS} read them`,
449
+ `unchanged, and a U+0301 can break the word it sits in; ${readers} read them`,
359
450
  ];
360
451
  }
361
452
  const letters = scriptLetterCounts(input.script);
@@ -363,7 +454,7 @@ export function buildSpeechModelWarnings(input, gender) {
363
454
  return [
364
455
  ...breaks,
365
456
  `Cyrillic script on ${model}: for Russian it places stress less reliably than eleven_v3 ` +
366
- `and does not read stress marks; ${STRESS_MARK_READERS} read them`,
457
+ `and does not read stress marks; ${readers} read them`,
367
458
  ];
368
459
  }
369
460
  return breaks;
@@ -1 +1 @@
1
- {"version":3,"file":"voices.js","sourceRoot":"","sources":["../src/voices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"voices.js","sourceRoot":"","sources":["../src/voices.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clipwright/core",
3
- "version": "0.23.0",
3
+ "version": "0.24.0",
4
4
  "description": "Zod schemas and the shared request/response contract of the Clipwright UGC video API",
5
5
  "license": "MIT",
6
6
  "author": "Dimantika Sp. z o.o.",