@purpleschool/gptbot 0.14.60-stage2 → 0.14.62-stage2

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.
Files changed (86) hide show
  1. package/build/api/controllers/http/avatar-studio.d.ts +5 -2
  2. package/build/api/controllers/http/avatar-studio.js +6 -4
  3. package/build/api/controllers/http/photo-session.d.ts +0 -1
  4. package/build/api/controllers/http/photo-session.js +0 -1
  5. package/build/api/routes.d.ts +6 -5
  6. package/build/api/routes.js +6 -5
  7. package/build/commands/avatar-studio/clip/create-avatar-studio-clip.command.d.ts +1 -1
  8. package/build/commands/avatar-studio/clip/find-avatar-studio-clips.query.d.ts +1 -1
  9. package/build/commands/avatar-studio/clip/get-avatar-studio-clip.query.d.ts +1 -1
  10. package/build/commands/avatar-studio/clip/update-avatar-studio-clip.command.d.ts +1 -1
  11. package/build/commands/avatar-studio/generation-job/generate-avatar-studio-scene-voice.command.d.ts +4 -2
  12. package/build/commands/avatar-studio/generation-job/generate-avatar-studio-scene-voice.command.js +4 -2
  13. package/build/commands/avatar-studio/scene/{apply-avatar-studio-voice-sample-to-all-scenes.command.d.ts → apply-avatar-studio-voice-to-all-scenes.command.d.ts} +3 -3
  14. package/build/commands/avatar-studio/scene/apply-avatar-studio-voice-to-all-scenes.command.js +17 -0
  15. package/build/commands/avatar-studio/scene/create-avatar-studio-scene.command.d.ts +1 -1
  16. package/build/commands/avatar-studio/scene/index.d.ts +1 -1
  17. package/build/commands/avatar-studio/scene/index.js +1 -1
  18. package/build/commands/avatar-studio/scene/reorder-avatar-studio-scenes.command.d.ts +1 -1
  19. package/build/commands/avatar-studio/scene/set-avatar-studio-scene-slot.command.d.ts +1 -1
  20. package/build/commands/avatar-studio/scene/update-avatar-studio-scene.command.d.ts +2 -2
  21. package/build/commands/avatar-studio/scriptwriter/apply-avatar-studio-scriptwriter-message.command.d.ts +1 -1
  22. package/build/commands/avatar-studio/shared/avatar-studio-common.schema.d.ts +1 -1
  23. package/build/commands/avatar-studio/shared/get-avatar-studio-config.query.d.ts +5 -6
  24. package/build/commands/avatar-studio/shared/get-avatar-studio-config.query.js +7 -12
  25. package/build/commands/avatar-studio/voice/clone-avatar-studio-voice.command.d.ts +33 -0
  26. package/build/commands/avatar-studio/voice/clone-avatar-studio-voice.command.js +19 -0
  27. package/build/commands/avatar-studio/voice/delete-avatar-studio-voice.command.d.ts +11 -0
  28. package/build/commands/avatar-studio/voice/delete-avatar-studio-voice.command.js +13 -0
  29. package/build/commands/avatar-studio/voice/design-avatar-studio-voice.command.d.ts +16 -56
  30. package/build/commands/avatar-studio/voice/design-avatar-studio-voice.command.js +6 -7
  31. package/build/commands/avatar-studio/voice/find-avatar-studio-voices.query.d.ts +26 -0
  32. package/build/commands/avatar-studio/voice/find-avatar-studio-voices.query.js +11 -0
  33. package/build/commands/avatar-studio/voice/index.d.ts +3 -0
  34. package/build/commands/avatar-studio/voice/index.js +3 -0
  35. package/build/commands/tools/photo-session/admin/create-photo-session-style.command.d.ts +4 -4
  36. package/build/commands/tools/photo-session/admin/update-photo-session-style.command.d.ts +4 -4
  37. package/build/commands/tools/photo-session/find-photo-session-job-by-uuid.command.d.ts +3 -2
  38. package/build/commands/tools/photo-session/find-photo-session-jobs.command.d.ts +5 -4
  39. package/build/commands/tools/photo-session/find-photo-session-jobs.command.js +3 -3
  40. package/build/commands/tools/photo-session/get-photo-session-config.command.d.ts +7 -7
  41. package/build/commands/tools/photo-session/get-photo-session-price.command.d.ts +6 -6
  42. package/build/commands/tools/photo-session/get-photo-session-price.command.js +6 -6
  43. package/build/commands/tools/photo-session/index.d.ts +1 -0
  44. package/build/commands/tools/photo-session/index.js +1 -0
  45. package/build/commands/tools/photo-session/photo-session.command.d.ts +20 -16
  46. package/build/commands/tools/photo-session/photo-session.command.js +13 -13
  47. package/build/commands/tools/photo-session/retry-photo-session-job.command.d.ts +23 -3
  48. package/build/commands/tools/photo-session/retry-photo-session-job.command.js +12 -13
  49. package/build/commands/tools/photo-session/set-reaction-to-photo-session-job.command.d.ts +4 -3
  50. package/build/commands/tools/photo-session/set-reaction-to-photo-session-job.command.js +2 -2
  51. package/build/commands/tools/photo-session/update-photo-session-job-favorite.command.d.ts +3 -2
  52. package/build/commands/tools/photo-session/update-photo-session-job-title.command.d.ts +3 -2
  53. package/build/commands/tools/photo-session/update-published-status-photo-session-job.command.d.ts +69 -0
  54. package/build/commands/tools/photo-session/update-published-status-photo-session-job.command.js +18 -0
  55. package/build/commands/tools/tts/create-voice-clone.command.d.ts +1 -0
  56. package/build/commands/tools/tts/find-voice-by-uuid.query.d.ts +1 -0
  57. package/build/commands/tools/tts/find-voices.query.d.ts +2 -1
  58. package/build/commands/tools/tts/find-voices.query.js +1 -1
  59. package/build/commands/tools/tts/select-voice-design.command.d.ts +1 -0
  60. package/build/commands/tools/tts/update-voice.command.d.ts +1 -0
  61. package/build/constants/avatar-studio/enums/avatar-studio-job-type.enum.d.ts +1 -0
  62. package/build/constants/avatar-studio/enums/avatar-studio-job-type.enum.js +1 -0
  63. package/build/constants/avatar-studio/enums/avatar-studio-media-kind.enum.d.ts +1 -2
  64. package/build/constants/avatar-studio/enums/avatar-studio-media-kind.enum.js +0 -1
  65. package/build/constants/avatar-studio/enums/avatar-studio-slot.enum.d.ts +1 -1
  66. package/build/constants/avatar-studio/enums/avatar-studio-slot.enum.js +1 -1
  67. package/build/constants/tool/enums/index.d.ts +1 -0
  68. package/build/constants/tool/enums/index.js +1 -0
  69. package/build/constants/tool/enums/job-scope.enum.d.ts +5 -0
  70. package/build/constants/tool/enums/job-scope.enum.js +9 -0
  71. package/build/constants/tool-tts/enums/voice-category.enum.d.ts +6 -1
  72. package/build/constants/tool-tts/enums/voice-category.enum.js +5 -0
  73. package/build/models/avatar-studio/avatar-studio.schema.d.ts +6 -6
  74. package/build/models/avatar-studio/avatar-studio.schema.js +3 -3
  75. package/build/models/tools/photo-session/photo-session-config.schema.d.ts +73 -7
  76. package/build/models/tools/photo-session/photo-session-config.schema.js +6 -1
  77. package/build/models/tools/photo-session/photo-session-job.schema.d.ts +3 -2
  78. package/build/models/tools/photo-session/photo-session-job.schema.js +3 -0
  79. package/build/models/tools/photo-session/photo-session-model.schema.d.ts +46 -3
  80. package/build/models/tools/photo-session/photo-session-model.schema.js +7 -5
  81. package/build/models/tools/photo-session/photo-session-style.schema.d.ts +6 -6
  82. package/build/models/tools/photo-session/photo-session-style.schema.js +4 -4
  83. package/build/models/tools/tts/voice.schema.d.ts +2 -1
  84. package/build/models/tools/tts/voice.schema.js +1 -0
  85. package/package.json +1 -1
  86. package/build/commands/avatar-studio/scene/apply-avatar-studio-voice-sample-to-all-scenes.command.js +0 -15
