@indreamai/client 0.3.0 → 0.4.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/dist/index.d.cts CHANGED
@@ -109,6 +109,190 @@ interface components {
109
109
  width: number | null;
110
110
  height: number | null;
111
111
  duration: number | null;
112
+ captions?: components["schemas"]["CaptionEntry"][];
113
+ /** @enum {string} */
114
+ timingGranularity?: "word" | "line";
115
+ };
116
+ CaptionEntry: {
117
+ text: string;
118
+ startMs: number;
119
+ endMs: number;
120
+ timestampMs?: number | null;
121
+ };
122
+ IllustrationSearchItem: {
123
+ /** Format: uuid */
124
+ illustrationId: string;
125
+ illustrationName: string;
126
+ title: string;
127
+ keywords: string[];
128
+ };
129
+ VoiceSearchItem: {
130
+ /** Format: uuid */
131
+ voiceId: string;
132
+ name: string;
133
+ languageTags: string[];
134
+ previewUrl: string | null;
135
+ isSystem: boolean;
136
+ };
137
+ /** @enum {string} */
138
+ MediaModelType: "image" | "video" | "music";
139
+ /** @enum {string} */
140
+ MediaAssetMode: "TEXT" | "FIRST_FRAME" | "LAST_FRAME" | "FIRST_LAST_FRAME" | "REFERENCE_IMAGE" | "REFERENCE_MEDIA" | "VIDEO_EDITING";
141
+ MediaModelSupports: {
142
+ textPrompt: boolean;
143
+ referenceAssets: boolean;
144
+ negativePrompt: boolean;
145
+ durationControl: boolean;
146
+ aspectRatioControl: boolean;
147
+ textRendering: boolean;
148
+ humanRealism: boolean;
149
+ styleControl: boolean;
150
+ lyrics: boolean;
151
+ instrumentalToggle: boolean;
152
+ };
153
+ MediaModelListItem: {
154
+ capabilityKey: string;
155
+ name: string;
156
+ type: components["schemas"]["MediaModelType"];
157
+ summary: string;
158
+ tags: string[];
159
+ assetModes: components["schemas"]["MediaAssetMode"][];
160
+ duration: string | null;
161
+ isMemberOnly: boolean;
162
+ supports: components["schemas"]["MediaModelSupports"];
163
+ badges: string[];
164
+ };
165
+ MediaModelFieldSchema: {
166
+ name: string;
167
+ /** @enum {string} */
168
+ type: "string" | "number" | "boolean" | "string[]";
169
+ required: boolean;
170
+ description: string;
171
+ enum?: (string | number)[];
172
+ min?: number;
173
+ max?: number;
174
+ step?: number;
175
+ default?: unknown;
176
+ };
177
+ MediaModelDetail: components["schemas"]["MediaModelListItem"] & {
178
+ defaults: {
179
+ [key: string]: unknown;
180
+ };
181
+ inputSchema: components["schemas"]["MediaModelFieldSchema"][];
182
+ examples: components["schemas"]["MediaGenerationRequest"][];
183
+ recommendationHints: string[];
184
+ };
185
+ MediaModelRecommendationConstraints: {
186
+ aspectRatio?: string;
187
+ durationSeconds?: number;
188
+ hasReferenceAssets?: boolean;
189
+ /** @enum {string} */
190
+ qualityPriority?: "low" | "balanced" | "high";
191
+ /** @enum {string} */
192
+ speedPriority?: "low" | "balanced" | "high";
193
+ /** @enum {string} */
194
+ budgetPriority?: "low" | "balanced" | "high";
195
+ needsNegativePrompt?: boolean;
196
+ needsTextRendering?: boolean;
197
+ needsHumanRealism?: boolean;
198
+ needsStyleControl?: boolean;
199
+ needsLyrics?: boolean;
200
+ forceInstrumental?: boolean;
201
+ };
202
+ MediaModelRecommendationRequest: {
203
+ type: components["schemas"]["MediaModelType"];
204
+ /** @enum {string} */
205
+ goal: "product-shot" | "concept-art" | "illustration" | "text-graphic" | "cinematic-broll" | "product-demo" | "social-short" | "talking-head" | "instrumental-bed" | "cinematic-score" | "upbeat-theme" | "lyrics-song" | "ambient-texture" | "quick-draft";
206
+ /** @enum {string} */
207
+ promptMode?: "textOnly" | "referenceFirst" | "editExisting";
208
+ constraints?: components["schemas"]["MediaModelRecommendationConstraints"];
209
+ /** @default 3 */
210
+ maxResults: number;
211
+ };
212
+ MediaModelRecommendationItem: {
213
+ capabilityKey: string;
214
+ name: string;
215
+ rank: number;
216
+ /** @enum {string} */
217
+ badge: "recommended" | "fastest" | "highest-quality";
218
+ why: string;
219
+ tradeoffs: string[];
220
+ minimalRequestExample: components["schemas"]["MediaGenerationRequest"];
221
+ };
222
+ /**
223
+ * @description Generic media generation request. Supported fields depend on `capabilityKey`.
224
+ * Use capability-specific docs or product guidance for the exact accepted payload shape.
225
+ */
226
+ MediaGenerationRequest: {
227
+ capabilityKey: string;
228
+ /** Format: uuid */
229
+ projectId?: string;
230
+ /** Format: uuid */
231
+ parentAssetId?: string;
232
+ /** Format: uuid */
233
+ sourceAssetId?: string;
234
+ /** @enum {string} */
235
+ originRefType?: "EDITOR" | "CANVAS" | "WORKSPACE" | "GENERATOR" | "TOOL" | "TTS" | "VOICE_CLONE";
236
+ prompt?: string;
237
+ negativePrompt?: string;
238
+ referenceAssets?: string[];
239
+ videoEditAssets?: string[];
240
+ /** Format: uuid */
241
+ firstFrameAssetId?: string;
242
+ /** Format: uuid */
243
+ lastFrameAssetId?: string;
244
+ assetMode?: string;
245
+ resolution?: string;
246
+ aspectRatio?: string;
247
+ duration?: string;
248
+ width?: number;
249
+ height?: number;
250
+ quantity?: number;
251
+ seed?: number;
252
+ steps?: number;
253
+ outputFormat?: string;
254
+ outputQuality?: number;
255
+ referenceStrength?: number;
256
+ guidanceScale?: number;
257
+ styleId?: string;
258
+ loraIds?: string[];
259
+ inputExtra?: {
260
+ [key: string]: unknown;
261
+ };
262
+ } & {
263
+ [key: string]: unknown;
264
+ };
265
+ MediaTaskResponseData: {
266
+ /** Format: uuid */
267
+ taskId: string;
268
+ outTaskId?: string | null;
269
+ };
270
+ TtsCreateRequest: {
271
+ /** Format: uuid */
272
+ voiceId: string;
273
+ text: string;
274
+ };
275
+ TtsTaskResponseData: {
276
+ /** Format: uuid */
277
+ taskId: string;
278
+ };
279
+ AutoCaptionsCreateRequest: {
280
+ /** Format: uuid */
281
+ assetId: string;
282
+ };
283
+ CaptionPreview: {
284
+ lineCount: number;
285
+ /** @enum {string} */
286
+ timingGranularity: "word" | "line";
287
+ };
288
+ AutoCaptionsResponseData: {
289
+ /** Format: uuid */
290
+ taskId: string;
291
+ /** Format: uuid */
292
+ assetId: string;
293
+ billedSeconds: number;
294
+ chargedCredits: string;
295
+ preview: components["schemas"]["CaptionPreview"];
112
296
  };
