@purpleschool/gptbot 0.14.11 → 0.14.13-avatar-studio

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 (145) hide show
  1. package/api/controllers/http/avatar-studio.ts +40 -0
  2. package/api/controllers/http/index.ts +1 -0
  3. package/api/routes.ts +59 -0
  4. package/build/api/controllers/http/avatar-studio.js +36 -0
  5. package/build/api/controllers/http/index.js +1 -0
  6. package/build/api/routes.js +32 -0
  7. package/build/commands/avatar-studio/clip/create-avatar-studio-clip.command.js +17 -0
  8. package/build/commands/avatar-studio/clip/delete-avatar-studio-clip.command.js +12 -0
  9. package/build/commands/avatar-studio/clip/find-avatar-studio-clips.query.js +13 -0
  10. package/build/commands/avatar-studio/clip/get-avatar-studio-clip.query.js +13 -0
  11. package/build/commands/avatar-studio/clip/index.js +21 -0
  12. package/build/commands/avatar-studio/clip/update-avatar-studio-clip.command.js +19 -0
  13. package/build/commands/avatar-studio/export-job/find-avatar-studio-export-jobs.query.js +11 -0
  14. package/build/commands/avatar-studio/export-job/get-avatar-studio-export-job.query.js +13 -0
  15. package/build/commands/avatar-studio/export-job/index.js +19 -0
  16. package/build/commands/avatar-studio/export-job/start-avatar-studio-export.command.js +21 -0
  17. package/build/commands/avatar-studio/generation-job/find-avatar-studio-generation-jobs.query.js +14 -0
  18. package/build/commands/avatar-studio/generation-job/generate-avatar-studio-frame.command.js +21 -0
  19. package/build/commands/avatar-studio/generation-job/generate-avatar-studio-library-image.command.js +20 -0
  20. package/build/commands/avatar-studio/generation-job/generate-avatar-studio-scene-video.command.js +14 -0
  21. package/build/commands/avatar-studio/generation-job/generate-avatar-studio-scene-voice.command.js +19 -0
  22. package/build/commands/avatar-studio/generation-job/generate-avatar-studio-talking-avatar.command.js +17 -0
  23. package/build/commands/avatar-studio/generation-job/generate-avatar-studio-voice-timings.command.js +18 -0
  24. package/build/commands/avatar-studio/generation-job/get-avatar-studio-generation-job.query.js +13 -0
  25. package/build/commands/avatar-studio/generation-job/index.js +24 -0
  26. package/build/commands/avatar-studio/index.js +24 -0
  27. package/build/commands/avatar-studio/media/create-avatar-studio-media-from-file.command.js +27 -0
  28. package/build/commands/avatar-studio/media/delete-avatar-studio-media.command.js +12 -0
  29. package/build/commands/avatar-studio/media/find-avatar-studio-media.query.js +17 -0
  30. package/build/commands/avatar-studio/media/index.js +20 -0
  31. package/build/commands/avatar-studio/media/update-avatar-studio-media.command.js +21 -0
  32. package/build/commands/avatar-studio/scene/create-avatar-studio-scene.command.js +14 -0
  33. package/build/commands/avatar-studio/scene/delete-avatar-studio-scene.command.js +12 -0
  34. package/build/commands/avatar-studio/scene/index.js +20 -0
  35. package/build/commands/avatar-studio/scene/reorder-avatar-studio-scenes.command.js +19 -0
  36. package/build/commands/avatar-studio/scene/update-avatar-studio-scene.command.js +14 -0
  37. package/build/commands/avatar-studio/scriptwriter/apply-avatar-studio-scriptwriter-message.command.js +19 -0
  38. package/build/commands/avatar-studio/scriptwriter/create-avatar-studio-scriptwriter-message.command.js +53 -0
  39. package/build/commands/avatar-studio/scriptwriter/index.js +18 -0
  40. package/build/commands/avatar-studio/shared/avatar-studio-common.schema.js +48 -0
  41. package/build/commands/avatar-studio/shared/index.js +17 -0
  42. package/build/commands/avatar-studio/voice/design-avatar-studio-voice.command.js +24 -0
  43. package/build/commands/avatar-studio/voice/find-avatar-studio-clip-voices.query.js +11 -0
  44. package/build/commands/avatar-studio/voice/find-avatar-studio-voices.query.js +13 -0
  45. package/build/commands/avatar-studio/voice/index.js +20 -0
  46. package/build/commands/avatar-studio/voice/update-avatar-studio-clip-voice.command.js +16 -0
  47. package/build/commands/index.js +1 -0
  48. package/build/constants/avatar-studio/enums/avatar-studio-export-status.enum.js +10 -0
  49. package/build/constants/avatar-studio/enums/avatar-studio-image-style.enum.js +9 -0
  50. package/build/constants/avatar-studio/enums/avatar-studio-job-phase.enum.js +12 -0
  51. package/build/constants/avatar-studio/enums/avatar-studio-job-status.enum.js +10 -0
  52. package/build/constants/avatar-studio/enums/avatar-studio-job-type.enum.js +16 -0
  53. package/build/constants/avatar-studio/enums/avatar-studio-media-kind.enum.js +9 -0
  54. package/build/constants/avatar-studio/enums/avatar-studio-media-role.enum.js +14 -0
  55. package/build/constants/avatar-studio/enums/avatar-studio-media-source.enum.js +13 -0
  56. package/build/constants/avatar-studio/enums/avatar-studio-scene-kind.enum.js +7 -0
  57. package/build/constants/avatar-studio/enums/avatar-studio-scriptwriter-role.enum.js +9 -0
  58. package/build/constants/avatar-studio/enums/avatar-studio-slot.enum.js +15 -0
  59. package/build/constants/avatar-studio/enums/avatar-studio-subtitle-font.enum.js +10 -0
  60. package/build/constants/avatar-studio/enums/avatar-studio-subtitle-mode.enum.js +9 -0
  61. package/build/constants/avatar-studio/enums/avatar-studio-video-mode.enum.js +8 -0
  62. package/build/constants/avatar-studio/enums/avatar-studio-video-quality.enum.js +8 -0
  63. package/build/constants/avatar-studio/enums/avatar-studio-voice-source.enum.js +9 -0
  64. package/build/constants/avatar-studio/enums/index.js +32 -0
  65. package/build/constants/avatar-studio/index.js +17 -0
  66. package/build/constants/canvas-node/enums/canvas-node-error-kind.enum.js +8 -0
  67. package/build/constants/canvas-node/enums/index.js +1 -0
  68. package/build/constants/index.js +1 -0
  69. package/build/models/avatar-studio/avatar-studio.schema.js +178 -0
  70. package/build/models/avatar-studio/index.js +17 -0
  71. package/build/models/canvas-node.schema.js +8 -2
  72. package/build/models/file.schema.js +1 -1
  73. package/build/models/index.js +1 -0
  74. package/build/models/tools/video/video-job.schema.js +2 -0
  75. package/build/models/tools/video/video-model.schema.js +9 -0
  76. package/commands/avatar-studio/clip/create-avatar-studio-clip.command.ts +17 -0
  77. package/commands/avatar-studio/clip/delete-avatar-studio-clip.command.ts +12 -0
  78. package/commands/avatar-studio/clip/find-avatar-studio-clips.query.ts +16 -0
  79. package/commands/avatar-studio/clip/get-avatar-studio-clip.query.ts +13 -0
  80. package/commands/avatar-studio/clip/index.ts +5 -0
  81. package/commands/avatar-studio/clip/update-avatar-studio-clip.command.ts +21 -0
  82. package/commands/avatar-studio/export-job/find-avatar-studio-export-jobs.query.ts +18 -0
  83. package/commands/avatar-studio/export-job/get-avatar-studio-export-job.query.ts +13 -0
  84. package/commands/avatar-studio/export-job/index.ts +3 -0
  85. package/commands/avatar-studio/export-job/start-avatar-studio-export.command.ts +23 -0
  86. package/commands/avatar-studio/generation-job/find-avatar-studio-generation-jobs.query.ts +20 -0
  87. package/commands/avatar-studio/generation-job/generate-avatar-studio-frame.command.ts +26 -0
  88. package/commands/avatar-studio/generation-job/generate-avatar-studio-library-image.command.ts +25 -0
  89. package/commands/avatar-studio/generation-job/generate-avatar-studio-scene-video.command.ts +19 -0
  90. package/commands/avatar-studio/generation-job/generate-avatar-studio-scene-voice.command.ts +21 -0
  91. package/commands/avatar-studio/generation-job/generate-avatar-studio-talking-avatar.command.ts +22 -0
  92. package/commands/avatar-studio/generation-job/generate-avatar-studio-voice-timings.command.ts +20 -0
  93. package/commands/avatar-studio/generation-job/get-avatar-studio-generation-job.query.ts +13 -0
  94. package/commands/avatar-studio/generation-job/index.ts +8 -0
  95. package/commands/avatar-studio/index.ts +8 -0
  96. package/commands/avatar-studio/media/create-avatar-studio-media-from-file.command.ts +33 -0
  97. package/commands/avatar-studio/media/delete-avatar-studio-media.command.ts +12 -0
  98. package/commands/avatar-studio/media/find-avatar-studio-media.query.ts +23 -0
  99. package/commands/avatar-studio/media/index.ts +4 -0
  100. package/commands/avatar-studio/media/update-avatar-studio-media.command.ts +23 -0
  101. package/commands/avatar-studio/scene/create-avatar-studio-scene.command.ts +16 -0
  102. package/commands/avatar-studio/scene/delete-avatar-studio-scene.command.ts +12 -0
  103. package/commands/avatar-studio/scene/index.ts +4 -0
  104. package/commands/avatar-studio/scene/reorder-avatar-studio-scenes.command.ts +23 -0
  105. package/commands/avatar-studio/scene/update-avatar-studio-scene.command.ts +19 -0
  106. package/commands/avatar-studio/scriptwriter/apply-avatar-studio-scriptwriter-message.command.ts +21 -0
  107. package/commands/avatar-studio/scriptwriter/create-avatar-studio-scriptwriter-message.command.ts +64 -0
  108. package/commands/avatar-studio/scriptwriter/index.ts +2 -0
  109. package/commands/avatar-studio/shared/avatar-studio-common.schema.ts +59 -0
  110. package/commands/avatar-studio/shared/index.ts +1 -0
  111. package/commands/avatar-studio/voice/design-avatar-studio-voice.command.ts +30 -0
  112. package/commands/avatar-studio/voice/find-avatar-studio-clip-voices.query.ts +18 -0
  113. package/commands/avatar-studio/voice/find-avatar-studio-voices.query.ts +16 -0
  114. package/commands/avatar-studio/voice/index.ts +4 -0
  115. package/commands/avatar-studio/voice/update-avatar-studio-clip-voice.command.ts +18 -0
  116. package/commands/index.ts +1 -0
  117. package/constants/avatar-studio/enums/avatar-studio-export-status.enum.ts +6 -0
  118. package/constants/avatar-studio/enums/avatar-studio-image-style.enum.ts +5 -0
  119. package/constants/avatar-studio/enums/avatar-studio-job-phase.enum.ts +8 -0
  120. package/constants/avatar-studio/enums/avatar-studio-job-status.enum.ts +6 -0
  121. package/constants/avatar-studio/enums/avatar-studio-job-type.enum.ts +12 -0
  122. package/constants/avatar-studio/enums/avatar-studio-media-kind.enum.ts +5 -0
  123. package/constants/avatar-studio/enums/avatar-studio-media-role.enum.ts +10 -0
  124. package/constants/avatar-studio/enums/avatar-studio-media-source.enum.ts +9 -0
  125. package/constants/avatar-studio/enums/avatar-studio-scene-kind.enum.ts +3 -0
  126. package/constants/avatar-studio/enums/avatar-studio-scriptwriter-role.enum.ts +5 -0
  127. package/constants/avatar-studio/enums/avatar-studio-slot.enum.ts +11 -0
  128. package/constants/avatar-studio/enums/avatar-studio-subtitle-font.enum.ts +6 -0
  129. package/constants/avatar-studio/enums/avatar-studio-subtitle-mode.enum.ts +5 -0
  130. package/constants/avatar-studio/enums/avatar-studio-video-mode.enum.ts +4 -0
  131. package/constants/avatar-studio/enums/avatar-studio-video-quality.enum.ts +4 -0
  132. package/constants/avatar-studio/enums/avatar-studio-voice-source.enum.ts +5 -0
  133. package/constants/avatar-studio/enums/index.ts +16 -0
  134. package/constants/avatar-studio/index.ts +1 -0
  135. package/constants/canvas-node/enums/canvas-node-error-kind.enum.ts +4 -0
  136. package/constants/canvas-node/enums/index.ts +1 -0
  137. package/constants/index.ts +1 -0
  138. package/models/avatar-studio/avatar-studio.schema.ts +221 -0
  139. package/models/avatar-studio/index.ts +1 -0
  140. package/models/canvas-node.schema.ts +9 -2
  141. package/models/file.schema.ts +1 -1
  142. package/models/index.ts +1 -0
  143. package/models/tools/video/video-job.schema.ts +2 -0
  144. package/models/tools/video/video-model.schema.ts +9 -0
  145. package/package.json +1 -1
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ import { AvatarStudioGenerationJobSchema } from '../../../models';
3
+ import {
4
+ AvatarStudioSceneIdParamsSchema,
5
+ AvatarStudioVideoGenerationRequestSchema,
6
+ } from '../shared/avatar-studio-common.schema';
7
+
8
+ export namespace GenerateAvatarStudioTalkingAvatarCommand {
9
+ export const ParamsSchema = AvatarStudioSceneIdParamsSchema;
10
+ export type Params = z.infer<typeof ParamsSchema>;
11
+
12
+ export const RequestSchema = AvatarStudioVideoGenerationRequestSchema.extend({
13
+ imageMediaId: z.string().uuid().optional(),
14
+ audioMediaId: z.string().uuid().optional(),
15
+ }).strict();
16
+ export type Request = z.infer<typeof RequestSchema>;
17
+
18
+ export const ResponseSchema = z.object({
19
+ data: AvatarStudioGenerationJobSchema,
20
+ });
21
+ export type Response = z.infer<typeof ResponseSchema>;
22
+ }
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ import { AvatarStudioGenerationJobSchema } from '../../../models';
3
+ import { AvatarStudioSceneIdParamsSchema } from '../shared/avatar-studio-common.schema';
4
+
5
+ export namespace GenerateAvatarStudioVoiceTimingsCommand {
6
+ export const ParamsSchema = AvatarStudioSceneIdParamsSchema;
7
+ export type Params = z.infer<typeof ParamsSchema>;
8
+
9
+ export const RequestSchema = z
10
+ .object({
11
+ mediaId: z.string().uuid().optional(),
12
+ })
13
+ .strict();
14
+ export type Request = z.infer<typeof RequestSchema>;
15
+
16
+ export const ResponseSchema = z.object({
17
+ data: AvatarStudioGenerationJobSchema,
18
+ });
19
+ export type Response = z.infer<typeof ResponseSchema>;
20
+ }
@@ -0,0 +1,13 @@
1
+ import { z } from 'zod';
2
+ import { AvatarStudioGenerationJobSchema } from '../../../models';
3
+ import { AvatarStudioGenerationJobIdParamsSchema } from '../shared/avatar-studio-common.schema';
4
+
5
+ export namespace GetAvatarStudioGenerationJobQuery {
6
+ export const ParamsSchema = AvatarStudioGenerationJobIdParamsSchema;
7
+ export type Params = z.infer<typeof ParamsSchema>;
8
+
9
+ export const ResponseSchema = z.object({
10
+ data: AvatarStudioGenerationJobSchema,
11
+ });
12
+ export type Response = z.infer<typeof ResponseSchema>;
13
+ }
@@ -0,0 +1,8 @@
1
+ export * from './find-avatar-studio-generation-jobs.query';
2
+ export * from './generate-avatar-studio-frame.command';
3
+ export * from './generate-avatar-studio-library-image.command';
4
+ export * from './generate-avatar-studio-scene-video.command';
5
+ export * from './generate-avatar-studio-scene-voice.command';
6
+ export * from './generate-avatar-studio-talking-avatar.command';
7
+ export * from './generate-avatar-studio-voice-timings.command';
8
+ export * from './get-avatar-studio-generation-job.query';
@@ -0,0 +1,8 @@
1
+ export * from './clip';
2
+ export * from './export-job';
3
+ export * from './generation-job';
4
+ export * from './media';
5
+ export * from './scene';
6
+ export * from './scriptwriter';
7
+ export * from './shared';
8
+ export * from './voice';
@@ -0,0 +1,33 @@
1
+ import { z } from 'zod';
2
+ import {
3
+ AVATAR_STUDIO_MEDIA_KIND,
4
+ AVATAR_STUDIO_MEDIA_ROLE,
5
+ AVATAR_STUDIO_MEDIA_SOURCE,
6
+ } from '../../../constants';
7
+ import { AvatarStudioMediaSchema } from '../../../models';
8
+ import { AvatarStudioClipIdParamsSchema } from '../shared/avatar-studio-common.schema';
9
+
10
+ export namespace CreateAvatarStudioMediaFromFileCommand {
11
+ export const ParamsSchema = AvatarStudioClipIdParamsSchema;
12
+ export type Params = z.infer<typeof ParamsSchema>;
13
+
14
+ export const RequestSchema = z
15
+ .object({
16
+ fileId: z.string().uuid(),
17
+ sceneId: z.string().uuid().optional(),
18
+ kind: z.nativeEnum(AVATAR_STUDIO_MEDIA_KIND),
19
+ source: z
20
+ .nativeEnum(AVATAR_STUDIO_MEDIA_SOURCE)
21
+ .default(AVATAR_STUDIO_MEDIA_SOURCE.UPLOAD)
22
+ .optional(),
23
+ role: z.nativeEnum(AVATAR_STUDIO_MEDIA_ROLE),
24
+ prompt: z.string().optional(),
25
+ })
26
+ .strict();
27
+ export type Request = z.infer<typeof RequestSchema>;
28
+
29
+ export const ResponseSchema = z.object({
30
+ data: AvatarStudioMediaSchema,
31
+ });
32
+ export type Response = z.infer<typeof ResponseSchema>;
33
+ }
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+ import { AvatarStudioMediaIdParamsSchema } from '../shared/avatar-studio-common.schema';
3
+
4
+ export namespace DeleteAvatarStudioMediaCommand {
5
+ export const ParamsSchema = AvatarStudioMediaIdParamsSchema;
6
+ export type Params = z.infer<typeof ParamsSchema>;
7
+
8
+ export const ResponseSchema = z.object({
9
+ data: z.object({ uuid: z.string().uuid() }),
10
+ });
11
+ export type Response = z.infer<typeof ResponseSchema>;
12
+ }
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod';
2
+ import { AVATAR_STUDIO_MEDIA_KIND, AVATAR_STUDIO_MEDIA_ROLE } from '../../../constants';
3
+ import { AvatarStudioMediaSchema } from '../../../models';
4
+ import {
5
+ AvatarStudioClipIdParamsSchema,
6
+ AvatarStudioPagedResponseSchema,
7
+ AvatarStudioPaginationQuerySchema,
8
+ } from '../shared/avatar-studio-common.schema';
9
+
10
+ export namespace FindAvatarStudioMediaQuery {
11
+ export const ParamsSchema = AvatarStudioClipIdParamsSchema;
12
+ export type Params = z.infer<typeof ParamsSchema>;
13
+
14
+ export const QuerySchema = AvatarStudioPaginationQuerySchema.extend({
15
+ sceneId: z.string().uuid().optional(),
16
+ kind: z.nativeEnum(AVATAR_STUDIO_MEDIA_KIND).optional(),
17
+ role: z.nativeEnum(AVATAR_STUDIO_MEDIA_ROLE).optional(),
18
+ });
19
+ export type Query = z.infer<typeof QuerySchema>;
20
+
21
+ export const ResponseSchema = AvatarStudioPagedResponseSchema(AvatarStudioMediaSchema);
22
+ export type Response = z.infer<typeof ResponseSchema>;
23
+ }
@@ -0,0 +1,4 @@
1
+ export * from './create-avatar-studio-media-from-file.command';
2
+ export * from './delete-avatar-studio-media.command';
3
+ export * from './find-avatar-studio-media.query';
4
+ export * from './update-avatar-studio-media.command';
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod';
2
+ import { AVATAR_STUDIO_MEDIA_ROLE } from '../../../constants';
3
+ import { AvatarStudioMediaSchema } from '../../../models';
4
+ import { AvatarStudioMediaIdParamsSchema } from '../shared/avatar-studio-common.schema';
5
+
6
+ export namespace UpdateAvatarStudioMediaCommand {
7
+ export const ParamsSchema = AvatarStudioMediaIdParamsSchema;
8
+ export type Params = z.infer<typeof ParamsSchema>;
9
+
10
+ export const RequestSchema = z
11
+ .object({
12
+ sceneId: z.string().uuid().nullable().optional(),
13
+ role: z.nativeEnum(AVATAR_STUDIO_MEDIA_ROLE).optional(),
14
+ prompt: z.string().nullable().optional(),
15
+ })
16
+ .strict();
17
+ export type Request = z.infer<typeof RequestSchema>;
18
+
19
+ export const ResponseSchema = z.object({
20
+ data: AvatarStudioMediaSchema,
21
+ });
22
+ export type Response = z.infer<typeof ResponseSchema>;
23
+ }
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ import { AvatarStudioSceneSchema } from '../../../models';
3
+ import { AvatarStudioClipIdParamsSchema } from '../shared/avatar-studio-common.schema';
4
+
5
+ export namespace CreateAvatarStudioSceneCommand {
6
+ export const ParamsSchema = AvatarStudioClipIdParamsSchema;
7
+ export type Params = z.infer<typeof ParamsSchema>;
8
+
9
+ export const RequestSchema = z.void();
10
+ export type Request = z.infer<typeof RequestSchema>;
11
+
12
+ export const ResponseSchema = z.object({
13
+ data: AvatarStudioSceneSchema,
14
+ });
15
+ export type Response = z.infer<typeof ResponseSchema>;
16
+ }
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+ import { AvatarStudioSceneIdParamsSchema } from '../shared/avatar-studio-common.schema';
3
+
4
+ export namespace DeleteAvatarStudioSceneCommand {
5
+ export const ParamsSchema = AvatarStudioSceneIdParamsSchema;
6
+ export type Params = z.infer<typeof ParamsSchema>;
7
+
8
+ export const ResponseSchema = z.object({
9
+ data: z.object({ uuid: z.string().uuid() }),
10
+ });
11
+ export type Response = z.infer<typeof ResponseSchema>;
12
+ }
@@ -0,0 +1,4 @@
1
+ export * from './create-avatar-studio-scene.command';
2
+ export * from './delete-avatar-studio-scene.command';
3
+ export * from './reorder-avatar-studio-scenes.command';
4
+ export * from './update-avatar-studio-scene.command';
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod';
2
+ import { AvatarStudioSceneSchema } from '../../../models';
3
+ import { AvatarStudioClipIdParamsSchema } from '../shared/avatar-studio-common.schema';
4
+
5
+ export namespace ReorderAvatarStudioScenesCommand {
6
+ export const ParamsSchema = AvatarStudioClipIdParamsSchema;
7
+ export type Params = z.infer<typeof ParamsSchema>;
8
+
9
+ export const RequestSchema = z.object({
10
+ scenes: z.array(
11
+ z.object({
12
+ sceneId: z.string().uuid(),
13
+ position: z.number().int().min(0),
14
+ }),
15
+ ),
16
+ });
17
+ export type Request = z.infer<typeof RequestSchema>;
18
+
19
+ export const ResponseSchema = z.object({
20
+ data: z.array(AvatarStudioSceneSchema),
21
+ });
22
+ export type Response = z.infer<typeof ResponseSchema>;
23
+ }
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ import { AvatarStudioSceneSchema } from '../../../models';
3
+ import {
4
+ AvatarStudioSceneConfigPatchSchema,
5
+ AvatarStudioSceneIdParamsSchema,
6
+ } from '../shared/avatar-studio-common.schema';
7
+
8
+ export namespace UpdateAvatarStudioSceneCommand {
9
+ export const ParamsSchema = AvatarStudioSceneIdParamsSchema;
10
+ export type Params = z.infer<typeof ParamsSchema>;
11
+
12
+ export const RequestSchema = AvatarStudioSceneConfigPatchSchema;
13
+ export type Request = z.infer<typeof RequestSchema>;
14
+
15
+ export const ResponseSchema = z.object({
16
+ data: AvatarStudioSceneSchema,
17
+ });
18
+ export type Response = z.infer<typeof ResponseSchema>;
19
+ }
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+ import { AvatarStudioSceneSchema, AvatarStudioScriptwriterMessageSchema } from '../../../models';
3
+ import { AvatarStudioClipIdParamsSchema } from '../shared/avatar-studio-common.schema';
4
+
5
+ export namespace ApplyAvatarStudioScriptwriterMessageCommand {
6
+ export const ParamsSchema = AvatarStudioClipIdParamsSchema.extend({
7
+ messageId: z.string().uuid(),
8
+ });
9
+ export type Params = z.infer<typeof ParamsSchema>;
10
+
11
+ export const RequestSchema = z.object({}).strict().default({});
12
+ export type Request = z.infer<typeof RequestSchema>;
13
+
14
+ export const ResponseSchema = z.object({
15
+ data: z.object({
16
+ message: AvatarStudioScriptwriterMessageSchema,
17
+ scenes: z.array(AvatarStudioSceneSchema),
18
+ }),
19
+ });
20
+ export type Response = z.infer<typeof ResponseSchema>;
21
+ }
@@ -0,0 +1,64 @@
1
+ import { z } from 'zod';
2
+ import {
3
+ AvatarStudioSceneImageConfigSchema,
4
+ AvatarStudioSceneVideoConfigSchema,
5
+ AvatarStudioSceneVoiceConfigSchema,
6
+ AvatarStudioScriptwriterMessageSchema,
7
+ } from '../../../models';
8
+ import { AvatarStudioClipIdParamsSchema } from '../shared/avatar-studio-common.schema';
9
+
10
+ export namespace CreateAvatarStudioScriptwriterMessageCommand {
11
+ export const ParamsSchema = AvatarStudioClipIdParamsSchema;
12
+ export type Params = z.infer<typeof ParamsSchema>;
13
+
14
+ export const RequestSchema = z
15
+ .object({
16
+ content: z.string().trim().min(1),
17
+ sceneCount: z.number().int().min(1).max(20).optional(),
18
+ language: z.string().trim().min(1).optional(),
19
+ })
20
+ .strict();
21
+ export type Request = z.infer<typeof RequestSchema>;
22
+
23
+ export const ResponseSchema = z.object({
24
+ data: z.object({
25
+ userMessage: AvatarStudioScriptwriterMessageSchema,
26
+ assistantMessage: AvatarStudioScriptwriterMessageSchema,
27
+ }),
28
+ });
29
+ export type Response = z.infer<typeof ResponseSchema>;
30
+
31
+ export const ScenePlanSchema = z
32
+ .object({
33
+ voiceConfig: AvatarStudioSceneVoiceConfigSchema.pick({
34
+ text: true,
35
+ }),
36
+ imageConfig: AvatarStudioSceneImageConfigSchema.pick({
37
+ prompt: true,
38
+ style: true,
39
+ }).partial({
40
+ style: true,
41
+ }),
42
+ videoConfig: AvatarStudioSceneVideoConfigSchema.pick({
43
+ prompt: true,
44
+ durationSeconds: true,
45
+ videoMode: true,
46
+ quality: true,
47
+ sound: true,
48
+ }).partial({
49
+ videoMode: true,
50
+ quality: true,
51
+ sound: true,
52
+ }),
53
+ })
54
+ .strict();
55
+ export type ScenePlan = z.infer<typeof ScenePlanSchema>;
56
+
57
+ export const ModelOutputSchema = z
58
+ .object({
59
+ message: z.string().trim().min(1),
60
+ scenes: z.array(ScenePlanSchema).min(1).max(20),
61
+ })
62
+ .strict();
63
+ export type ModelOutput = z.infer<typeof ModelOutputSchema>;
64
+ }
@@ -0,0 +1,2 @@
1
+ export * from './apply-avatar-studio-scriptwriter-message.command';
2
+ export * from './create-avatar-studio-scriptwriter-message.command';
@@ -0,0 +1,59 @@
1
+ import { z } from 'zod';
2
+ import { AVATAR_STUDIO_VIDEO_MODE, AVATAR_STUDIO_VIDEO_QUALITY } from '../../../constants';
3
+ import {
4
+ AvatarStudioSceneImageConfigSchema,
5
+ AvatarStudioSceneVideoConfigSchema,
6
+ AvatarStudioSceneVoiceConfigSchema,
7
+ } from '../../../models';
8
+
9
+ export const AvatarStudioClipIdParamsSchema = z.object({
10
+ clipId: z.string().uuid(),
11
+ });
12
+
13
+ export const AvatarStudioSceneIdParamsSchema = AvatarStudioClipIdParamsSchema.extend({
14
+ sceneId: z.string().uuid(),
15
+ });
16
+
17
+ export const AvatarStudioMediaIdParamsSchema = AvatarStudioClipIdParamsSchema.extend({
18
+ mediaId: z.string().uuid(),
19
+ });
20
+
21
+ export const AvatarStudioGenerationJobIdParamsSchema = z.object({
22
+ jobId: z.string().uuid(),
23
+ });
24
+
25
+ export const AvatarStudioExportJobIdParamsSchema = z.object({
26
+ jobId: z.string().uuid(),
27
+ });
28
+
29
+ export const AvatarStudioPaginationQuerySchema = z.object({
30
+ limit: z.coerce.number().int().min(1).max(100).default(20).optional(),
31
+ offset: z.coerce.number().int().min(0).default(0).optional(),
32
+ });
33
+
34
+ export const AvatarStudioPagedResponseSchema = <T extends z.ZodTypeAny>(schema: T) =>
35
+ z.object({
36
+ data: z.array(schema),
37
+ page: z.number(),
38
+ totalPages: z.number(),
39
+ });
40
+
41
+ export const AvatarStudioUuidListSchema = z.array(z.string().uuid()).default([]);
42
+
43
+ export const AvatarStudioSceneConfigPatchSchema = z
44
+ .object({
45
+ voiceConfig: AvatarStudioSceneVoiceConfigSchema.strict().partial().optional(),
46
+ imageConfig: AvatarStudioSceneImageConfigSchema.strict().partial().optional(),
47
+ videoConfig: AvatarStudioSceneVideoConfigSchema.strict().partial().optional(),
48
+ })
49
+ .strict();
50
+
51
+ export const AvatarStudioVideoGenerationRequestSchema = z
52
+ .object({
53
+ prompt: z.string().trim().min(1).optional(),
54
+ durationSeconds: z.number().positive().optional(),
55
+ videoMode: z.nativeEnum(AVATAR_STUDIO_VIDEO_MODE).optional(),
56
+ quality: z.nativeEnum(AVATAR_STUDIO_VIDEO_QUALITY).optional(),
57
+ sound: z.boolean().optional(),
58
+ })
59
+ .strict();
@@ -0,0 +1 @@
1
+ export * from './avatar-studio-common.schema';
@@ -0,0 +1,30 @@
1
+ import { z } from 'zod';
2
+ import {
3
+ AvatarStudioGenerationJobSchema,
4
+ AvatarStudioMediaSchema,
5
+ AvatarStudioVoiceSchema,
6
+ } from '../../../models';
7
+ import { AvatarStudioClipIdParamsSchema } from '../shared/avatar-studio-common.schema';
8
+
9
+ export namespace DesignAvatarStudioVoiceCommand {
10
+ export const ParamsSchema = AvatarStudioClipIdParamsSchema;
11
+ export type Params = z.infer<typeof ParamsSchema>;
12
+
13
+ export const RequestSchema = z
14
+ .object({
15
+ title: z.string().trim().min(1).optional(),
16
+ instruction: z.string().trim().min(1),
17
+ language: z.string().trim().min(2).optional(),
18
+ })
19
+ .strict();
20
+ export type Request = z.infer<typeof RequestSchema>;
21
+
22
+ export const ResponseSchema = z.object({
23
+ data: z.object({
24
+ job: AvatarStudioGenerationJobSchema,
25
+ voice: AvatarStudioVoiceSchema,
26
+ media: AvatarStudioMediaSchema,
27
+ }),
28
+ });
29
+ export type Response = z.infer<typeof ResponseSchema>;
30
+ }
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ import { AvatarStudioVoiceSchema } from '../../../models';
3
+ import {
4
+ AvatarStudioClipIdParamsSchema,
5
+ AvatarStudioPagedResponseSchema,
6
+ AvatarStudioPaginationQuerySchema,
7
+ } from '../shared/avatar-studio-common.schema';
8
+
9
+ export namespace FindAvatarStudioClipVoicesQuery {
10
+ export const ParamsSchema = AvatarStudioClipIdParamsSchema;
11
+ export type Params = z.infer<typeof ParamsSchema>;
12
+
13
+ export const QuerySchema = AvatarStudioPaginationQuerySchema;
14
+ export type Query = z.infer<typeof QuerySchema>;
15
+
16
+ export const ResponseSchema = AvatarStudioPagedResponseSchema(AvatarStudioVoiceSchema);
17
+ export type Response = z.infer<typeof ResponseSchema>;
18
+ }
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ import { AvatarStudioVoiceSchema } from '../../../models';
3
+ import {
4
+ AvatarStudioPagedResponseSchema,
5
+ AvatarStudioPaginationQuerySchema,
6
+ } from '../shared/avatar-studio-common.schema';
7
+
8
+ export namespace FindAvatarStudioVoicesQuery {
9
+ export const QuerySchema = AvatarStudioPaginationQuerySchema.extend({
10
+ clipId: z.string().uuid().optional(),
11
+ });
12
+ export type Query = z.infer<typeof QuerySchema>;
13
+
14
+ export const ResponseSchema = AvatarStudioPagedResponseSchema(AvatarStudioVoiceSchema);
15
+ export type Response = z.infer<typeof ResponseSchema>;
16
+ }
@@ -0,0 +1,4 @@
1
+ export * from './design-avatar-studio-voice.command';
2
+ export * from './find-avatar-studio-clip-voices.query';
3
+ export * from './find-avatar-studio-voices.query';
4
+ export * from './update-avatar-studio-clip-voice.command';
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ import { AvatarStudioClipSchema } from '../../../models';
3
+ import { AvatarStudioClipIdParamsSchema } from '../shared/avatar-studio-common.schema';
4
+
5
+ export namespace UpdateAvatarStudioClipVoiceCommand {
6
+ export const ParamsSchema = AvatarStudioClipIdParamsSchema;
7
+ export type Params = z.infer<typeof ParamsSchema>;
8
+
9
+ export const RequestSchema = z.object({
10
+ voiceId: z.string().uuid().nullable(),
11
+ });
12
+ export type Request = z.infer<typeof RequestSchema>;
13
+
14
+ export const ResponseSchema = z.object({
15
+ data: AvatarStudioClipSchema,
16
+ });
17
+ export type Response = z.infer<typeof ResponseSchema>;
18
+ }
package/commands/index.ts CHANGED
@@ -2,6 +2,7 @@ export * from './account-merge';
2
2
  export * from './agents';
