@clipwright/core 0.16.0 → 0.18.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 +79 -0
- package/dist/actors.d.ts +4 -0
- package/dist/actors.js +22 -0
- package/dist/actors.js.map +1 -1
- package/dist/aspect.d.ts +3 -0
- package/dist/aspect.js +14 -0
- package/dist/aspect.js.map +1 -1
- package/dist/billing-terms.d.ts +19 -0
- package/dist/billing-terms.js +8 -0
- package/dist/billing-terms.js.map +1 -0
- package/dist/broll-policy.d.ts +31 -0
- package/dist/broll-policy.js +24 -0
- package/dist/broll-policy.js.map +1 -0
- package/dist/contract-dispositions.d.ts +65 -3
- package/dist/contract-dispositions.js +25 -21
- package/dist/contract-dispositions.js.map +1 -1
- package/dist/endpoints.d.ts +2 -2
- package/dist/endpoints.js +18 -13
- package/dist/endpoints.js.map +1 -1
- package/dist/errors.d.ts +7 -1
- package/dist/errors.js +13 -0
- package/dist/errors.js.map +1 -1
- package/dist/face-billing.d.ts +116 -0
- package/dist/face-billing.js +83 -0
- package/dist/face-billing.js.map +1 -0
- package/dist/face-delivery.d.ts +17 -0
- package/dist/face-delivery.js +12 -0
- package/dist/face-delivery.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/long-form-pricing.d.ts +48 -0
- package/dist/long-form-pricing.js +73 -0
- package/dist/long-form-pricing.js.map +1 -0
- package/dist/long-form-profile.d.ts +5 -0
- package/dist/long-form-profile.js +6 -0
- package/dist/long-form-profile.js.map +1 -0
- package/dist/media-timebase.d.ts +2 -0
- package/dist/media-timebase.js +3 -0
- package/dist/media-timebase.js.map +1 -0
- package/dist/public-endpoints.d.ts +2 -0
- package/dist/public-endpoints.js +2 -0
- package/dist/public-endpoints.js.map +1 -1
- package/dist/render-backend.d.ts +3 -1
- package/dist/run-static-warnings.d.ts +6 -2
- package/dist/run-static-warnings.js +15 -11
- package/dist/run-static-warnings.js.map +1 -1
- package/dist/runs.d.ts +115 -0
- package/dist/runs.js +21 -0
- package/dist/runs.js.map +1 -1
- package/dist/semantic-inserts.d.ts +63 -0
- package/dist/semantic-inserts.js +160 -0
- package/dist/semantic-inserts.js.map +1 -0
- package/dist/skills.d.ts +217 -1
- package/dist/skills.js +87 -26
- package/dist/skills.js.map +1 -1
- package/dist/speech-rhythm-contract.d.ts +20 -0
- package/dist/speech-rhythm-contract.js +22 -0
- package/dist/speech-rhythm-contract.js.map +1 -0
- package/dist/speech-rhythm.d.ts +21 -0
- package/dist/speech-rhythm.js +47 -0
- package/dist/speech-rhythm.js.map +1 -0
- package/dist/tts-backend.d.ts +1 -0
- package/dist/tts-backend.js.map +1 -1
- package/dist/voice-admission.d.ts +53 -1
- package/dist/voice-admission.js +32 -1
- package/dist/voice-admission.js.map +1 -1
- package/dist/voice-listing.d.ts +5 -1
- package/dist/voice-listing.js +11 -1
- package/dist/voice-listing.js.map +1 -1
- package/dist/voice-preview-approval.d.ts +27 -0
- package/dist/voice-preview-approval.js +29 -0
- package/dist/voice-preview-approval.js.map +1 -0
- package/dist/voices.d.ts +2 -0
- package/dist/voices.js +3 -0
- package/dist/voices.js.map +1 -1
- package/package.json +13 -1
package/dist/skills.d.ts
CHANGED
|
@@ -82,11 +82,51 @@ export declare const ugcSegment: z.ZodObject<{
|
|
|
82
82
|
}>;
|
|
83
83
|
script: z.ZodOptional<z.ZodString>;
|
|
84
84
|
media_url: z.ZodOptional<z.ZodString>;
|
|
85
|
+
media_type: z.ZodOptional<z.ZodEnum<{
|
|
86
|
+
image: "image";
|
|
87
|
+
video: "video";
|
|
88
|
+
}>>;
|
|
89
|
+
duration_seconds: z.ZodOptional<z.ZodNumber>;
|
|
90
|
+
image_motion: z.ZodOptional<z.ZodObject<{
|
|
91
|
+
direction: z.ZodEnum<{
|
|
92
|
+
in: "in";
|
|
93
|
+
out: "out";
|
|
94
|
+
}>;
|
|
95
|
+
amount: z.ZodNumber;
|
|
96
|
+
}, z.core.$strip>>;
|
|
85
97
|
}, z.core.$strip>;
|
|
86
98
|
export type UgcSegment = z.infer<typeof ugcSegment>;
|
|
99
|
+
export declare const ugcInsert: z.ZodObject<{
|
|
100
|
+
id: z.ZodString;
|
|
101
|
+
media_url: z.ZodString;
|
|
102
|
+
media_type: z.ZodEnum<{
|
|
103
|
+
image: "image";
|
|
104
|
+
video: "video";
|
|
105
|
+
}>;
|
|
106
|
+
anchor: z.ZodUnion<readonly [z.ZodObject<{
|
|
107
|
+
startWord: z.ZodNumber;
|
|
108
|
+
endWord: z.ZodNumber;
|
|
109
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
110
|
+
quote: z.ZodString;
|
|
111
|
+
occurrence: z.ZodOptional<z.ZodNumber>;
|
|
112
|
+
}, z.core.$strict>]>;
|
|
113
|
+
cover_words: z.ZodOptional<z.ZodNumber>;
|
|
114
|
+
image_motion: z.ZodOptional<z.ZodObject<{
|
|
115
|
+
direction: z.ZodEnum<{
|
|
116
|
+
in: "in";
|
|
117
|
+
out: "out";
|
|
118
|
+
}>;
|
|
119
|
+
amount: z.ZodNumber;
|
|
120
|
+
}, z.core.$strict>>;
|
|
121
|
+
}, z.core.$strict>;
|
|
122
|
+
export type UgcInsert = z.infer<typeof ugcInsert>;
|
|
87
123
|
/** Потолок актёрских сегментов — ограничение ОДНОГО рана, не суточных трат. */
|
|
88
124
|
export declare const MAX_ACTOR_SEGMENTS = 3;
|
|
89
125
|
export declare const MAX_SEGMENTS = 5;
|
|
126
|
+
/** Потолки НАРРАТИВНОГО пути — другие, потому что медиа-шот денег не стоит, */
|
|
127
|
+
/** а актёрский стоит: вставок столько, сколько вмещает таймлайн (ADR #265). */
|
|
128
|
+
export declare const MAX_INSERTS: number;
|
|
129
|
+
export declare const MAX_NARRATED_ACTOR_SHOTS = 6;
|
|
90
130
|
export declare const actorId: z.ZodString;
|
|
91
131
|
export declare const makeUgcInputShape: {
|
|
92
132
|
readonly script: z.ZodOptional<z.ZodString>;
|
|
@@ -97,7 +137,42 @@ export declare const makeUgcInputShape: {
|
|
|
97
137
|
}>;
|
|
98
138
|
script: z.ZodOptional<z.ZodString>;
|
|
99
139
|
media_url: z.ZodOptional<z.ZodString>;
|
|
140
|
+
media_type: z.ZodOptional<z.ZodEnum<{
|
|
141
|
+
image: "image";
|
|
142
|
+
video: "video";
|
|
143
|
+
}>>;
|
|
144
|
+
duration_seconds: z.ZodOptional<z.ZodNumber>;
|
|
145
|
+
image_motion: z.ZodOptional<z.ZodObject<{
|
|
146
|
+
direction: z.ZodEnum<{
|
|
147
|
+
in: "in";
|
|
148
|
+
out: "out";
|
|
149
|
+
}>;
|
|
150
|
+
amount: z.ZodNumber;
|
|
151
|
+
}, z.core.$strip>>;
|
|
100
152
|
}, z.core.$strip>>>;
|
|
153
|
+
readonly inserts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
154
|
+
id: z.ZodString;
|
|
155
|
+
media_url: z.ZodString;
|
|
156
|
+
media_type: z.ZodEnum<{
|
|
157
|
+
image: "image";
|
|
158
|
+
video: "video";
|
|
159
|
+
}>;
|
|
160
|
+
anchor: z.ZodUnion<readonly [z.ZodObject<{
|
|
161
|
+
startWord: z.ZodNumber;
|
|
162
|
+
endWord: z.ZodNumber;
|
|
163
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
164
|
+
quote: z.ZodString;
|
|
165
|
+
occurrence: z.ZodOptional<z.ZodNumber>;
|
|
166
|
+
}, z.core.$strict>]>;
|
|
167
|
+
cover_words: z.ZodOptional<z.ZodNumber>;
|
|
168
|
+
image_motion: z.ZodOptional<z.ZodObject<{
|
|
169
|
+
direction: z.ZodEnum<{
|
|
170
|
+
in: "in";
|
|
171
|
+
out: "out";
|
|
172
|
+
}>;
|
|
173
|
+
amount: z.ZodNumber;
|
|
174
|
+
}, z.core.$strict>>;
|
|
175
|
+
}, z.core.$strict>>>;
|
|
101
176
|
readonly person: z.ZodOptional<z.ZodString>;
|
|
102
177
|
readonly actor_id: z.ZodOptional<z.ZodString>;
|
|
103
178
|
readonly image: z.ZodOptional<z.ZodString>;
|
|
@@ -108,6 +183,11 @@ export declare const makeUgcInputShape: {
|
|
|
108
183
|
readonly character: z.ZodOptional<z.ZodString>;
|
|
109
184
|
readonly name: z.ZodOptional<z.ZodString>;
|
|
110
185
|
readonly broll_url: z.ZodOptional<z.ZodString>;
|
|
186
|
+
readonly broll_policy: z.ZodOptional<z.ZodEnum<{
|
|
187
|
+
anyone: "anyone";
|
|
188
|
+
no_actor: "no_actor";
|
|
189
|
+
no_people: "no_people";
|
|
190
|
+
}>>;
|
|
111
191
|
readonly captions: z.ZodDefault<z.ZodBoolean>;
|
|
112
192
|
readonly caption_style: z.ZodDefault<z.ZodEnum<{
|
|
113
193
|
hormozi: "hormozi";
|
|
@@ -182,7 +262,42 @@ export declare const makeUgcInput: z.ZodObject<{
|
|
|
182
262
|
}>;
|
|
183
263
|
script: z.ZodOptional<z.ZodString>;
|
|
184
264
|
media_url: z.ZodOptional<z.ZodString>;
|
|
265
|
+
media_type: z.ZodOptional<z.ZodEnum<{
|
|
266
|
+
image: "image";
|
|
267
|
+
video: "video";
|
|
268
|
+
}>>;
|
|
269
|
+
duration_seconds: z.ZodOptional<z.ZodNumber>;
|
|
270
|
+
image_motion: z.ZodOptional<z.ZodObject<{
|
|
271
|
+
direction: z.ZodEnum<{
|
|
272
|
+
in: "in";
|
|
273
|
+
out: "out";
|
|
274
|
+
}>;
|
|
275
|
+
amount: z.ZodNumber;
|
|
276
|
+
}, z.core.$strip>>;
|
|
185
277
|
}, z.core.$strip>>>;
|
|
278
|
+
inserts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
279
|
+
id: z.ZodString;
|
|
280
|
+
media_url: z.ZodString;
|
|
281
|
+
media_type: z.ZodEnum<{
|
|
282
|
+
image: "image";
|
|
283
|
+
video: "video";
|
|
284
|
+
}>;
|
|
285
|
+
anchor: z.ZodUnion<readonly [z.ZodObject<{
|
|
286
|
+
startWord: z.ZodNumber;
|
|
287
|
+
endWord: z.ZodNumber;
|
|
288
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
289
|
+
quote: z.ZodString;
|
|
290
|
+
occurrence: z.ZodOptional<z.ZodNumber>;
|
|
291
|
+
}, z.core.$strict>]>;
|
|
292
|
+
cover_words: z.ZodOptional<z.ZodNumber>;
|
|
293
|
+
image_motion: z.ZodOptional<z.ZodObject<{
|
|
294
|
+
direction: z.ZodEnum<{
|
|
295
|
+
in: "in";
|
|
296
|
+
out: "out";
|
|
297
|
+
}>;
|
|
298
|
+
amount: z.ZodNumber;
|
|
299
|
+
}, z.core.$strict>>;
|
|
300
|
+
}, z.core.$strict>>>;
|
|
186
301
|
person: z.ZodOptional<z.ZodString>;
|
|
187
302
|
actor_id: z.ZodOptional<z.ZodString>;
|
|
188
303
|
image: z.ZodOptional<z.ZodString>;
|
|
@@ -193,6 +308,11 @@ export declare const makeUgcInput: z.ZodObject<{
|
|
|
193
308
|
character: z.ZodOptional<z.ZodString>;
|
|
194
309
|
name: z.ZodOptional<z.ZodString>;
|
|
195
310
|
broll_url: z.ZodOptional<z.ZodString>;
|
|
311
|
+
broll_policy: z.ZodOptional<z.ZodEnum<{
|
|
312
|
+
anyone: "anyone";
|
|
313
|
+
no_actor: "no_actor";
|
|
314
|
+
no_people: "no_people";
|
|
315
|
+
}>>;
|
|
196
316
|
captions: z.ZodDefault<z.ZodBoolean>;
|
|
197
317
|
caption_style: z.ZodDefault<z.ZodEnum<{
|
|
198
318
|
hormozi: "hormozi";
|
|
@@ -240,7 +360,42 @@ export declare function serverUgcInputWith(voiceRefusal: (voice: string) => stri
|
|
|
240
360
|
}>;
|
|
241
361
|
script: z.ZodOptional<z.ZodString>;
|
|
242
362
|
media_url: z.ZodOptional<z.ZodString>;
|
|
363
|
+
media_type: z.ZodOptional<z.ZodEnum<{
|
|
364
|
+
image: "image";
|
|
365
|
+
video: "video";
|
|
366
|
+
}>>;
|
|
367
|
+
duration_seconds: z.ZodOptional<z.ZodNumber>;
|
|
368
|
+
image_motion: z.ZodOptional<z.ZodObject<{
|
|
369
|
+
direction: z.ZodEnum<{
|
|
370
|
+
in: "in";
|
|
371
|
+
out: "out";
|
|
372
|
+
}>;
|
|
373
|
+
amount: z.ZodNumber;
|
|
374
|
+
}, z.core.$strip>>;
|
|
243
375
|
}, z.core.$strip>>>;
|
|
376
|
+
inserts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
377
|
+
id: z.ZodString;
|
|
378
|
+
media_url: z.ZodString;
|
|
379
|
+
media_type: z.ZodEnum<{
|
|
380
|
+
image: "image";
|
|
381
|
+
video: "video";
|
|
382
|
+
}>;
|
|
383
|
+
anchor: z.ZodUnion<readonly [z.ZodObject<{
|
|
384
|
+
startWord: z.ZodNumber;
|
|
385
|
+
endWord: z.ZodNumber;
|
|
386
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
387
|
+
quote: z.ZodString;
|
|
388
|
+
occurrence: z.ZodOptional<z.ZodNumber>;
|
|
389
|
+
}, z.core.$strict>]>;
|
|
390
|
+
cover_words: z.ZodOptional<z.ZodNumber>;
|
|
391
|
+
image_motion: z.ZodOptional<z.ZodObject<{
|
|
392
|
+
direction: z.ZodEnum<{
|
|
393
|
+
in: "in";
|
|
394
|
+
out: "out";
|
|
395
|
+
}>;
|
|
396
|
+
amount: z.ZodNumber;
|
|
397
|
+
}, z.core.$strict>>;
|
|
398
|
+
}, z.core.$strict>>>;
|
|
244
399
|
person: z.ZodOptional<z.ZodString>;
|
|
245
400
|
actor_id: z.ZodOptional<z.ZodString>;
|
|
246
401
|
image: z.ZodOptional<z.ZodString>;
|
|
@@ -251,6 +406,11 @@ export declare function serverUgcInputWith(voiceRefusal: (voice: string) => stri
|
|
|
251
406
|
character: z.ZodOptional<z.ZodString>;
|
|
252
407
|
name: z.ZodOptional<z.ZodString>;
|
|
253
408
|
broll_url: z.ZodOptional<z.ZodString>;
|
|
409
|
+
broll_policy: z.ZodOptional<z.ZodEnum<{
|
|
410
|
+
anyone: "anyone";
|
|
411
|
+
no_actor: "no_actor";
|
|
412
|
+
no_people: "no_people";
|
|
413
|
+
}>>;
|
|
254
414
|
captions: z.ZodDefault<z.ZodBoolean>;
|
|
255
415
|
caption_style: z.ZodDefault<z.ZodEnum<{
|
|
256
416
|
hormozi: "hormozi";
|
|
@@ -288,7 +448,7 @@ export declare function serverUgcInputWith(voiceRefusal: (voice: string) => stri
|
|
|
288
448
|
}>>;
|
|
289
449
|
}, z.core.$strip>;
|
|
290
450
|
/** Сохранённый вход рана: правила допуска он уже прошёл, и смена модели или */
|
|
291
|
-
/** потолка не должна делать старый ран нечитаемым (#145). */
|
|
451
|
+
/** потолка не должна делать старый ран нечитаемым (#145). Снимок — ради пола (#210). */
|
|
292
452
|
export declare const storedUgcInput: z.ZodObject<{
|
|
293
453
|
script: z.ZodOptional<z.ZodString>;
|
|
294
454
|
segments: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
@@ -298,7 +458,42 @@ export declare const storedUgcInput: z.ZodObject<{
|
|
|
298
458
|
}>;
|
|
299
459
|
script: z.ZodOptional<z.ZodString>;
|
|
300
460
|
media_url: z.ZodOptional<z.ZodString>;
|
|
461
|
+
media_type: z.ZodOptional<z.ZodEnum<{
|
|
462
|
+
image: "image";
|
|
463
|
+
video: "video";
|
|
464
|
+
}>>;
|
|
465
|
+
duration_seconds: z.ZodOptional<z.ZodNumber>;
|
|
466
|
+
image_motion: z.ZodOptional<z.ZodObject<{
|
|
467
|
+
direction: z.ZodEnum<{
|
|
468
|
+
in: "in";
|
|
469
|
+
out: "out";
|
|
470
|
+
}>;
|
|
471
|
+
amount: z.ZodNumber;
|
|
472
|
+
}, z.core.$strip>>;
|
|
301
473
|
}, z.core.$strip>>>;
|
|
474
|
+
inserts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
475
|
+
id: z.ZodString;
|
|
476
|
+
media_url: z.ZodString;
|
|
477
|
+
media_type: z.ZodEnum<{
|
|
478
|
+
image: "image";
|
|
479
|
+
video: "video";
|
|
480
|
+
}>;
|
|
481
|
+
anchor: z.ZodUnion<readonly [z.ZodObject<{
|
|
482
|
+
startWord: z.ZodNumber;
|
|
483
|
+
endWord: z.ZodNumber;
|
|
484
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
485
|
+
quote: z.ZodString;
|
|
486
|
+
occurrence: z.ZodOptional<z.ZodNumber>;
|
|
487
|
+
}, z.core.$strict>]>;
|
|
488
|
+
cover_words: z.ZodOptional<z.ZodNumber>;
|
|
489
|
+
image_motion: z.ZodOptional<z.ZodObject<{
|
|
490
|
+
direction: z.ZodEnum<{
|
|
491
|
+
in: "in";
|
|
492
|
+
out: "out";
|
|
493
|
+
}>;
|
|
494
|
+
amount: z.ZodNumber;
|
|
495
|
+
}, z.core.$strict>>;
|
|
496
|
+
}, z.core.$strict>>>;
|
|
302
497
|
person: z.ZodOptional<z.ZodString>;
|
|
303
498
|
actor_id: z.ZodOptional<z.ZodString>;
|
|
304
499
|
image: z.ZodOptional<z.ZodString>;
|
|
@@ -309,6 +504,11 @@ export declare const storedUgcInput: z.ZodObject<{
|
|
|
309
504
|
character: z.ZodOptional<z.ZodString>;
|
|
310
505
|
name: z.ZodOptional<z.ZodString>;
|
|
311
506
|
broll_url: z.ZodOptional<z.ZodString>;
|
|
507
|
+
broll_policy: z.ZodOptional<z.ZodEnum<{
|
|
508
|
+
anyone: "anyone";
|
|
509
|
+
no_actor: "no_actor";
|
|
510
|
+
no_people: "no_people";
|
|
511
|
+
}>>;
|
|
312
512
|
captions: z.ZodDefault<z.ZodBoolean>;
|
|
313
513
|
caption_style: z.ZodDefault<z.ZodEnum<{
|
|
314
514
|
hormozi: "hormozi";
|
|
@@ -340,6 +540,12 @@ export declare const storedUgcInput: z.ZodObject<{
|
|
|
340
540
|
white: "white";
|
|
341
541
|
}>>;
|
|
342
542
|
tts_model: z.ZodOptional<z.ZodString>;
|
|
543
|
+
actor_snapshot: z.ZodOptional<z.ZodObject<{
|
|
544
|
+
gender: z.ZodOptional<z.ZodEnum<{
|
|
545
|
+
female: "female";
|
|
546
|
+
male: "male";
|
|
547
|
+
}>>;
|
|
548
|
+
}, z.core.$strip>>;
|
|
343
549
|
}, z.core.$strip>;
|
|
344
550
|
/** Минимум, из которого выводится произносимый текст: сам скрипт или сегменты. */
|
|
345
551
|
export interface SpokenTextInput {
|
|
@@ -361,6 +567,16 @@ export interface SpokenTextInput {
|
|
|
361
567
|
export declare function resolvedScript(input: SpokenTextInput): string;
|
|
362
568
|
export type MakeUgcInput = z.infer<typeof makeUgcInput>;
|
|
363
569
|
export declare const quoteResponse: z.ZodObject<{
|
|
570
|
+
long_form_pricing: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
|
|
571
|
+
pricingVersion: z.ZodString;
|
|
572
|
+
rateCreditsPerFaceSecond: z.ZodNumber;
|
|
573
|
+
minimumCredits: z.ZodNumber;
|
|
574
|
+
estimatedTotalDurationSec: z.ZodNumber;
|
|
575
|
+
estimatedFaceSeconds: z.ZodNumber;
|
|
576
|
+
estimatedCredits: z.ZodNumber;
|
|
577
|
+
estimatedFaceWordShare: z.ZodOptional<z.ZodNumber>;
|
|
578
|
+
minimumApplied: z.ZodBoolean;
|
|
579
|
+
}, z.core.$strict>>>;
|
|
364
580
|
skill: z.ZodString;
|
|
365
581
|
credits_estimate: z.ZodNumber;
|
|
366
582
|
duration_estimate_sec: z.ZodNumber;
|
package/dist/skills.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { longFormQuoteSchema } from "./long-form-pricing.js";
|
|
3
|
+
import { RESOLVED_TIMELINE_MAX_SLOTS } from "./long-form-profile.js";
|
|
4
|
+
import { brollPolicy } from "./broll-policy.js";
|
|
2
5
|
import { countWords } from "./pacing.js";
|
|
3
6
|
import { resolveTtsModel, 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";
|
|
4
7
|
export const CAPTION_STYLES = ["hormozi", "tiktok", "minimal"];
|
|
@@ -93,10 +96,57 @@ export const ugcSegment = z.object({
|
|
|
93
96
|
script: z.string().min(1).max(MAX_SCRIPT_CHARS).optional(),
|
|
94
97
|
/** Полнокадровый врез. Обязателен у `media`, запрещён у `actor`. */
|
|
95
98
|
media_url: z.string().url().max(MAX_URL_LENGTH).optional(),
|
|
99
|
+
media_type: z.enum(["image", "video"]).optional()
|
|
100
|
+
.describe("Explicit media source type; omission means video, regardless of URL suffix. Availability follows the segments field."),
|
|
101
|
+
duration_seconds: z.number().positive().optional()
|
|
102
|
+
.describe("Required for an image segment; its display duration in seconds. Not accepted for actor or video segments."),
|
|
103
|
+
image_motion: z.object({
|
|
104
|
+
direction: z.enum(["in", "out"]),
|
|
105
|
+
amount: z.number().min(0).lt(1),
|
|
106
|
+
}).optional().describe("Optional image zoom: amount is the fractional reduction from fully contained size. No motion by default; no foreground crop."),
|
|
107
|
+
}).superRefine((segment, context) => {
|
|
108
|
+
if (segment.kind === "actor") {
|
|
109
|
+
for (const field of ["media_type", "duration_seconds", "image_motion"]) {
|
|
110
|
+
if (segment[field] !== undefined)
|
|
111
|
+
context.addIssue({ code: z.ZodIssueCode.custom, path: [field], message: `${field} is only accepted on media segments` });
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
else if (segment.media_type === "image") {
|
|
115
|
+
if (segment.duration_seconds === undefined)
|
|
116
|
+
context.addIssue({ code: z.ZodIssueCode.custom, path: ["duration_seconds"], message: "image segment requires duration_seconds" });
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
for (const field of ["duration_seconds", "image_motion"]) {
|
|
120
|
+
if (segment[field] !== undefined)
|
|
121
|
+
context.addIssue({ code: z.ZodIssueCode.custom, path: [field], message: `${field} requires media_type=image` });
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
export const ugcInsert = z.object({
|
|
126
|
+
id: z.string().regex(/^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$/),
|
|
127
|
+
media_url: z.string().url().max(MAX_URL_LENGTH).startsWith("https://"),
|
|
128
|
+
media_type: z.enum(["image", "video"]),
|
|
129
|
+
anchor: z.union([
|
|
130
|
+
z.object({ startWord: z.number().int().nonnegative(), endWord: z.number().int().positive() })
|
|
131
|
+
.strict().refine(range => range.endWord > range.startWord, { message: "endWord must be greater than startWord" }),
|
|
132
|
+
z.object({ quote: z.string().min(1).max(MAX_SCRIPT_CHARS).refine(text => text.trim().length > 0),
|
|
133
|
+
occurrence: z.number().int().nonnegative().optional() }).strict(),
|
|
134
|
+
]),
|
|
135
|
+
cover_words: z.number().int().positive().max(10000).optional()
|
|
136
|
+
.describe("How many spoken words this insert covers, counted from the first word of its anchor. " +
|
|
137
|
+
"Omitted means the anchored words only. The insert ends where the first uncovered word begins, " +
|
|
138
|
+
"so inserts whose coverage meets are adjacent frame for frame and leave no actor shot between them."),
|
|
139
|
+
image_motion: z.object({ direction: z.enum(["in", "out"]), amount: z.number().min(0).lt(1) }).strict().optional(),
|
|
140
|
+
}).strict().refine(insert => insert.image_motion === undefined || insert.media_type === "image", {
|
|
141
|
+
path: ["image_motion"], message: "image_motion requires media_type=image",
|
|
96
142
|
});
|
|
97
143
|
/** Потолок актёрских сегментов — ограничение ОДНОГО рана, не суточных трат. */
|
|
98
144
|
export const MAX_ACTOR_SEGMENTS = 3;
|
|
99
145
|
export const MAX_SEGMENTS = 5;
|
|
146
|
+
/** Потолки НАРРАТИВНОГО пути — другие, потому что медиа-шот денег не стоит, */
|
|
147
|
+
/** а актёрский стоит: вставок столько, сколько вмещает таймлайн (ADR #265). */
|
|
148
|
+
export const MAX_INSERTS = Math.floor((RESOLVED_TIMELINE_MAX_SLOTS - 1) / 2);
|
|
149
|
+
export const MAX_NARRATED_ACTOR_SHOTS = 6;
|
|
100
150
|
export const actorId = z.string().regex(/^actor_[a-z0-9][a-z0-9_-]{0,63}$/);
|
|
101
151
|
export const makeUgcInputShape = {
|
|
102
152
|
// НЕОБЯЗАТЕЛЬНЫЙ, но не «необязательный к заполнению»: ровно одно из
|
|
@@ -104,13 +154,20 @@ export const makeUgcInputShape = {
|
|
|
104
154
|
// JSON-Schema не умеет выразить «ровно одно из двух» через `required[]`,
|
|
105
155
|
// поэтому информативность возвращается текстом описания (блокер B9).
|
|
106
156
|
script: z
|
|
107
|
-
.string()
|
|
108
|
-
.min(1)
|
|
109
|
-
.max(MAX_SCRIPT_CHARS)
|
|
157
|
+
.string({ error: "script must be the text the actor says, as a string" })
|
|
158
|
+
.min(1, "script is empty: pass the words the actor says")
|
|
159
|
+
.max(MAX_SCRIPT_CHARS, `script is longer than ${MAX_SCRIPT_CHARS} characters`)
|
|
110
160
|
.optional()
|
|
111
|
-
.describe(
|
|
112
|
-
|
|
113
|
-
|
|
161
|
+
.describe("The words the actor says; required unless segments supplies the spoken text. " +
|
|
162
|
+
"Segments and text-anchored inserts require long-form qualification on the server. " +
|
|
163
|
+
`${SCRIPT_LENGTH_DESCRIPTION} ${STRESS_MARKING_DESCRIPTION}`),
|
|
164
|
+
segments: z.array(ugcSegment).min(1).max(MAX_SEGMENTS).optional()
|
|
165
|
+
.describe("Ordered actor and image segments; requires long-form qualification on the server, captions=false and 1080p. Image media requires explicit broll_policy=anyone."),
|
|
166
|
+
inserts: z.array(ugcInsert).min(1).max(MAX_INSERTS)
|
|
167
|
+
.refine(inserts => new Set(inserts.map(insert => insert.id)).size === inserts.length, {
|
|
168
|
+
message: "insert IDs must be unique",
|
|
169
|
+
}).optional().describe("Text-anchored image inserts over full narration, each covering cover_words spoken words from its anchor; " +
|
|
170
|
+
"requires long-form qualification on the server, captions=false, 1080p and explicit broll_policy=anyone."),
|
|
114
171
|
person: z.string().min(1).max(500).optional(),
|
|
115
172
|
actor_id: actorId
|
|
116
173
|
.optional()
|
|
@@ -121,14 +178,15 @@ export const makeUgcInputShape = {
|
|
|
121
178
|
// вскрыла бы инвариант Этапа 4 «R2-URL вендору не передаются». Отказ на входе
|
|
122
179
|
// честнее, чем приём поля, которое некуда деть.
|
|
123
180
|
image: z
|
|
124
|
-
.string()
|
|
125
|
-
.url()
|
|
126
|
-
.startsWith("https://")
|
|
127
|
-
.max(MAX_URL_LENGTH)
|
|
181
|
+
.string({ error: "image must be the https url of the photo, as a string" })
|
|
182
|
+
.url("image is not a url: pass the https address of the photo, or upload it first")
|
|
183
|
+
.startsWith("https://", "image must start with https:// — http sources are refused before any charge")
|
|
184
|
+
.max(MAX_URL_LENGTH, `image url is longer than ${MAX_URL_LENGTH} characters`)
|
|
128
185
|
.optional()
|
|
129
186
|
.describe("Public https url of the actor's photo (PNG, JPEG or WebP, up to 10 MB). A file on disk goes " +
|
|
130
|
-
"through upload_image (POST /v1/uploads) first — pass the url it returns.
|
|
131
|
-
"
|
|
187
|
+
"through upload_image (POST /v1/uploads) first — pass the url it returns. A source we cannot " +
|
|
188
|
+
"use — private or loopback host, http, unreachable, redirecting, over 10 MB, or not one of " +
|
|
189
|
+
"those image types — is refused (unusable_source) before any charge. We do not detect the " +
|
|
132
190
|
"face's gender: pass actor_gender or voice, or the default male voice is used with a warning."),
|
|
133
191
|
// Без .default(): молчание отличимо от подсказки, и на молчании приходит warning (clipwright#183).
|
|
134
192
|
actor_gender: z
|
|
@@ -140,6 +198,7 @@ export const makeUgcInputShape = {
|
|
|
140
198
|
character: z.string().regex(/^char_[a-zA-Z0-9]+$/).optional(),
|
|
141
199
|
name: z.string().max(100).optional(),
|
|
142
200
|
broll_url: z.string().url().max(MAX_URL_LENGTH).optional(),
|
|
201
|
+
broll_policy: brollPolicy.optional(),
|
|
143
202
|
captions: z.boolean().default(false),
|
|
144
203
|
caption_style: z.enum(CAPTION_STYLES).default("hormozi"),
|
|
145
204
|
look: z.enum(LOOKS).default("natural"),
|
|
@@ -165,8 +224,8 @@ export const makeUgcInputShape = {
|
|
|
165
224
|
// Без .default(), как resolution: явный выбор голоса отличим от молчания (US-517).
|
|
166
225
|
// voice — форма имени, список сверяет `serverUgcInput` (#164); voice_id — сырой id вендора.
|
|
167
226
|
voice: z
|
|
168
|
-
.string()
|
|
169
|
-
.regex(VOICE_NAME_PATTERN)
|
|
227
|
+
.string({ error: "voice must be a voice name from list_voices, as a string" })
|
|
228
|
+
.regex(VOICE_NAME_PATTERN, "voice is not a voice name: take one from list_voices, or pass voice_id")
|
|
170
229
|
.optional()
|
|
171
230
|
.describe(`Voice name from list_voices. Curated presets: ${VOICE_PRESET_NAMES.join(" | ")} ` +
|
|
172
231
|
"(owner_ru_clone is the Russian cloned voice). The API refuses a name list_voices does not " +
|
|
@@ -175,8 +234,8 @@ export const makeUgcInputShape = {
|
|
|
175
234
|
"without actor_gender. " +
|
|
176
235
|
"Mutually exclusive with voice_id."),
|
|
177
236
|
voice_id: z
|
|
178
|
-
.string()
|
|
179
|
-
.regex(VOICE_ID_PATTERN)
|
|
237
|
+
.string({ error: "voice_id must be a vendor voice id, as a string" })
|
|
238
|
+
.regex(VOICE_ID_PATTERN, "voice_id is not a vendor voice id: 16 to 32 letters and digits")
|
|
180
239
|
.optional()
|
|
181
240
|
.describe("Raw vendor voice id (16–32 letters and digits) for a voice outside the catalog. Checked " +
|
|
182
241
|
"lazily: an unknown id fails the run, not the request. Mutually exclusive with voice."),
|
|
@@ -229,6 +288,9 @@ export const makeUgcInput = z
|
|
|
229
288
|
// молчаливую подмену.
|
|
230
289
|
.refine((v) => (v.script === undefined) !== (v.segments === undefined), {
|
|
231
290
|
message: "pass exactly one of script | segments",
|
|
291
|
+
})
|
|
292
|
+
.refine(v => v.inserts === undefined || (v.script !== undefined && v.segments === undefined), {
|
|
293
|
+
path: ["inserts"], message: "inserts requires script and cannot be combined with segments",
|
|
232
294
|
})
|
|
233
295
|
// Потолок символов — по модели: v3 короче v2 вдвое; отказ здесь, до резерва и вендора (#101).
|
|
234
296
|
// Модель незнакомого клиенту голоса знает только сервер, и потолок он проверит сам (#164).
|
|
@@ -251,14 +313,8 @@ export const makeUgcInput = z
|
|
|
251
313
|
path: ["actor_gender"],
|
|
252
314
|
message: "actor_gender requires image: it describes the face in your photo; omit it, or pass image",
|
|
253
315
|
})
|
|
254
|
-
//
|
|
255
|
-
//
|
|
256
|
-
// получает «invalid input» и чинит вход перебором. Порядок правил — от того,
|
|
257
|
-
// что делает ролик невозможным, к тому, что делает его противоречивым.
|
|
258
|
-
//
|
|
259
|
-
// Правила живут ЗДЕСЬ, а не в `ugcSegment`: они про массив целиком (сколько
|
|
260
|
-
// актёров) либо про связь двух полей внутри элемента, а `z.object` элемента
|
|
261
|
-
// видит только сам элемент.
|
|
316
|
+
// Общие ограничения списка и обязательные поля ролей проверяются здесь.
|
|
317
|
+
// Тип картинки, длительность и движение проверяет ugcSegment.
|
|
262
318
|
.refine((v) => v.segments === undefined || v.segments.some((s) => s.kind === "actor"), {
|
|
263
319
|
message: "segments must contain at least one actor segment: nobody speaks otherwise",
|
|
264
320
|
})
|
|
@@ -305,8 +361,12 @@ export function serverUgcInputWith(voiceRefusal) {
|
|
|
305
361
|
});
|
|
306
362
|
}
|
|
307
363
|
/** Сохранённый вход рана: правила допуска он уже прошёл, и смена модели или */
|
|
308
|
-
/** потолка не должна делать старый ран нечитаемым (#145). */
|
|
309
|
-
export const storedUgcInput = z.object({
|
|
364
|
+
/** потолка не должна делать старый ран нечитаемым (#145). Снимок — ради пола (#210). */
|
|
365
|
+
export const storedUgcInput = z.object({
|
|
366
|
+
...makeUgcInputShape,
|
|
367
|
+
tts_model: z.string().optional(),
|
|
368
|
+
actor_snapshot: z.object({ gender: z.enum(["female", "male"]).optional() }).optional(),
|
|
369
|
+
});
|
|
310
370
|
/** Склейка произносимого текста без проверок — общая база для гейтов и хелпера. */
|
|
311
371
|
function spokenTextOf(input) {
|
|
312
372
|
if (input.script !== undefined)
|
|
@@ -339,6 +399,7 @@ export function resolvedScript(input) {
|
|
|
339
399
|
// из ПРЕДЛАГАЕМОГО shape, а не из полного, иначе автокомплит SDK показывал бы
|
|
340
400
|
// отклонённые поля, которые сервер отбивает четырёхсотым (блокер B4).
|
|
341
401
|
export const quoteResponse = z.object({
|
|
402
|
+
long_form_pricing: longFormQuoteSchema.optional(),
|
|
342
403
|
skill: z.string(),
|
|
343
404
|
credits_estimate: z.number().int().nonnegative(),
|
|
344
405
|
duration_estimate_sec: z.number().positive(),
|
package/dist/skills.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const speechRhythmResult: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3
|
+
status: z.ZodLiteral<"available">;
|
|
4
|
+
durationSec: z.ZodNumber;
|
|
5
|
+
wordGapDurationSec: z.ZodNumber;
|
|
6
|
+
wordGapFraction: z.ZodNumber;
|
|
7
|
+
leadingGapSec: z.ZodNumber;
|
|
8
|
+
trailingGapSec: z.ZodNumber;
|
|
9
|
+
interWordGapsSec: z.ZodArray<z.ZodNumber>;
|
|
10
|
+
measuredSentenceGapCount: z.ZodNumber;
|
|
11
|
+
sentenceGapMedianSec: z.ZodNullable<z.ZodNumber>;
|
|
12
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
13
|
+
status: z.ZodLiteral<"unavailable">;
|
|
14
|
+
reason: z.ZodEnum<{
|
|
15
|
+
invalid_duration: "invalid_duration";
|
|
16
|
+
invalid_timings: "invalid_timings";
|
|
17
|
+
missing_timings: "missing_timings";
|
|
18
|
+
unsupported_mode: "unsupported_mode";
|
|
19
|
+
}>;
|
|
20
|
+
}, z.core.$strip>], "status">;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const seconds = z.number().finite().nonnegative();
|
|
3
|
+
export const speechRhythmResult = z.discriminatedUnion("status", [
|
|
4
|
+
z.object({
|
|
5
|
+
status: z.literal("available"),
|
|
6
|
+
durationSec: z.number().finite().positive(),
|
|
7
|
+
wordGapDurationSec: seconds,
|
|
8
|
+
wordGapFraction: z.number().finite().min(0).max(1),
|
|
9
|
+
leadingGapSec: seconds,
|
|
10
|
+
trailingGapSec: seconds,
|
|
11
|
+
interWordGapsSec: z.array(seconds),
|
|
12
|
+
measuredSentenceGapCount: z.number().int().nonnegative(),
|
|
13
|
+
sentenceGapMedianSec: seconds.nullable(),
|
|
14
|
+
}),
|
|
15
|
+
z.object({
|
|
16
|
+
status: z.literal("unavailable"),
|
|
17
|
+
reason: z.enum(["missing_timings", "invalid_duration", "invalid_timings", "unsupported_mode"]),
|
|
18
|
+
}),
|
|
19
|
+
]).describe("Gaps outside persisted TTS word intervals over the delivered clip duration, including leading and trailing gaps. " +
|
|
20
|
+
"These are timing gaps, not acoustic silence. Sentence boundaries use terminal punctuation. " +
|
|
21
|
+
"Timings extending beyond the delivered duration are unavailable, not clipped. Older runs may omit this field.");
|
|
22
|
+
//# sourceMappingURL=speech-rhythm-contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"speech-rhythm-contract.js","sourceRoot":"","sources":["../src/speech-rhythm-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IAC/D,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3C,kBAAkB,EAAE,OAAO;QAC3B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,OAAO;QACvB,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAClC,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QACxD,oBAAoB,EAAE,OAAO,CAAC,QAAQ,EAAE;KACzC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAChC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;KAC/F,CAAC;CACH,CAAC,CAAC,QAAQ,CACT,mHAAmH;IACnH,6FAA6F;IAC7F,+GAA+G,CACxE,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { WordTiming } from "./tts-backend.js";
|
|
2
|
+
export interface SpeechRhythmMetrics {
|
|
3
|
+
status: "available";
|
|
4
|
+
durationSec: number;
|
|
5
|
+
/** Time outside the union of word intervals, including leading/trailing gaps. */
|
|
6
|
+
wordGapDurationSec: number;
|
|
7
|
+
/** Uncovered duration divided by measured full duration; not acoustic silence. */
|
|
8
|
+
wordGapFraction: number;
|
|
9
|
+
leadingGapSec: number;
|
|
10
|
+
trailingGapSec: number;
|
|
11
|
+
/** One gap per adjacent pair; earlier overlapping words can cover that gap. */
|
|
12
|
+
interWordGapsSec: number[];
|
|
13
|
+
measuredSentenceGapCount: number;
|
|
14
|
+
/** Seconds; null when no punctuation boundary has a following timed word. */
|
|
15
|
+
sentenceGapMedianSec: number | null;
|
|
16
|
+
}
|
|
17
|
+
export type SpeechRhythmResult = SpeechRhythmMetrics | {
|
|
18
|
+
status: "unavailable";
|
|
19
|
+
reason: "missing_timings" | "invalid_duration" | "invalid_timings" | "unsupported_mode";
|
|
20
|
+
};
|
|
21
|
+
export declare function measureSpeechRhythm(words: readonly WordTiming[] | null | undefined, durationSec: number): SpeechRhythmResult;
|