@@ -16,10 +16,10 @@ export declare const AVATAR_STUDIO_ROUTES: {
16
16
  readonly REORDER_SCENES: (clipId: string) => string;
17
17
  readonly SET_SCENE_SLOT: (clipId: string, sceneId: string, slot: string) => string;
18
18
  /**
19
- * Разовое действие над всеми сценами клипа: проставить им один образец голоса.
19
+ * Разовое действие над всеми сценами клипа: проставить им один голос.
20
20
  * Не состояние клипа — голос принадлежит сцене, поэтому новые сцены его не наследуют.
21
21
  */
22
- readonly APPLY_VOICE_SAMPLE_TO_ALL_SCENES: (clipId: string, mediaId: string) => string;
22
+ readonly APPLY_VOICE_TO_ALL_SCENES: (clipId: string, voiceId: string) => string;
23
23
  readonly GET_CONFIG: 'config';
24
24
  readonly CREATE_MEDIA_FROM_FILE: 'media/from-file';
25
25
  readonly GET_MEDIA: 'media';
@@ -30,7 +30,10 @@ export declare const AVATAR_STUDIO_ROUTES: {
30
30
  readonly GENERATE_SCENE_VIDEO: (clipId: string, sceneId: string) => string;
31
31
  readonly GENERATE_SCENE_VOICE: (clipId: string, sceneId: string) => string;
32
32
  readonly GENERATE_AVATAR: (clipId: string, sceneId: string) => string;
33
+ readonly GET_VOICES: 'voices';
33
34
  readonly DESIGN_VOICE: 'voices/design';
35
+ readonly CLONE_VOICE: 'voices/clone';
36
+ readonly DELETE_VOICE: (voiceId: string) => string;
34
37
  readonly CALCULATE_SCRIPTWRITER_PRICE: 'scriptwriter/price';
35
38
  readonly GET_SCRIPTWRITER_MESSAGES: (clipId: string) => string;
36
39
  readonly CREATE_SCRIPTWRITER_MESSAGE: (clipId: string) => string;
@@ -19,10 +19,10 @@ exports.AVATAR_STUDIO_ROUTES = {
19
19
  REORDER_SCENES: (clipId) => `clips/${clipId}/scenes/reorder`,
20
20
  SET_SCENE_SLOT: (clipId, sceneId, slot) => `clips/${clipId}/scenes/${sceneId}/slots/${slot}`,
21
21
  /**
22
- * Разовое действие над всеми сценами клипа: проставить им один образец голоса.
22
+ * Разовое действие над всеми сценами клипа: проставить им один голос.
23
23
  * Не состояние клипа — голос принадлежит сцене, поэтому новые сцены его не наследуют.
24
24
  */
25
- APPLY_VOICE_SAMPLE_TO_ALL_SCENES: (clipId, mediaId) => `clips/${clipId}/voice-sample/${mediaId}/apply-to-all-scenes`,
25
+ APPLY_VOICE_TO_ALL_SCENES: (clipId, voiceId) => `clips/${clipId}/voices/${voiceId}/apply-to-all-scenes`,
26
26
  GET_CONFIG: 'config',
27
27
  // Медиатека принадлежит пользователю, а не клипу, поэтому роуты плоские.
28
28
  CREATE_MEDIA_FROM_FILE: 'media/from-file',
@@ -34,9 +34,11 @@ exports.AVATAR_STUDIO_ROUTES = {
34
34
  GENERATE_SCENE_VIDEO: (clipId, sceneId) => `clips/${clipId}/scenes/${sceneId}/video/generate`,
35
35
  GENERATE_SCENE_VOICE: (clipId, sceneId) => `clips/${clipId}/scenes/${sceneId}/voice/generate`,
36
36
  GENERATE_AVATAR: (clipId, sceneId) => `clips/${clipId}/scenes/${sceneId}/avatar/generate`,
37
- // Голос рождается в медиатеке пользователя, клип тут ни при чём — роут плоский,
38
- // как и GENERATE_IMAGE.
37
+ // Голоса не принадлежат клипу роуты плоские, как и GENERATE_IMAGE.
38
+ GET_VOICES: 'voices',
39
39
  DESIGN_VOICE: 'voices/design',
40
+ CLONE_VOICE: 'voices/clone',
41
+ DELETE_VOICE: (voiceId) => `voices/${voiceId}`,
40
42
  // Клип опционален и едет в теле: цену спрашивают ещё до создания клипа.
41
43
  CALCULATE_SCRIPTWRITER_PRICE: 'scriptwriter/price',
42
44
  GET_SCRIPTWRITER_MESSAGES: (clipId) => `clips/${clipId}/scriptwriter/messages`,
@@ -3,7 +3,6 @@ export declare const PHOTO_SESSION_CONTROLLER_PUBLIC: 'public/tools/photo-sessio
3
3
  export declare const PHOTO_SESSION_ROUTES: {
4
4
  readonly CONFIG: 'config';
5
5
  readonly EXECUTE: 'execute';
6
- readonly PRICE: 'price';
7
6
  readonly GET_JOBS: 'jobs';
8
7
  readonly GET_JOB: (uuid: string) => string;
9
8
  readonly UPDATE: (uuid: string) => string;
@@ -6,7 +6,6 @@ exports.PHOTO_SESSION_CONTROLLER_PUBLIC = 'public/tools/photo-session';
6
6
  exports.PHOTO_SESSION_ROUTES = {
7
7
  CONFIG: 'config',
8
8
  EXECUTE: 'execute',
9
- PRICE: 'price',
10
9
  GET_JOBS: 'jobs',
11
10
  GET_JOB: (uuid) => `jobs/${uuid}`,
12
11
  UPDATE: (uuid) => `jobs/${uuid}`,
@@ -1165,7 +1165,6 @@ export declare const REST_API: {
1165
1165
  readonly PHOTO_SESSION_PUBLIC: {
1166
1166
  readonly CONFIG: "/api/public/tools/photo-session/config";
1167
1167
  readonly EXECUTE: "/api/public/tools/photo-session/execute";
1168
- readonly PRICE: "/api/public/tools/photo-session/price";
1169
1168
  readonly GET_JOBS: "/api/public/tools/photo-session/jobs";
1170
1169
  readonly GET_JOB: (uuid: string) => string;
1171
1170
  readonly UPDATE: (uuid: string) => string;
@@ -1179,7 +1178,6 @@ export declare const REST_API: {
1179
1178
  readonly PHOTO_SESSION_PRIVATE: {
1180
1179
  readonly CONFIG: "/api/private/tools/photo-session/config";
1181
1180
  readonly EXECUTE: "/api/private/tools/photo-session/execute";
1182
- readonly PRICE: "/api/private/tools/photo-session/price";
1183
1181
  readonly GET_JOBS: "/api/private/tools/photo-session/jobs";
1184
1182
  readonly GET_JOB: (uuid: string) => string;
1185
1183
  readonly UPDATE: (uuid: string) => string;
@@ -1252,7 +1250,7 @@ export declare const REST_API: {
1252
1250
  readonly GET_CONFIG: "/api/private/avatar-studio/config";
1253
1251
  readonly CREATE_MEDIA_FROM_FILE: "/api/private/avatar-studio/media/from-file";
1254
1252
  readonly SET_SCENE_SLOT: (clipId: string, sceneId: string, slot: string) => string;
1255
- readonly APPLY_VOICE_SAMPLE_TO_ALL_SCENES: (clipId: string, mediaId: string) => string;
1253
+ readonly APPLY_VOICE_TO_ALL_SCENES: (clipId: string, voiceId: string) => string;
1256
1254
  readonly GET_MEDIA: "/api/private/avatar-studio/media";
1257
1255
  readonly UPDATE_MEDIA: (mediaId: string) => string;
1258
1256
  readonly DELETE_MEDIA: (mediaId: string) => string;
@@ -1261,7 +1259,10 @@ export declare const REST_API: {
1261
1259
  readonly GENERATE_SCENE_VIDEO: (clipId: string, sceneId: string) => string;
1262
1260
  readonly GENERATE_SCENE_VOICE: (clipId: string, sceneId: string) => string;
1263
1261
  readonly GENERATE_AVATAR: (clipId: string, sceneId: string) => string;
1262
+ readonly GET_VOICES: "/api/private/avatar-studio/voices";
1264
1263
  readonly DESIGN_VOICE: "/api/private/avatar-studio/voices/design";
1264
+ readonly CLONE_VOICE: "/api/private/avatar-studio/voices/clone";
1265
+ readonly DELETE_VOICE: (voiceId: string) => string;
1265
1266
  readonly CALCULATE_SCRIPTWRITER_PRICE: "/api/private/avatar-studio/scriptwriter/price";
1266
1267
  readonly GET_SCRIPTWRITER_MESSAGES: (clipId: string) => string;
1267
1268
  readonly CREATE_SCRIPTWRITER_MESSAGE: (clipId: string) => string;
@@ -1285,7 +1286,7 @@ export declare const REST_API: {
1285
1286
  readonly GET_CONFIG: "/api/public/avatar-studio/config";
1286
1287
  readonly CREATE_MEDIA_FROM_FILE: "/api/public/avatar-studio/media/from-file";
1287
1288
  readonly SET_SCENE_SLOT: (clipId: string, sceneId: string, slot: string) => string;
1288
- readonly APPLY_VOICE_SAMPLE_TO_ALL_SCENES: (clipId: string, mediaId: string) => string;
1289
+ readonly APPLY_VOICE_TO_ALL_SCENES: (clipId: string, voiceId: string) => string;
1289
1290
  readonly GET_MEDIA: "/api/public/avatar-studio/media";
1290
1291
  readonly UPDATE_MEDIA: (mediaId: string) => string;
1291
1292
  readonly DELETE_MEDIA: (mediaId: string) => string;
@@ -1294,7 +1295,7 @@ export declare const REST_API: {
1294
1295
  readonly GENERATE_SCENE_VIDEO: (clipId: string, sceneId: string) => string;
1295
1296
  readonly GENERATE_SCENE_VOICE: (clipId: string, sceneId: string) => string;
1296
1297
  readonly GENERATE_AVATAR: (clipId: string, sceneId: string) => string;
1297
- readonly DESIGN_VOICE: "/api/public/avatar-studio/voices/design";
1298
+ readonly GET_VOICES: "/api/public/avatar-studio/voices";
1298
1299
  readonly CALCULATE_SCRIPTWRITER_PRICE: "/api/public/avatar-studio/scriptwriter/price";
1299
1300
  readonly GET_SCRIPTWRITER_MESSAGES: (clipId: string) => string;
1300
1301
  readonly CREATE_SCRIPTWRITER_MESSAGE: (clipId: string) => string;
@@ -1203,7 +1203,6 @@ exports.REST_API = {
1203
1203
  PHOTO_SESSION_PUBLIC: {
1204
1204
  CONFIG: `${exports.ROOT}/${CONTROLLERS.PHOTO_SESSION_CONTROLLER_PUBLIC}/${CONTROLLERS.PHOTO_SESSION_ROUTES.CONFIG}`,
1205
1205
  EXECUTE: `${exports.ROOT}/${CONTROLLERS.PHOTO_SESSION_CONTROLLER_PUBLIC}/${CONTROLLERS.PHOTO_SESSION_ROUTES.EXECUTE}`,
1206
- PRICE: `${exports.ROOT}/${CONTROLLERS.PHOTO_SESSION_CONTROLLER_PUBLIC}/${CONTROLLERS.PHOTO_SESSION_ROUTES.PRICE}`,
1207
1206
  GET_JOBS: `${exports.ROOT}/${CONTROLLERS.PHOTO_SESSION_CONTROLLER_PUBLIC}/${CONTROLLERS.PHOTO_SESSION_ROUTES.GET_JOBS}`,
1208
1207
  GET_JOB: (uuid) => `${exports.ROOT}/${CONTROLLERS.PHOTO_SESSION_CONTROLLER_PUBLIC}/${CONTROLLERS.PHOTO_SESSION_ROUTES.GET_JOB(uuid)}`,
1209
1208
  UPDATE: (uuid) => `${exports.ROOT}/${CONTROLLERS.PHOTO_SESSION_CONTROLLER_PUBLIC}/${CONTROLLERS.PHOTO_SESSION_ROUTES.UPDATE(uuid)}`,
@@ -1217,7 +1216,6 @@ exports.REST_API = {
1217
1216
  PHOTO_SESSION_PRIVATE: {
1218
1217
  CONFIG: `${exports.ROOT}/${CONTROLLERS.PHOTO_SESSION_CONTROLLER_PRIVATE}/${CONTROLLERS.PHOTO_SESSION_ROUTES.CONFIG}`,
1219
1218
  EXECUTE: `${exports.ROOT}/${CONTROLLERS.PHOTO_SESSION_CONTROLLER_PRIVATE}/${CONTROLLERS.PHOTO_SESSION_ROUTES.EXECUTE}`,
1220
- PRICE: `${exports.ROOT}/${CONTROLLERS.PHOTO_SESSION_CONTROLLER_PRIVATE}/${CONTROLLERS.PHOTO_SESSION_ROUTES.PRICE}`,
1221
1219
  GET_JOBS: `${exports.ROOT}/${CONTROLLERS.PHOTO_SESSION_CONTROLLER_PRIVATE}/${CONTROLLERS.PHOTO_SESSION_ROUTES.GET_JOBS}`,
1222
1220
  GET_JOB: (uuid) => `${exports.ROOT}/${CONTROLLERS.PHOTO_SESSION_CONTROLLER_PRIVATE}/${CONTROLLERS.PHOTO_SESSION_ROUTES.GET_JOB(uuid)}`,
1223
1221
  UPDATE: (uuid) => `${exports.ROOT}/${CONTROLLERS.PHOTO_SESSION_CONTROLLER_PRIVATE}/${CONTROLLERS.PHOTO_SESSION_ROUTES.UPDATE(uuid)}`,
@@ -1290,7 +1288,7 @@ exports.REST_API = {
1290
1288
  GET_CONFIG: `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PRIVATE}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.GET_CONFIG}`,
1291
1289
  CREATE_MEDIA_FROM_FILE: `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PRIVATE}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.CREATE_MEDIA_FROM_FILE}`,
1292
1290
  SET_SCENE_SLOT: (clipId, sceneId, slot) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PRIVATE}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.SET_SCENE_SLOT(clipId, sceneId, slot)}`,
1293
- APPLY_VOICE_SAMPLE_TO_ALL_SCENES: (clipId, mediaId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PRIVATE}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.APPLY_VOICE_SAMPLE_TO_ALL_SCENES(clipId, mediaId)}`,
1291
+ APPLY_VOICE_TO_ALL_SCENES: (clipId, voiceId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PRIVATE}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.APPLY_VOICE_TO_ALL_SCENES(clipId, voiceId)}`,
1294
1292
  GET_MEDIA: `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PRIVATE}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.GET_MEDIA}`,
1295
1293
  UPDATE_MEDIA: (mediaId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PRIVATE}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.UPDATE_MEDIA(mediaId)}`,
1296
1294
  DELETE_MEDIA: (mediaId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PRIVATE}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.DELETE_MEDIA(mediaId)}`,
@@ -1299,7 +1297,10 @@ exports.REST_API = {
1299
1297
  GENERATE_SCENE_VIDEO: (clipId, sceneId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PRIVATE}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.GENERATE_SCENE_VIDEO(clipId, sceneId)}`,
1300
1298
  GENERATE_SCENE_VOICE: (clipId, sceneId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PRIVATE}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.GENERATE_SCENE_VOICE(clipId, sceneId)}`,
1301
1299
  GENERATE_AVATAR: (clipId, sceneId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PRIVATE}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.GENERATE_AVATAR(clipId, sceneId)}`,
1300
+ GET_VOICES: `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PRIVATE}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.GET_VOICES}`,
1302
1301
  DESIGN_VOICE: `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PRIVATE}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.DESIGN_VOICE}`,
1302
+ CLONE_VOICE: `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PRIVATE}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.CLONE_VOICE}`,
1303
+ DELETE_VOICE: (voiceId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PRIVATE}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.DELETE_VOICE(voiceId)}`,
1303
1304
  CALCULATE_SCRIPTWRITER_PRICE: `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PRIVATE}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.CALCULATE_SCRIPTWRITER_PRICE}`,
1304
1305
  GET_SCRIPTWRITER_MESSAGES: (clipId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PRIVATE}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.GET_SCRIPTWRITER_MESSAGES(clipId)}`,
1305
1306
  CREATE_SCRIPTWRITER_MESSAGE: (clipId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PRIVATE}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.CREATE_SCRIPTWRITER_MESSAGE(clipId)}`,
@@ -1323,7 +1324,7 @@ exports.REST_API = {
1323
1324
  GET_CONFIG: `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PUBLIC}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.GET_CONFIG}`,
1324
1325
  CREATE_MEDIA_FROM_FILE: `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PUBLIC}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.CREATE_MEDIA_FROM_FILE}`,
1325
1326
  SET_SCENE_SLOT: (clipId, sceneId, slot) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PUBLIC}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.SET_SCENE_SLOT(clipId, sceneId, slot)}`,
1326
- APPLY_VOICE_SAMPLE_TO_ALL_SCENES: (clipId, mediaId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PUBLIC}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.APPLY_VOICE_SAMPLE_TO_ALL_SCENES(clipId, mediaId)}`,
1327
+ APPLY_VOICE_TO_ALL_SCENES: (clipId, voiceId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PUBLIC}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.APPLY_VOICE_TO_ALL_SCENES(clipId, voiceId)}`,
1327
1328
  GET_MEDIA: `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PUBLIC}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.GET_MEDIA}`,
1328
1329
  UPDATE_MEDIA: (mediaId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PUBLIC}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.UPDATE_MEDIA(mediaId)}`,
1329
1330
  DELETE_MEDIA: (mediaId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PUBLIC}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.DELETE_MEDIA(mediaId)}`,
@@ -1332,7 +1333,7 @@ exports.REST_API = {
1332
1333
  GENERATE_SCENE_VIDEO: (clipId, sceneId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PUBLIC}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.GENERATE_SCENE_VIDEO(clipId, sceneId)}`,
1333
1334
  GENERATE_SCENE_VOICE: (clipId, sceneId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PUBLIC}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.GENERATE_SCENE_VOICE(clipId, sceneId)}`,
1334
1335
  GENERATE_AVATAR: (clipId, sceneId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PUBLIC}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.GENERATE_AVATAR(clipId, sceneId)}`,
1335
- DESIGN_VOICE: `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PUBLIC}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.DESIGN_VOICE}`,
1336
+ GET_VOICES: `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PUBLIC}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.GET_VOICES}`,
1336
1337
  CALCULATE_SCRIPTWRITER_PRICE: `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PUBLIC}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.CALCULATE_SCRIPTWRITER_PRICE}`,
1337
1338
  GET_SCRIPTWRITER_MESSAGES: (clipId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PUBLIC}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.GET_SCRIPTWRITER_MESSAGES(clipId)}`,