113
297
  /** @description Export creation response shared by stateless and project-based export routes. */
114
298
  CreateExportResponseData: {
@@ -330,6 +514,58 @@ interface components {
330
514
  [key: string]: unknown;
331
515
  };
332
516
  };
517
+ IllustrationSearchResponseEnvelope: {
518
+ data: components["schemas"]["IllustrationSearchItem"][];
519
+ meta: {
520
+ nextPageCursor?: string | null;
521
+ } & {
522
+ [key: string]: unknown;
523
+ };
524
+ };
525
+ VoiceSearchResponseEnvelope: {
526
+ data: components["schemas"]["VoiceSearchItem"][];
527
+ meta: {
528
+ [key: string]: unknown;
529
+ };
530
+ };
531
+ MediaModelListResponseEnvelope: {
532
+ data: components["schemas"]["MediaModelListItem"][];
533
+ meta: {
534
+ nextPageCursor?: string | null;
535
+ } & {
536
+ [key: string]: unknown;
537
+ };
538
+ };
539
+ MediaModelDetailResponseEnvelope: {
540
+ data: components["schemas"]["MediaModelDetail"];
541
+ meta: {
542
+ [key: string]: unknown;
543
+ };
544
+ };
545
+ MediaModelRecommendResponseEnvelope: {
546
+ data: components["schemas"]["MediaModelRecommendationItem"][];
547
+ meta: {
548
+ [key: string]: unknown;
549
+ };
550
+ };
551
+ MediaTaskResponseEnvelope: {
552
+ data: components["schemas"]["MediaTaskResponseData"];
553
+ meta: {
554
+ [key: string]: unknown;
555
+ };
556
+ };
557
+ TtsTaskResponseEnvelope: {
558
+ data: components["schemas"]["TtsTaskResponseData"];
559
+ meta: {
560
+ [key: string]: unknown;
561
+ };
562
+ };
563
+ AutoCaptionsResponseEnvelope: {
564
+ data: components["schemas"]["AutoCaptionsResponseData"];
565
+ meta: {
566
+ [key: string]: unknown;
567
+ };
568
+ };
333
569
  EditorValidateResponseEnvelope: {
334
570
  data: components["schemas"]["EditorValidationResult"];
335
571
  meta: {
@@ -349,6 +585,13 @@ interface components {
349
585
  } & {
350
586
  [key: string]: unknown;
351
587
  };
588
+ captionEntry: {
589
+ text: string;
590
+ startMs: number;
591
+ endMs: number;
592
+ timestampMs?: number | null;
593
+ confidence?: number | null;
594
+ };
352
595
  primitive: string | number | boolean;
353
596
  animationSpec: {
354
597
  /** @enum {string} */
@@ -359,8 +602,6 @@ interface components {
359
602
  params?: {
360
603
  [key: string]: components["schemas"]["primitive"];
361
604
  };
362
- } & {
363
- [key: string]: unknown;
364
605
  };
365
606
  captionAnimationSpec: {
366
607
  /** @enum {string} */
@@ -371,15 +612,15 @@ interface components {
371
612
  params?: {
372
613
  [key: string]: components["schemas"]["primitive"];
373
614
  };
374
- } & {
375
- [key: string]: unknown;
376
615
  };
377
616
  keyframePoint: {
617
+ /** @description Local clip time in ticks. Service-level semantic validation requires timeTicks < item.durationTicks. */
378
618
  timeTicks: number;
379
619
  value: number;
380
620
  };
381
621
  animatedNumberTrack: {
382
622
  value: number;
623
+ /** @description Keyframes are expressed in local clip ticks and must stay inside the clip range. */
383
624
  keyframes: components["schemas"]["keyframePoint"][];
384
625
  };
385
626
  timelineItemBase: {
@@ -407,18 +648,123 @@ interface components {
407
648
  in?: components["schemas"]["animationSpec"];
408
649
  out?: components["schemas"]["animationSpec"];
409
650
  };
651
+ fontStyle: {
652
+ variant: string;
653
+ weight: string;
654
+ };
655
+ textBackground: {
656
+ color: string;
657
+ horizontalPadding: number;
658
+ borderRadius: number;
659
+ };
410
660
  captionClipAnimations: {
411
661
  in?: components["schemas"]["captionAnimationSpec"];
412
662
  out?: components["schemas"]["captionAnimationSpec"];
413
663
  loop?: components["schemas"]["captionAnimationSpec"];
414
664
  };
665
+ textTemplateImageNode: {
666
+ id: string;
667
+ /** @constant */
668
+ type: "image";
669
+ /** @enum {string} */
670
+ imageType: "svg" | "lottie";
671
+ imageComponentId: string | null;
672
+ imageLottieJson: {
673
+ [key: string]: unknown;
674
+ } | null;
675
+ x: number;
676
+ y: number;
677
+ width: number;
678
+ height: number;
679
+ opacity: number;
680
+ animations?: components["schemas"]["clipAnimations"];
681
+ };
682
+ textTemplateTextNode: {
683
+ id: string;
684
+ /** @constant */
685
+ type: "text";
686
+ x: number;
687
+ y: number;
688
+ width: number;
689
+ height: number;
690
+ text: string;
691
+ color: string;
692
+ /** @enum {string} */
693
+ align: "left" | "center" | "right";
694
+ fontFamily: string;
695
+ fontStyle: components["schemas"]["fontStyle"];
696
+ fontSize: number;
697
+ lineHeight: number;
698
+ letterSpacing: number;
699
+ /** @enum {string} */
700
+ direction: "ltr" | "rtl";
701
+ strokeWidth: number;
702
+ strokeColor: string;
703
+ background: null | components["schemas"]["textBackground"];
704
+ animations?: components["schemas"]["clipAnimations"];
705
+ captionAnimations?: components["schemas"]["captionClipAnimations"];
706
+ };
707
+ chartSeries: {
708
+ key: string;
709
+ label: string;
710
+ };
711
+ chartRowValues: {
712
+ [key: string]: number;
713
+ };
714
+ chartXYRow: {
715
+ label: string;
716
+ values: components["schemas"]["chartRowValues"];
717
+ };
718
+ chartXYData: {
719
+ series: components["schemas"]["chartSeries"][];
720
+ rows: components["schemas"]["chartXYRow"][];
721
+ };
722
+ chartPieSlice: {
723
+ label: string;
724
+ value: number;
725
+ };
726
+ chartPieData: {
727
+ slices: components["schemas"]["chartPieSlice"][];
728
+ };
729
+ chartScatterPoint: {
730
+ seriesKey: string;
731
+ x: number;
732
+ y: number;
733
+ };
734
+ chartScatterData: {
735
+ series: components["schemas"]["chartSeries"][];
736
+ points: components["schemas"]["chartScatterPoint"][];
737
+ };
738
+ assetUploadProgress: {
739
+ progress: number;
740
+ loadedBytes: number;
741
+ totalBytes: number;
742
+ };
743
+ assetUploadState: {
744
+ /** @constant */
745
+ type: "pending-upload";
746
+ } | {
747
+ /** @constant */
748
+ type: "in-progress";
749
+ progress: components["schemas"]["assetUploadProgress"];
750
+ } | {
751
+ /** @constant */
752
+ type: "uploaded";
753
+ } | {
754
+ /** @constant */
755
+ type: "error";
756
+ error: string | null | {
757
+ [key: string]: unknown;
758
+ };
759
+ canRetry: boolean;
760
+ };
761
+ /** @description One timeline track. Items in the same track must not overlap in time, but may touch end-to-start. */
415
762
  track: {
416
763
  id: string;
764
+ /** @description Ordered item ids for a single track. Same-track items cannot overlap in time. */
417
765
  items: string[];
418
766
  hidden: boolean;
419
767
  muted: boolean;
420
- } & {
421
- [key: string]: unknown;
422
768
  };
423
769
  imageAsset: components["schemas"]["baseAsset"] & {
424
770
  /** @constant */
@@ -451,9 +797,7 @@ interface components {
451
797
  captionAsset: components["schemas"]["baseAsset"] & {
452
798
  /** @constant */
453
799
  type: "caption";
454
- captions: {
455
- [key: string]: unknown;
456
- }[];
800
+ captions: components["schemas"]["captionEntry"][];
457
801
  /** @enum {string} */
458
802
  timingGranularity: "word" | "line";
459
803
  };
@@ -549,12 +893,7 @@ interface components {
549
893
  /** @enum {string} */
550
894
  align: "left" | "center" | "right";
551
895
  fontFamily: string;
552
- fontStyle: {
553
- variant: string;
554
- weight: string;
555
- } & {
556
- [key: string]: unknown;
557
- };
896
+ fontStyle: components["schemas"]["fontStyle"];
558
897
  fontSize: number;
559
898
  lineHeight: number;
560
899
  letterSpacing: number;
@@ -563,13 +902,7 @@ interface components {
563
902
  direction: "ltr" | "rtl";
564
903
  strokeWidth: number;
565
904
  strokeColor: string;
566
- background?: null | ({
567
- color: string;
568
- horizontalPadding: number;
569
- borderRadius: number;
570
- } & {
571
- [key: string]: unknown;
572
- });
905
+ background?: null | components["schemas"]["textBackground"];
573
906
  rotation?: components["schemas"]["animatedNumberTrack"];
574
907
  animations?: components["schemas"]["clipAnimations"];
575
908
  captionAnimations?: components["schemas"]["captionClipAnimations"];
@@ -581,12 +914,7 @@ interface components {
581
914
  schemaVersion: 2;
582
915
  templateId: string;
583
916
  templateCategory: string;
584
- nodes: ({
585
- /** @enum {string} */
586
- type: "image" | "text";
587
- } & {
588
- [key: string]: unknown;
589
- })[];
917
+ nodes: (components["schemas"]["textTemplateImageNode"] | components["schemas"]["textTemplateTextNode"])[];
590
918
  rotation?: components["schemas"]["animatedNumberTrack"];
591
919
  animations?: components["schemas"]["clipAnimations"];
592
920
  };
@@ -595,12 +923,7 @@ interface components {
595
923
  type: "captions";
596
924
  assetId: string;
597
925
  fontFamily: string;
598
- fontStyle: {
599
- variant: string;
600
- weight: string;
601
- } & {
602
- [key: string]: unknown;
603
- };
926
+ fontStyle: components["schemas"]["fontStyle"];
604
927
  lineHeight: number;
605
928
  letterSpacing: number;
606
929
  fontSize: number;
@@ -613,18 +936,12 @@ interface components {
613
936
  /** @enum {string} */
614
937
  direction: "ltr" | "rtl";
615
938
  pageDurationInMilliseconds: number;
616
- captionStartInSeconds: number;
617
939
  maxLines: number;
940
+ contentStartOffsetMs: number;
618
941
  /** @enum {string} */
619
942
  source: "manual" | "auto" | "upload";
620
943
  captionGroupId: string | null;
621
- background: null | ({
622
- color: string;
623
- horizontalPadding: number;
624
- borderRadius: number;
625
- } & {
626
- [key: string]: unknown;
627
- });
944
+ background: null | components["schemas"]["textBackground"];
628
945
  rotation?: components["schemas"]["animatedNumberTrack"];
629
946
  animations?: components["schemas"]["clipAnimations"];
630
947
  captionAnimations?: components["schemas"]["captionClipAnimations"];
@@ -669,19 +986,73 @@ interface components {
669
986
  [key: string]: components["schemas"]["primitive"];
670
987
  };
671
988
  };
672
- chartItem: components["schemas"]["baseItem"] & {
989
+ chartItem: components["schemas"]["baseItem"] & ({
673
990
  /** @constant */
674
991
  type: "chart";
675
- chartType: string;
992
+ /** @constant */
993
+ chartType: "line";
676
994
  themeColor: string;
677
- data: {
678
- [key: string]: unknown;
679
- };
995
+ data: components["schemas"]["chartXYData"];
680
996
  animationDurationTicks: number;
681
997
  keepAspectRatio: boolean;
682
998
  rotation: components["schemas"]["animatedNumberTrack"];
683
999
  animations?: components["schemas"]["clipAnimations"];
684
- };
1000
+ } | {
1001
+ /** @constant */
1002
+ type: "chart";
1003
+ /** @constant */
1004
+ chartType: "bar";
1005
+ themeColor: string;
1006
+ data: components["schemas"]["chartXYData"];
1007
+ animationDurationTicks: number;
1008
+ keepAspectRatio: boolean;
1009
+ rotation: components["schemas"]["animatedNumberTrack"];
1010
+ animations?: components["schemas"]["clipAnimations"];
1011
+ } | {
1012
+ /** @constant */
1013
+ type: "chart";
1014
+ /** @constant */
1015
+ chartType: "area";
1016
+ themeColor: string;
1017
+ data: components["schemas"]["chartXYData"];
1018
+ animationDurationTicks: number;
1019
+ keepAspectRatio: boolean;
1020
+ rotation: components["schemas"]["animatedNumberTrack"];
1021
+ animations?: components["schemas"]["clipAnimations"];
1022
+ } | {
1023
+ /** @constant */
1024
+ type: "chart";
1025
+ /** @constant */
1026
+ chartType: "pie";
1027
+ themeColor: string;
1028
+ data: components["schemas"]["chartPieData"];
1029
+ animationDurationTicks: number;
1030
+ keepAspectRatio: boolean;
1031
+ rotation: components["schemas"]["animatedNumberTrack"];
1032
+ animations?: components["schemas"]["clipAnimations"];
1033
+ } | {
1034
+ /** @constant */
1035
+ type: "chart";
1036
+ /** @constant */
1037
+ chartType: "radar";
1038
+ themeColor: string;
1039
+ data: components["schemas"]["chartXYData"];
1040
+ animationDurationTicks: number;
1041
+ keepAspectRatio: boolean;
1042
+ rotation: components["schemas"]["animatedNumberTrack"];
1043
+ animations?: components["schemas"]["clipAnimations"];
1044
+ } | {
1045
+ /** @constant */
1046
+ type: "chart";
1047
+ /** @constant */
1048
+ chartType: "scatter";
1049
+ themeColor: string;
1050
+ data: components["schemas"]["chartScatterData"];
1051
+ animationDurationTicks: number;
1052
+ keepAspectRatio: boolean;
1053
+ rotation: components["schemas"]["animatedNumberTrack"];
1054
+ animations?: components["schemas"]["clipAnimations"];
1055
+ });
685
1056
  transition: {
686
1057
  id: string;
687
1058
  trackId: string;
@@ -695,46 +1066,44 @@ interface components {
695
1066
  params?: {
696
1067
  [key: string]: components["schemas"]["primitive"];
697
1068
  };
698
- } & {
699
- [key: string]: unknown;
700
1069
  };
701
1070
  globalBackground: {
702
1071
  /** @constant */
703
1072
  type: "none";
704
- } | ({
1073
+ } | {
705
1074
  /** @constant */
706
1075
  type: "color";
707
1076
  color: string;
708
1077
  gradient: string | null;
709
- } & {
710
- [key: string]: unknown;
711
- }) | {
1078
+ } | {
712
1079
  /** @constant */
713
1080
  type: "blur";
714
1081
  /** @enum {integer} */
715
1082
  level: 0 | 1 | 2 | 3 | 4;
716
- } | ({
1083
+ } | {
717
1084
  /** @constant */
718
1085
  type: "image";
719
1086
  imageAssetId: string | null;
720
1087
  imageUrl: string;
721
1088
  /** @enum {string} */
722
1089
  source: "preset" | "custom";
723
- } & {
724
- [key: string]: unknown;
725
- });
726
- brandRuntime: ({
727
- brandId?: string | null;
728
- logoX?: number;
729
- logoY?: number;
730
- managedItemIds?: string[];
731
- managedAssetIds?: string[];
732
- introShiftInFrames?: number;
733
- overlayTrackId?: string | null;
734
- underlayTrackId?: string | null;
735
- } & {
736
- [key: string]: unknown;
737
- }) | null;
1090
+ };
1091
+ brandRuntime: null | {
1092
+ brandId: string | null;
1093
+ logoX: number;
1094
+ logoY: number;
1095
+ managedItemIds: string[];
1096
+ managedAssetIds: string[];
1097
+ introShiftInFrames: number;
1098
+ overlayTrackId: string | null;
1099
+ underlayTrackId: string | null;
1100
+ };
1101
+ deletedAssetEntry: {
1102
+ assetId: string;
1103
+ remoteUrl: string | null;
1104
+ remoteKey: string | null;
1105
+ statusAtDeletion: components["schemas"]["assetUploadState"];
1106
+ };
738
1107
  /** IndreamEditorStateV1 */
739
1108
  "editor-state.v1.schema": {
740
1109
  compositionWidth: number;
@@ -755,9 +1124,7 @@ interface components {
755
1124
  };
756
1125
  globalBackground?: components["schemas"]["globalBackground"];
757
1126
  brandRuntime?: components["schemas"]["brandRuntime"];
758
- deletedAssets?: {
759
- [key: string]: unknown;
760
- }[];
1127
+ deletedAssets?: components["schemas"]["deletedAssetEntry"][];
761
1128
  } & {
762
1129
  [key: string]: unknown;
763
1130
  };
@@ -799,6 +1166,23 @@ type TExportFormat = 'mp4' | 'webm';
799
1166
  type TTaskStatus = 'PENDING' | 'PROCESSING' | 'COMPLETED' | 'FAILED' | 'PAUSED' | 'CANCELED';
800
1167
  type TExportWebhookEventType = 'EXPORT_STARTED' | 'EXPORT_COMPLETED' | 'EXPORT_FAILED';
801
1168
  type TEditorStateV1 = components['schemas']['editor-state.v1.schema'];
1169
+ type TCaptionEntry = components['schemas']['CaptionEntry'];
1170
+ type TCaptionTimingGranularity = 'word' | 'line';
1171
+ type TVoiceScope = 'available' | 'system' | 'mine';
1172
+ type TMediaModelType = components['schemas']['MediaModelType'];
1173
+ type TMediaAssetMode = components['schemas']['MediaAssetMode'];
1174
+ type IMediaGenerationRequest = components['schemas']['MediaGenerationRequest'];
1175
+ type IMediaModelListItem = components['schemas']['MediaModelListItem'];
1176
+ type IMediaModelDetail = components['schemas']['MediaModelDetail'];
1177
+ type IMediaModelRecommendationRequest = components['schemas']['MediaModelRecommendationRequest'];
1178
+ type IMediaModelRecommendationItem = components['schemas']['MediaModelRecommendationItem'];
1179
+ type ITtsCreateRequest = components['schemas']['TtsCreateRequest'];
1180
+ type ICreateAutoCaptionsRequest = components['schemas']['AutoCaptionsCreateRequest'];
1181
+ type IMediaTaskResponse = components['schemas']['MediaTaskResponseData'];
1182
+ type ITtsTaskResponse = components['schemas']['TtsTaskResponseData'];
1183
+ type IAutoCaptionsResponse = components['schemas']['AutoCaptionsResponseData'];
1184
+ type IIllustrationSearchItem = components['schemas']['IllustrationSearchItem'];
1185
+ type IVoiceSearchItem = components['schemas']['VoiceSearchItem'];
802
1186
  interface IApiProblem {
803
1187
  type: string;
804
1188
  title: string;
@@ -990,11 +1374,21 @@ interface IAsset {
990
1374
  width: number | null;
991
1375
  height: number | null;
992
1376
  duration: number | null;
1377
+ captions?: TCaptionEntry[];
1378
+ timingGranularity?: TCaptionTimingGranularity;
993
1379
  }
994
1380
  interface IListAssetsResponse {
995
1381
  items: IAsset[];
996
1382
  nextPageCursor: string | null;
997
1383
  }
1384
+ interface IListIllustrationsResponse {
1385
+ items: IIllustrationSearchItem[];
1386
+ nextPageCursor: string | null;
1387
+ }
1388
+ interface IListMediaModelsResponse {
1389
+ items: IMediaModelListItem[];
1390
+ nextPageCursor: string | null;
1391
+ }
998
1392
  type TUploadBody = Blob | ArrayBuffer | ArrayBufferView | ReadableStream<Uint8Array>;
999
1393
  interface IUploadOptions extends IRequestOptions {
1000
1394
  filename?: string;
@@ -1052,6 +1446,47 @@ declare class EditorResource {
1052
1446
  validate(editorState: TEditorStateV1, options?: IRequestOptions): Promise<IEditorValidationResult>;
1053
1447
  }
1054
1448
 
1449
+ declare class MaterialsResource {
1450
+ private readonly client;
1451
+ constructor(client: IndreamClient);
1452
+ searchIllustrations(params: {
1453
+ q: string;
1454
+ pageSize?: number;
1455
+ pageCursor?: string;
1456
+ signal?: AbortSignal;
1457
+ }): Promise<IListIllustrationsResponse>;
1458
+ searchVoices(params?: {
1459
+ q?: string;
1460
+ pageSize?: number;
1461
+ scope?: TVoiceScope;
1462
+ signal?: AbortSignal;
1463
+ }): Promise<IVoiceSearchItem[]>;
1464
+ }
1465
+
1466
+ declare class MediaResource {
1467
+ private readonly client;
1468
+ constructor(client: IndreamClient);
1469
+ listMediaModels(params: {
1470
+ type: TMediaModelType;
1471
+ assetMode?: TMediaAssetMode;
1472
+ q?: string;
1473
+ pageSize?: number;
1474
+ pageCursor?: string;
1475
+ signal?: AbortSignal;
1476
+ }): Promise<IListMediaModelsResponse>;
1477
+ getMediaModel(capabilityKey: string, options?: {
1478
+ signal?: AbortSignal;
1479
+ }): Promise<IMediaModelDetail>;
1480
+ recommendMediaModels(payload: IMediaModelRecommendationRequest, options?: {
1481
+ signal?: AbortSignal;
1482
+ }): Promise<IMediaModelRecommendationItem[]>;
1483
+ generateImage(payload: IMediaGenerationRequest, options?: ICreateRequestOptions): Promise<IMediaTaskResponse>;
1484
+ generateVideo(payload: IMediaGenerationRequest, options?: ICreateRequestOptions): Promise<IMediaTaskResponse>;
1485
+ generateMusic(payload: IMediaGenerationRequest, options?: ICreateRequestOptions): Promise<IMediaTaskResponse>;
1486
+ createTts(payload: ITtsCreateRequest, options?: ICreateRequestOptions): Promise<ITtsTaskResponse>;
1487
+ createAutoCaptions(payload: ICreateAutoCaptionsRequest, options?: ICreateRequestOptions): Promise<IAutoCaptionsResponse>;
1488
+ }
1489
+
1055
1490
  declare class ProjectsResource {
1056
1491
  private readonly client;
1057
1492
  constructor(client: IndreamClient);
@@ -1091,6 +1526,8 @@ declare class IndreamClient {
1091
1526
  readonly fetchImpl: typeof fetch;
1092
1527
  readonly exports: ExportsResource;
1093
1528
  readonly editor: EditorResource;
1529
+ readonly materials: MaterialsResource;
1530
+ readonly media: MediaResource;
1094
1531
  readonly projects: ProjectsResource;
1095
1532
  readonly uploads: UploadsResource;
1096
1533
  readonly assets: AssetsResource;
@@ -1155,4 +1592,4 @@ declare const parseExportWebhookEvent: (value: unknown) => IExportWebhookEvent;
1155
1592
  declare const verifyExportWebhookSignature: ({ webhookSecret, timestamp, rawBody, signature, }: IVerifyExportWebhookSignatureParams) => Promise<boolean>;
1156
1593
  declare const verifyExportWebhookRequest: ({ webhookSecret, rawBody, headers, maxSkewSeconds, nowTimestampSeconds, }: IVerifyExportWebhookRequestParams) => Promise<boolean>;
1157
1594
 
1158
- export { APIError, AssetsResource, AuthError, EditorResource, ExportsResource, type IApiEnvelope, type IApiProblem, type IAsset, type ICaptionAnimationPresetGroups, type ICaptionAnimationPresetItem, type IClientOptions, type ICreateExportRequest, type ICreateExportResponse, type ICreateProjectExportRequest, type ICreateProjectRequest, type ICreateRequestOptions, type IDeleteAssetResponse, type IDeleteProjectAssetResponse, type IDeleteProjectResponse, type IEditorCapabilities, type IEditorValidationError, type IEditorValidationResult, type IExportTask, type IExportWebhookEvent, type IListAssetsResponse, type IListExportsResponse, type IListProjectsResponse, type IProjectAssetBindingResponse, type IProjectDetail, type IProjectMetadataResponse, type IProjectSummary, type IProjectSyncResponse, type IRequestOptions, type ISyncProjectRequest, type IUpdateProjectRequest, type IUploadOptions, type IVerifyExportWebhookRequestParams, type IVerifyExportWebhookSignatureParams, type IWaitOptions, IndreamClient, ProjectsResource, RateLimitError, type TEditorStateV1, type TExportFormat, type TExportRatio, type TExportWebhookEventType, type TTaskStatus, type TUploadBody, type TWebhookHeaders, UploadsResource, ValidationError, createApiError, isExportTaskSnapshot, isExportWebhookEvent, isExportWebhookEventType, isTaskStatus, parseExportWebhookEvent, toApiProblem, verifyExportWebhookRequest, verifyExportWebhookSignature };
1595
+ export { APIError, AssetsResource, AuthError, EditorResource, ExportsResource, type IApiEnvelope, type IApiProblem, type IAsset, type IAutoCaptionsResponse, type ICaptionAnimationPresetGroups, type ICaptionAnimationPresetItem, type IClientOptions, type ICreateAutoCaptionsRequest, type ICreateExportRequest, type ICreateExportResponse, type ICreateProjectExportRequest, type ICreateProjectRequest, type ICreateRequestOptions, type IDeleteAssetResponse, type IDeleteProjectAssetResponse, type IDeleteProjectResponse, type IEditorCapabilities, type IEditorValidationError, type IEditorValidationResult, type IExportTask, type IExportWebhookEvent, type IIllustrationSearchItem, type IListAssetsResponse, type IListExportsResponse, type IListIllustrationsResponse, type IListMediaModelsResponse, type IListProjectsResponse, type IMediaGenerationRequest, type IMediaModelDetail, type IMediaModelListItem, type IMediaModelRecommendationItem, type IMediaModelRecommendationRequest, type IMediaTaskResponse, type IProjectAssetBindingResponse, type IProjectDetail, type IProjectMetadataResponse, type IProjectSummary, type IProjectSyncResponse, type IRequestOptions, type ISyncProjectRequest, type ITtsCreateRequest, type ITtsTaskResponse, type IUpdateProjectRequest, type IUploadOptions, type IVerifyExportWebhookRequestParams, type IVerifyExportWebhookSignatureParams, type IVoiceSearchItem, type IWaitOptions, IndreamClient, MaterialsResource, MediaResource, ProjectsResource, RateLimitError, type TCaptionEntry, type TCaptionTimingGranularity, type TEditorStateV1, type TExportFormat, type TExportRatio, type TExportWebhookEventType, type TMediaAssetMode, type TMediaModelType, type TTaskStatus, type TUploadBody, type TVoiceScope, type TWebhookHeaders, UploadsResource, ValidationError, createApiError, isExportTaskSnapshot, isExportWebhookEvent, isExportWebhookEventType, isTaskStatus, parseExportWebhookEvent, toApiProblem, verifyExportWebhookRequest, verifyExportWebhookSignature };