3
3
  export * from './ai-model';
4
4
  export * from './ai-vendor';
5
+ export * from './avatar-studio';
5
6
  export * from './auth';
6
7
  export * from './blog';
7
8
  export * from './ai-studio/canvas';
@@ -0,0 +1,6 @@
1
+ export enum AVATAR_STUDIO_EXPORT_STATUS {
2
+ PENDING = 'pending',
3
+ PROCESSING = 'processing',
4
+ COMPLETED = 'completed',
5
+ FAILED = 'failed',
6
+ }
@@ -0,0 +1,5 @@
1
+ export enum AVATAR_STUDIO_IMAGE_STYLE {
2
+ UGC = 'ugc',
3
+ CINEMATIC = 'cinematic',
4
+ STUDIO = 'studio',
5
+ }
@@ -0,0 +1,8 @@
1
+ export enum AVATAR_STUDIO_JOB_PHASE {
2
+ REQUESTED = 'requested',
3
+ TOOL_JOB_STARTED = 'tool_job_started',
4
+ TTS = 'tts',
5
+ STT = 'stt',
6
+ SAVING_MEDIA = 'saving_media',
7
+ COMPLETED = 'completed',
8
+ }
@@ -0,0 +1,6 @@
1
+ export enum AVATAR_STUDIO_JOB_STATUS {
2
+ PENDING = 'pending',
3
+ PROCESSING = 'processing',
4
+ COMPLETED = 'completed',
5
+ FAILED = 'failed',
6
+ }
@@ -0,0 +1,12 @@
1
+ export enum AVATAR_STUDIO_JOB_TYPE {
2
+ FRAME_IMAGE = 'frame_image',
3
+ LIBRARY_IMAGE = 'library_image',
4
+ SCENE_VIDEO = 'scene_video',
5
+ SCENE_VOICE = 'scene_voice',
6
+ VOICE_TTS = 'voice_tts',
7
+ VOICE_STT = 'voice_stt',
8
+ VOICE_TIMINGS = 'voice_timings',
9
+ TALKING_AVATAR = 'talking_avatar',
10
+ VOICE_DESIGN = 'voice_design',
11
+ SCRIPTWRITER = 'scriptwriter',
12
+ }
@@ -0,0 +1,5 @@
1
+ export enum AVATAR_STUDIO_MEDIA_KIND {
2
+ IMAGE = 'image',
3
+ VIDEO = 'video',
4
+ AUDIO = 'audio',
5
+ }
@@ -0,0 +1,10 @@
1
+ export enum AVATAR_STUDIO_MEDIA_ROLE {
2
+ FRAME = 'frame',
3
+ REFERENCE = 'reference',
4
+ LIBRARY = 'library',
5
+ SCENE_VIDEO = 'scene_video',
6
+ AVATAR_VIDEO = 'avatar_video',
7
+ VOICE = 'voice',
8
+ VOICE_SAMPLE = 'voice_sample',
9
+ EXPORT = 'export',
10
+ }
@@ -0,0 +1,9 @@
1
+ export enum AVATAR_STUDIO_MEDIA_SOURCE {
2
+ UPLOAD = 'upload',
3
+ FRAME_GENERATION = 'frame_generation',
4
+ LIBRARY_GENERATION = 'library_generation',
5
+ VIDEO_GENERATION = 'video_generation',
6
+ TTS = 'tts',
7
+ VOICE_DESIGN = 'voice_design',
8
+ EXPORT = 'export',
9
+ }
@@ -0,0 +1,3 @@
1
+ export enum AVATAR_STUDIO_SCENE_KIND {
2
+ SCENE = 'scene',
3
+ }
@@ -0,0 +1,5 @@
1
+ export enum AVATAR_STUDIO_SCRIPTWRITER_ROLE {
2
+ USER = 'user',
3
+ ASSISTANT = 'assistant',
4
+ SYSTEM = 'system',
5
+ }
@@ -0,0 +1,11 @@
1
+ export enum AVATAR_STUDIO_SLOT {
2
+ FRAME = 'frame',
3
+ VIDEO = 'video',
4
+ VOICE = 'voice',
5
+ AVATAR = 'avatar',
6
+ LIBRARY = 'library',
7
+ VOICE_TIMINGS = 'voice_timings',
8
+ VOICE_SAMPLE = 'voice_sample',
9
+ SCRIPTWRITER = 'scriptwriter',
10
+ EXPORT = 'export',
11
+ }
@@ -0,0 +1,6 @@
1
+ export enum AVATAR_STUDIO_SUBTITLE_FONT {
2
+ ROBOTO_REGULAR = 'roboto_regular',
3
+ ROBOTO_MEDIUM = 'roboto_medium',
4
+ ROBOTO_ITALIC = 'roboto_italic',
5
+ ROBOTO_MEDIUM_ITALIC = 'roboto_medium_italic',
6
+ }
@@ -0,0 +1,5 @@
1
+ export enum AVATAR_STUDIO_SUBTITLE_MODE {
2
+ NONE = 'none',
3
+ ONE_WORD = 'one_word',
4
+ THREE_WORDS = 'three_words',
5
+ }
@@ -0,0 +1,4 @@
1
+ export enum AVATAR_STUDIO_VIDEO_MODE {
2
+ B_ROLL = 'b_roll',
3
+ AVATAR = 'avatar',
4
+ }
@@ -0,0 +1,4 @@
1
+ export enum AVATAR_STUDIO_VIDEO_QUALITY {
2
+ P720 = '720p',
3
+ P1080 = '1080p',
4
+ }