1338
1339
  CREATE_SCRIPTWRITER_MESSAGE: (clipId) => `${exports.ROOT}/${CONTROLLERS.AVATAR_STUDIO_CONTROLLER_PUBLIC}/${CONTROLLERS.AVATAR_STUDIO_ROUTES.CREATE_SCRIPTWRITER_MESSAGE(clipId)}`,
@@ -71,7 +71,7 @@ export declare namespace CreateAvatarStudioClipCommand {
71
71
  trimStart: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
72
72
  trimEnd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
73
73
  text: z.ZodDefault<z.ZodString>;
74
- voiceSampleMediaId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
74
+ voiceId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
75
75
  }, z.core.$strip>;
76
76
  imageConfig: z.ZodObject<{
77
77
  prompt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -67,7 +67,7 @@ export declare namespace FindAvatarStudioClipsQuery {
67
67
  trimStart: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
68
68
  trimEnd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
69
69
  text: z.ZodDefault<z.ZodString>;
70
- voiceSampleMediaId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
70
+ voiceId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
71
71
  }, z.core.$strip>;
72
72
  imageConfig: z.ZodObject<{
73
73
  prompt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -65,7 +65,7 @@ export declare namespace GetAvatarStudioClipQuery {
65
65
  trimStart: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
66
66
  trimEnd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
67
67
  text: z.ZodDefault<z.ZodString>;
68
- voiceSampleMediaId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
68
+ voiceId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
69
69
  }, z.core.$strip>;
70
70
  imageConfig: z.ZodObject<{
71
71
  prompt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -75,7 +75,7 @@ export declare namespace UpdateAvatarStudioClipCommand {
75
75
  trimStart: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
76
76
  trimEnd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
77
77
  text: z.ZodDefault<z.ZodString>;
78
- voiceSampleMediaId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
78
+ voiceId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
79
79
  }, z.core.$strip>;
80
80
  imageConfig: z.ZodObject<{
81
81
  prompt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -6,11 +6,13 @@ export declare namespace GenerateAvatarStudioSceneVoiceCommand {
6
6
  }, z.core.$strip>;
7
7
  type Params = z.infer<typeof ParamsSchema>;
8
8
  /**
9
- * Образец голоса не передаётся: он берётся из voiceConfig.voiceSampleMediaId сцены.
10
- * Сменить образец — обычный PATCH сцены, а не отдельная операция.
9
+ * voiceId не обязателен: по умолчанию берётся из voiceConfig.voiceId сцены.
10
+ * Сменить голос сцены — обычный PATCH сцены, а не отдельная операция; здесь его
11
+ * можно передать только для одноразовой генерации другим голосом.
11
12
  */
12
13
  const RequestSchema: z.ZodObject<{
13
14
  text: z.ZodOptional<z.ZodString>;
15
+ voiceId: z.ZodOptional<z.ZodString>;
14
16
  }, z.core.$strict>;
15
17
  type Request = z.infer<typeof RequestSchema>;
16
18
  const ResponseSchema: z.ZodObject<{
@@ -8,12 +8,14 @@ var GenerateAvatarStudioSceneVoiceCommand;
8
8
  (function (GenerateAvatarStudioSceneVoiceCommand) {
9
9
  GenerateAvatarStudioSceneVoiceCommand.ParamsSchema = avatar_studio_common_schema_1.AvatarStudioSceneIdParamsSchema;
10
10
  /**
11
- * Образец голоса не передаётся: он берётся из voiceConfig.voiceSampleMediaId сцены.
12
- * Сменить образец — обычный PATCH сцены, а не отдельная операция.
11
+ * voiceId не обязателен: по умолчанию берётся из voiceConfig.voiceId сцены.
12
+ * Сменить голос сцены — обычный PATCH сцены, а не отдельная операция; здесь его
13
+ * можно передать только для одноразовой генерации другим голосом.
13
14
  */
14
15
  GenerateAvatarStudioSceneVoiceCommand.RequestSchema = zod_1.z
15
16
  .object({
16
17
  text: zod_1.z.string().trim().min(1).optional(),
18
+ voiceId: zod_1.z.string().uuid().optional(),
17
19
  })
18
20
  .strict();
19
21
  GenerateAvatarStudioSceneVoiceCommand.ResponseSchema = zod_1.z.object({
@@ -1,8 +1,8 @@
1
1
  import { z } from 'zod';
2
- export declare namespace ApplyAvatarStudioVoiceSampleToAllScenesCommand {
2
+ export declare namespace ApplyAvatarStudioVoiceToAllScenesCommand {
3
3
  const ParamsSchema: z.ZodObject<{
4
4
  clipId: z.ZodString;
5
- mediaId: z.ZodString;
5
+ voiceId: z.ZodString;
6
6
  }, z.core.$strip>;
7
7
  type Params = z.infer<typeof ParamsSchema>;
8
8
  const ResponseSchema: z.ZodObject<{
@@ -66,7 +66,7 @@ export declare namespace ApplyAvatarStudioVoiceSampleToAllScenesCommand {
66
66
  trimStart: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
67
67
  trimEnd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
68
68
  text: z.ZodDefault<z.ZodString>;
69
- voiceSampleMediaId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
69
+ voiceId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
70
70
  }, z.core.$strip>;
71
71
  imageConfig: z.ZodObject<{
72
72
  prompt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApplyAvatarStudioVoiceToAllScenesCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const models_1 = require("../../../models");
6
+ const avatar_studio_common_schema_1 = require("../shared/avatar-studio-common.schema");
7
+ var ApplyAvatarStudioVoiceToAllScenesCommand;
8
+ (function (ApplyAvatarStudioVoiceToAllScenesCommand) {
9
+ ApplyAvatarStudioVoiceToAllScenesCommand.ParamsSchema = avatar_studio_common_schema_1.AvatarStudioClipIdParamsSchema.extend({
10
+ voiceId: zod_1.z.string().uuid(),
11
+ });
12
+ // Ответ — клип со сценами, а не список сцен: фронт перерисовывает клип целиком
13
+ // и не ходит следом за GET /clips/:clipId.
14
+ ApplyAvatarStudioVoiceToAllScenesCommand.ResponseSchema = zod_1.z.object({
15
+ data: models_1.AvatarStudioClipSchema,
16
+ });
17
+ })(ApplyAvatarStudioVoiceToAllScenesCommand || (exports.ApplyAvatarStudioVoiceToAllScenesCommand = ApplyAvatarStudioVoiceToAllScenesCommand = {}));
@@ -15,7 +15,7 @@ export declare namespace CreateAvatarStudioSceneCommand {
15
15
  trimStart: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
16
16
  trimEnd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
17
17
  text: z.ZodDefault<z.ZodString>;
18
- voiceSampleMediaId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
18
+ voiceId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
19
19
  }, z.core.$strip>;
20
20
  imageConfig: z.ZodObject<{
21
21
  prompt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -1,4 +1,4 @@
1
- export * from './apply-avatar-studio-voice-sample-to-all-scenes.command';
1
+ export * from './apply-avatar-studio-voice-to-all-scenes.command';
2
2
  export * from './create-avatar-studio-scene.command';
3
3
  export * from './delete-avatar-studio-scene.command';
4
4
  export * from './reorder-avatar-studio-scenes.command';
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./apply-avatar-studio-voice-sample-to-all-scenes.command"), exports);
17
+ __exportStar(require("./apply-avatar-studio-voice-to-all-scenes.command"), exports);
18
18
  __exportStar(require("./create-avatar-studio-scene.command"), exports);
19
19
  __exportStar(require("./delete-avatar-studio-scene.command"), exports);
20
20
  __exportStar(require("./reorder-avatar-studio-scenes.command"), exports);
@@ -20,7 +20,7 @@ export declare namespace ReorderAvatarStudioScenesCommand {
20
20
  trimStart: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
21
21
  trimEnd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
22
22
  text: z.ZodDefault<z.ZodString>;
23
- voiceSampleMediaId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
23
+ voiceId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
24
24
  }, z.core.$strip>;
25
25
  imageConfig: z.ZodObject<{
26
26
  prompt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -20,7 +20,7 @@ export declare namespace SetAvatarStudioSceneSlotCommand {
20
20
  trimStart: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
21
21
  trimEnd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
22
22
  text: z.ZodDefault<z.ZodString>;
23
- voiceSampleMediaId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
23
+ voiceId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
24
24
  }, z.core.$strip>;
25
25
  imageConfig: z.ZodObject<{
26
26
  prompt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -10,7 +10,7 @@ export declare namespace UpdateAvatarStudioSceneCommand {
10
10
  trimStart: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
11
11
  trimEnd: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
12
12
  text: z.ZodOptional<z.ZodDefault<z.ZodString>>;
13
- voiceSampleMediaId: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodString>>>;
13
+ voiceId: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodString>>>;
14
14
  }, z.core.$strict>>;
15
15
  imageConfig: z.ZodOptional<z.ZodObject<{
16
16
  prompt: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodString>>>;
@@ -37,7 +37,7 @@ export declare namespace UpdateAvatarStudioSceneCommand {
37
37
  trimStart: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
38
38
  trimEnd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
39
39
  text: z.ZodDefault<z.ZodString>;
40
- voiceSampleMediaId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
40
+ voiceId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
41
41
  }, z.core.$strip>;
42
42
  imageConfig: z.ZodObject<{
43
43
  prompt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -28,7 +28,7 @@ export declare namespace ApplyAvatarStudioScriptwriterMessageCommand {
28
28
  trimStart: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
29
29
  trimEnd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
30
30
  text: z.ZodDefault<z.ZodString>;
31
- voiceSampleMediaId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
31
+ voiceId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
32
32
  }, z.core.$strip>;
33
33
  imageConfig: z.ZodObject<{
34
34
  prompt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -31,7 +31,7 @@ export declare const AvatarStudioSceneConfigPatchSchema: z.ZodObject<{
31
31
  trimStart: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
32
32
  trimEnd: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
33
33
  text: z.ZodOptional<z.ZodDefault<z.ZodString>>;
34
- voiceSampleMediaId: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodString>>>;
34
+ voiceId: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodString>>>;
35
35
  }, z.core.$strict>>;
36
36
  imageConfig: z.ZodOptional<z.ZodObject<{
37
37
  prompt: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodString>>>;
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { AVATAR_STUDIO_IMAGE_STYLE, AVATAR_STUDIO_MEDIA_KIND, AVATAR_STUDIO_UNAVAILABLE_REASON, AVATAR_STUDIO_VIDEO_MODE, AVATAR_STUDIO_VIDEO_QUALITY } from '../../../constants';
2
+ import { AVATAR_STUDIO_IMAGE_STYLE, AVATAR_STUDIO_UNAVAILABLE_REASON, AVATAR_STUDIO_VIDEO_MODE, AVATAR_STUDIO_VIDEO_QUALITY } from '../../../constants';
3
3
  export declare namespace GetAvatarStudioConfigQuery {
4
4
  const ResponseSchema: z.ZodObject<{
5
5
  data: z.ZodObject<{
@@ -12,17 +12,16 @@ export declare namespace GetAvatarStudioConfigQuery {
12
12
  maxLength: z.ZodNumber;
13
13
  required: z.ZodBoolean;
14
14
  }, z.core.$strict>;
15
- voiceSampleMediaId: z.ZodObject<{
16
- kind: z.ZodLiteral<"media">;
17
- required: z.ZodBoolean;
18
- mediaKind: z.ZodLiteral<AVATAR_STUDIO_MEDIA_KIND.VOICE_SAMPLE>;
15
+ voiceId: z.ZodObject<{
16
+ kind: z.ZodLiteral<"voice">;
17
+ required: z.ZodLiteral<true>;
19
18
  }, z.core.$strict>;
20
19
  }, z.core.$strict>;
21
20
  defaults: z.ZodObject<{
22
21
  trimStart: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
23
22
  trimEnd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
24
23
  text: z.ZodDefault<z.ZodString>;
25
- voiceSampleMediaId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
24
+ voiceId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
26
25
  }, z.core.$strip>;
27
26
  pricing: z.ZodObject<{
28
27
  tts: z.ZodNullable<z.ZodObject<{
@@ -48,13 +48,6 @@ const AvatarStudioSelectFieldSchema = (optionSchema) => zod_1.z
48
48
  options: zod_1.z.array(optionSchema),
49
49
  })
50
50
  .strict();
51
- const AvatarStudioMediaFieldSchema = zod_1.z
52
- .object({
53
- kind: zod_1.z.literal('media'),
54
- required: zod_1.z.boolean(),
55
- mediaKind: zod_1.z.nativeEnum(constants_1.AVATAR_STUDIO_MEDIA_KIND),
56
- })
57
- .strict();
58
51
  const AvatarStudioMediaArrayFieldSchema = zod_1.z
59
52
  .object({
60
53
  kind: zod_1.z.literal('media-array'),
@@ -91,12 +84,14 @@ const AvatarStudioAudioConfigSectionSchema = AvatarStudioConfigSectionBaseSchema
91
84
  text: AvatarStudioTextFieldSchema.extend({
92
85
  required: zod_1.z.boolean(),
93
86
  }),
94
- // Образец голоса — вход генерации наравне с текстом, поэтому живёт
87
+ // Голос — вход генерации наравне с текстом, поэтому живёт
95
88
  // в voiceConfig и ставится через PATCH .../scenes/:sceneId.
96
- voiceSampleMediaId: AvatarStudioMediaFieldSchema.extend({
97
- required: zod_1.z.boolean(),
98
- mediaKind: zod_1.z.literal(constants_1.AVATAR_STUDIO_MEDIA_KIND.VOICE_SAMPLE),
99
- }),
89
+ voiceId: zod_1.z
90
+ .object({
91
+ kind: zod_1.z.literal('voice'),
92
+ required: zod_1.z.literal(true),
93
+ })
94
+ .strict(),
100
95
  })
101
96
  .strict(),
102
97
  defaults: models_1.AvatarStudioSceneVoiceConfigSchema,
@@ -0,0 +1,33 @@
1
+ import { z } from 'zod';
2
+ import { VOICE_GENDER } from '../../../constants';
3
+ export declare namespace CloneAvatarStudioVoiceCommand {
4
+ const RequestSchema: z.ZodObject<{
5
+ fileId: z.ZodString;
6
+ title: z.ZodString;
7
+ gender: z.ZodOptional<z.ZodEnum<typeof VOICE_GENDER>>;
8
+ }, z.core.$strict>;
9
+ type Request = z.infer<typeof RequestSchema>;
10
+ const ResponseSchema: z.ZodObject<{
11
+ data: z.ZodObject<{
12
+ uuid: z.ZodString;
13
+ scope: z.ZodEnum<typeof import("../../..").JOB_SCOPE>;
14
+ source: z.ZodEnum<typeof import("../../..").VOICE_SOURCE>;
15
+ title: z.ZodString;
16
+ description: z.ZodString;
17
+ gender: z.ZodNullable<z.ZodEnum<typeof VOICE_GENDER>>;
18
+ trait: z.ZodNullable<z.ZodString>;
19
+ ageRange: z.ZodNullable<z.ZodString>;
20
+ categories: z.ZodArray<z.ZodEnum<typeof import("../../..").VOICE_CATEGORY>>;
21
+ previewUrl: z.ZodString;
22
+ status: z.ZodEnum<typeof import("../../..").VOICE_STATUS>;
23
+ error: z.ZodNullable<z.ZodString>;
24
+ order: z.ZodNumber;
25
+ isDeleted: z.ZodBoolean;
26
+ userId: z.ZodNullable<z.ZodString>;
27
+ unregisteredUserId: z.ZodNullable<z.ZodString>;
28
+ createdAt: z.ZodDate;
29
+ updatedAt: z.ZodDate;
30
+ }, z.core.$strip>;
31
+ }, z.core.$strip>;
32
+ type Response = z.infer<typeof ResponseSchema>;
33
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CloneAvatarStudioVoiceCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const constants_1 = require("../../../constants");
6
+ const models_1 = require("../../../models");
7
+ var CloneAvatarStudioVoiceCommand;
8
+ (function (CloneAvatarStudioVoiceCommand) {
9
+ CloneAvatarStudioVoiceCommand.RequestSchema = zod_1.z
10
+ .object({
11
+ fileId: zod_1.z.string().uuid(),
12
+ title: zod_1.z.string().trim().min(1).max(255),
13
+ gender: zod_1.z.nativeEnum(constants_1.VOICE_GENDER).optional(),
14
+ })
15
+ .strict();
16
+ CloneAvatarStudioVoiceCommand.ResponseSchema = zod_1.z.object({
17
+ data: models_1.VoiceSchema,
18
+ });
19
+ })(CloneAvatarStudioVoiceCommand || (exports.CloneAvatarStudioVoiceCommand = CloneAvatarStudioVoiceCommand = {}));
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ export declare namespace DeleteAvatarStudioVoiceCommand {
3
+ const ParamsSchema: z.ZodObject<{
4
+ voiceId: z.ZodString;
5
+ }, z.core.$strip>;
6
+ type Params = z.infer<typeof ParamsSchema>;
7
+ const ResponseSchema: z.ZodObject<{
8
+ data: z.ZodBoolean;
9
+ }, z.core.$strip>;
10
+ type Response = z.infer<typeof ResponseSchema>;
11
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeleteAvatarStudioVoiceCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ var DeleteAvatarStudioVoiceCommand;
6
+ (function (DeleteAvatarStudioVoiceCommand) {
7
+ DeleteAvatarStudioVoiceCommand.ParamsSchema = zod_1.z.object({
8
+ voiceId: zod_1.z.string().uuid(),
9
+ });
10
+ DeleteAvatarStudioVoiceCommand.ResponseSchema = zod_1.z.object({
11
+ data: zod_1.z.boolean(),
12
+ });
13
+ })(DeleteAvatarStudioVoiceCommand || (exports.DeleteAvatarStudioVoiceCommand = DeleteAvatarStudioVoiceCommand = {}));