@blitzreels/sdk 0.1.5 → 0.2.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.
Files changed (119) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +52 -2
  3. package/dist/client.d.ts +197 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +78 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/index.d.ts +17 -1482
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +3 -1060
  10. package/dist/index.js.map +1 -1
  11. package/dist/resources/ai-edit.d.ts +2 -2
  12. package/dist/resources/ai-edit.d.ts.map +1 -1
  13. package/dist/resources/auth-projects.d.ts +26 -0
  14. package/dist/resources/auth-projects.d.ts.map +1 -0
  15. package/dist/resources/auth-projects.js +129 -0
  16. package/dist/resources/auth-projects.js.map +1 -0
  17. package/dist/resources/captions.d.ts +5 -5
  18. package/dist/resources/captions.d.ts.map +1 -1
  19. package/dist/resources/captions.js +15 -0
  20. package/dist/resources/captions.js.map +1 -1
  21. package/dist/resources/content-audio.d.ts +20 -0
  22. package/dist/resources/content-audio.d.ts.map +1 -0
  23. package/dist/resources/content-audio.js +98 -0
  24. package/dist/resources/content-audio.js.map +1 -0
  25. package/dist/resources/effects-workflows.d.ts +29 -0
  26. package/dist/resources/effects-workflows.d.ts.map +1 -0
  27. package/dist/resources/effects-workflows.js +154 -0
  28. package/dist/resources/effects-workflows.js.map +1 -0
  29. package/dist/resources/exports-jobs.d.ts +19 -0
  30. package/dist/resources/exports-jobs.d.ts.map +1 -0
  31. package/dist/resources/exports-jobs.js +88 -0
  32. package/dist/resources/exports-jobs.js.map +1 -0
  33. package/dist/resources/faceless.d.ts +18 -0
  34. package/dist/resources/faceless.d.ts.map +1 -0
  35. package/dist/resources/faceless.js +89 -0
  36. package/dist/resources/faceless.js.map +1 -0
  37. package/dist/resources/formats.d.ts +9 -0
  38. package/dist/resources/formats.d.ts.map +1 -0
  39. package/dist/resources/formats.js +21 -0
  40. package/dist/resources/formats.js.map +1 -0
  41. package/dist/resources/generation.d.ts +29 -0
  42. package/dist/resources/generation.d.ts.map +1 -0
  43. package/dist/resources/generation.js +161 -0
  44. package/dist/resources/generation.js.map +1 -0
  45. package/dist/resources/libraries.d.ts +19 -0
  46. package/dist/resources/libraries.d.ts.map +1 -0
  47. package/dist/resources/libraries.js +89 -0
  48. package/dist/resources/libraries.js.map +1 -0
  49. package/dist/resources/media-clips.d.ts +61 -0
  50. package/dist/resources/media-clips.d.ts.map +1 -0
  51. package/dist/resources/media-clips.js +395 -0
  52. package/dist/resources/media-clips.js.map +1 -0
  53. package/dist/resources/timeline.d.ts +10 -2
  54. package/dist/resources/timeline.d.ts.map +1 -1
  55. package/dist/resources/timeline.js +93 -54
  56. package/dist/resources/timeline.js.map +1 -1
  57. package/dist/resources/workspace-onboarding.d.ts +25 -0
  58. package/dist/resources/workspace-onboarding.d.ts.map +1 -0
  59. package/dist/resources/workspace-onboarding.js +99 -0
  60. package/dist/resources/workspace-onboarding.js.map +1 -0
  61. package/dist/transport.d.ts +22 -0
  62. package/dist/transport.d.ts.map +1 -0
  63. package/dist/transport.js +189 -0
  64. package/dist/transport.js.map +1 -0
  65. package/dist/types/ai-edit.d.ts +180 -0
  66. package/dist/types/ai-edit.d.ts.map +1 -0
  67. package/dist/types/ai-edit.js +2 -0
  68. package/dist/types/ai-edit.js.map +1 -0
  69. package/dist/types/captions.d.ts +202 -0
  70. package/dist/types/captions.d.ts.map +1 -0
  71. package/dist/types/captions.js +2 -0
  72. package/dist/types/captions.js.map +1 -0
  73. package/dist/types/clips.d.ts +145 -0
  74. package/dist/types/clips.d.ts.map +1 -0
  75. package/dist/types/clips.js +2 -0
  76. package/dist/types/clips.js.map +1 -0
  77. package/dist/types/common.d.ts +273 -0
  78. package/dist/types/common.d.ts.map +1 -0
  79. package/dist/{resources → types}/common.js.map +1 -1
  80. package/dist/types/exports.d.ts +62 -0
  81. package/dist/types/exports.d.ts.map +1 -0
  82. package/dist/types/exports.js +2 -0
  83. package/dist/types/exports.js.map +1 -0
  84. package/dist/types/faceless.d.ts +201 -0
  85. package/dist/types/faceless.d.ts.map +1 -0
  86. package/dist/types/faceless.js +2 -0
  87. package/dist/types/faceless.js.map +1 -0
  88. package/dist/types/formats.d.ts +40 -0
  89. package/dist/types/formats.d.ts.map +1 -0
  90. package/dist/types/formats.js +2 -0
  91. package/dist/types/formats.js.map +1 -0
  92. package/dist/types/generation.d.ts +84 -0
  93. package/dist/types/generation.d.ts.map +1 -0
  94. package/dist/types/generation.js +2 -0
  95. package/dist/types/generation.js.map +1 -0
  96. package/dist/types/libraries.d.ts +184 -0
  97. package/dist/types/libraries.d.ts.map +1 -0
  98. package/dist/types/libraries.js +2 -0
  99. package/dist/types/libraries.js.map +1 -0
  100. package/dist/types/media.d.ts +328 -0
  101. package/dist/types/media.d.ts.map +1 -0
  102. package/dist/types/media.js +2 -0
  103. package/dist/types/media.js.map +1 -0
  104. package/dist/types/projects.d.ts +187 -0
  105. package/dist/types/projects.d.ts.map +1 -0
  106. package/dist/types/projects.js +2 -0
  107. package/dist/types/projects.js.map +1 -0
  108. package/dist/types/timeline.d.ts +90 -0
  109. package/dist/types/timeline.d.ts.map +1 -0
  110. package/dist/types/timeline.js +2 -0
  111. package/dist/types/timeline.js.map +1 -0
  112. package/dist/types/workspace.d.ts +129 -0
  113. package/dist/types/workspace.d.ts.map +1 -0
  114. package/dist/types/workspace.js +2 -0
  115. package/dist/types/workspace.js.map +1 -0
  116. package/package.json +9 -3
  117. package/dist/resources/common.d.ts +0 -3
  118. package/dist/resources/common.d.ts.map +0 -1
  119. /package/dist/{resources → types}/common.js +0 -0
package/dist/index.d.ts CHANGED
@@ -1,1483 +1,18 @@
1
- import { type AiEditResource } from "./resources/ai-edit.js";
2
- import { type CaptionsResource } from "./resources/captions.js";
3
- import { type TimelineResource } from "./resources/timeline.js";
4
- export type HttpMethod = "GET" | "POST" | "PATCH" | "DELETE";
5
- export type JsonObject = Record<string, unknown>;
6
- export type QueryValue = string | number | boolean | null | undefined;
7
- export type QueryParams = Record<string, QueryValue | QueryValue[]>;
8
- export type FetchFn = typeof fetch;
9
- export type BlitzReelsClientConfig = {
10
- apiKey: string;
11
- baseUrl: string | undefined;
12
- fetchFn: FetchFn | undefined;
13
- userAgent: string | undefined;
14
- };
15
- export type RequestOptions = {
16
- method: HttpMethod;
17
- path: string;
18
- query: QueryParams | undefined;
19
- body: unknown;
20
- };
21
- export type BlitzReelsErrorOptions = {
22
- message: string;
23
- status: number;
24
- requestId: string | null;
25
- body: unknown;
26
- code?: BlitzReelsErrorCode;
27
- retryable?: boolean;
28
- };
29
- export type BlitzReelsErrorCode = "api_error" | "auth_error" | "not_found" | "conflict" | "validation_error" | "rate_limited" | "timeout" | "server_error";
30
- export declare class BlitzReelsError extends Error {
31
- status: number;
32
- requestId: string | null;
33
- body: unknown;
34
- code: BlitzReelsErrorCode;
35
- retryable: boolean;
36
- constructor(options: BlitzReelsErrorOptions);
37
- }
38
- export type AuthValidation = {
39
- success: boolean;
40
- organization_id: string;
41
- user_id: string;
42
- plan: string;
43
- environment: "live" | "test";
44
- key_prefix: string;
45
- docs_url: string;
46
- openapi_url: string;
47
- agent_skills: {
48
- manifest_url: string;
49
- recommended: string[];
50
- minimum_updated_after: string;
51
- };
52
- };
53
- export type ProjectContextMode = "summary" | "assets" | "timeline" | "transcript" | "full";
54
- export type ProjectContextCollectionBounds = {
55
- name: string;
56
- offset: number;
57
- limit: number;
58
- total: number;
59
- returned: number;
60
- hasMore: boolean;
61
- truncated: boolean;
62
- };
63
- export type ProjectContextBounds = {
64
- collections: ProjectContextCollectionBounds[];
65
- };
66
- export type ProjectContext = {
67
- mode: ProjectContextMode;
68
- data: unknown;
69
- bounds: ProjectContextBounds;
70
- };
71
- export type Project = {
72
- id: string;
73
- name: string;
74
- description: string | null;
75
- aspect_ratio: string | null;
76
- status: string;
77
- created_at: string;
78
- updated_at: string;
79
- };
80
- export type ProjectList = {
81
- projects: Project[];
82
- next_cursor: string | null | undefined;
83
- has_more: boolean | undefined;
84
- };
85
- export type WorkspaceSettings = {
86
- settings: {
87
- id: string;
88
- name: string;
89
- description: string | null;
90
- safeWords: string[];
91
- protected_words: string[];
92
- icon_storage_key: string | null;
93
- icon_url: string | null;
94
- defaults: {
95
- aspectRatio: string | null;
96
- aspect_ratio: string | null;
97
- orientation: string | null;
98
- resolution: string | null;
99
- frameRate: string | null;
100
- frame_rate: string | null;
101
- autoManageBroll: boolean | null;
102
- auto_manage_broll: boolean | null;
103
- captionThemeId: string | null;
104
- caption_theme_id: string | null;
105
- };
106
- updated_at: string;
107
- };
108
- };
109
- export type WorkspaceSettingsUpdate = WorkspaceSettings & {
110
- success: true;
111
- };
112
- export type MediaAssetType = "video" | "audio" | "image" | "document" | "all";
113
- export type MediaLibraryAsset = {
114
- id: string;
115
- name: string | null;
116
- assetType: string;
117
- folderId: string | null;
118
- thumbnailUrl: string | null;
119
- description: string | null;
120
- aiDescription: string | null;
121
- aiTags: string[];
122
- aiMood: string | null;
123
- aiCameraMovement: string | null;
124
- fileSizeBytes: number;
125
- allowUsingAsBroll: boolean | null;
126
- processingStatus: string | null;
127
- durationSeconds: number | null;
128
- createdAt: string | null;
129
- };
130
- export type MediaLibraryList = {
131
- assets: MediaLibraryAsset[];
132
- totalCount: number;
133
- limit: number;
134
- offset: number;
135
- };
136
- export type MediaFolder = {
137
- id: string;
138
- name: string;
139
- parentFolderId: string | null;
140
- description: string | null | undefined;
141
- iconType: string | null | undefined;
142
- assetCount: number | undefined;
143
- createdAt: string | null | undefined;
144
- };
145
- export type MediaFoldersList = {
146
- folders: MediaFolder[];
147
- count: number;
148
- };
149
- export type MediaAssetUpdateResult = {
150
- success: true;
151
- asset: {
152
- id: string;
153
- name: string;
154
- description: string | null;
155
- folderId: string | null;
156
- allowUsingAsBroll: boolean;
157
- updatedAt: string;
158
- };
159
- txid: number | null;
160
- };
161
- export type MediaUploadInit = {
162
- upload_url: string;
163
- storage_key: string;
164
- expires_in: number;
165
- };
166
- export type MediaUploadFinalizeResult = {
167
- id: string;
168
- name: string;
169
- asset_type: string;
170
- processing_status: string;
171
- deduped: boolean;
172
- };
173
- export type MediaImportYoutubeResult = {
174
- asset_id: string;
175
- status: "processing" | "already_exists";
176
- quality: "720p" | "1080p" | "1440p" | "2160p" | null;
177
- run_id: string | null;
178
- txid: number;
179
- };
180
- export type MediaMoveResult = {
181
- success: true;
182
- moved_count: number;
183
- target_folder_id: string | null;
184
- };
185
- export type MediaAttachResult = {
186
- inserted: Array<{
187
- asset_id: string;
188
- start_seconds: number;
189
- success: boolean;
190
- already_existed: boolean;
191
- timeline_item_id: string | null;
192
- message: string | null;
193
- animation_applied: string | null;
194
- layer_index: number | null;
195
- warnings?: string[];
196
- }>;
197
- summary: {
198
- total: number;
199
- actually_inserted: number;
200
- already_in_timeline: number;
201
- failed: number;
202
- };
203
- warnings?: string[];
204
- message: string;
205
- };
206
- export type MediaShortSuggestionList = {
207
- saved: JsonObject[];
208
- drafts: JsonObject[];
209
- };
210
- export type GenerateMediaShortSuggestionsOptions = {
211
- assetId: string;
212
- contentProfile: "auto" | "podcast" | "tutorial" | "generic" | undefined;
213
- autoTrimSilence: boolean | undefined;
214
- };
215
- export type ApplyMediaShortSuggestionOptions = {
216
- assetId: string;
217
- suggestionId: string;
218
- projectId: string;
219
- captionStyleId: string | null | undefined;
220
- markSaved: boolean | undefined;
221
- allowUnverifiedExport: boolean | undefined;
222
- automaticLayout: JsonObject | undefined;
223
- };
224
- export type ApplyMediaShortSuggestionResult = {
225
- success: boolean;
226
- project_id: string;
227
- asset_id: string;
228
- suggestion_id: string;
229
- timeline_item_id: string;
230
- [key: string]: unknown;
231
- };
232
- export type ClipSelectionMode = "auto_best" | "suggestion" | "time_range";
233
- export type ClipLayoutMode = "auto" | "prefer_split" | "prefer_focus";
234
- export type ClipContentTypeHint = "auto" | "podcast" | "tutorial" | "generic";
235
- export type ClipQaMode = "required" | "permissive";
236
- export type ClipTargetOptions = {
237
- minDurationSeconds: number | null | undefined;
238
- maxDurationSeconds: number;
239
- };
240
- export type CreateClipOptions = {
241
- projectName: string | null | undefined;
242
- source: {
243
- sourceType: "asset" | "youtube";
244
- assetId: string | null | undefined;
245
- youtubeUrl: string | null | undefined;
246
- };
247
- selection: {
248
- mode: ClipSelectionMode;
249
- suggestionId: string | null | undefined;
250
- startSeconds: number | null | undefined;
251
- endSeconds: number | null | undefined;
252
- };
253
- target: ClipTargetOptions & {
254
- aspectRatio: "9:16";
255
- };
256
- layout: {
257
- mode: ClipLayoutMode;
258
- contentTypeHint: ClipContentTypeHint | undefined;
259
- };
260
- captions: {
261
- enabled: boolean;
262
- styleId: string | null | undefined;
263
- };
264
- qa: {
265
- mode: ClipQaMode;
266
- };
267
- export: {
268
- autoExport: boolean;
269
- };
270
- };
271
- export type ReselectClipOptions = {
272
- clipId: string;
273
- selection: CreateClipOptions["selection"];
274
- target: ClipTargetOptions | null | undefined;
275
- };
276
- export type RepairClipOptions = {
277
- clipId: string;
278
- repairMode: "auto" | "prefer_split" | "prefer_focus" | "prefer_tutorial" | "move_captions_off_faces";
279
- };
280
- export type ExportClipOptions = {
281
- clipId: string;
282
- resolution: "720p" | "1080p";
283
- format: "mp4" | "mov";
284
- allowBlockingQaBypass: boolean;
285
- };
286
- export type ClipEnvelope = {
287
- clip: JsonObject;
288
- };
289
- export type MediaAssetDetails = {
290
- asset: {
291
- id: string;
292
- name: string;
293
- assetType: "video" | "audio" | "image" | "document";
294
- thumbnailUrl: string | null;
295
- fileUrl: string | null;
296
- description: string | null;
297
- aiDescription: string | null;
298
- aiTags: string[];
299
- aiMood: string | null;
300
- aiCameraMovement: string | null;
301
- fileSizeBytes: number;
302
- processingStatus: string | null | undefined;
303
- processingSubstage: string | null;
304
- processingError: string | null;
305
- processingErrors: JsonObject;
306
- processingAttempts: number | null;
307
- retryable: boolean;
308
- providerRequestIds: {
309
- processJobRunId: string | null;
310
- transcribeJobRunId: string | null;
311
- providerRequestId: string | null;
312
- };
313
- processing_substage: string | null;
314
- processing_error: string | null;
315
- processing_errors: JsonObject;
316
- processing_attempts: number | null;
317
- provider_request_ids: {
318
- process_job_run_id: string | null;
319
- transcribe_job_run_id: string | null;
320
- provider_request_id: string | null;
321
- };
322
- durationSeconds: number | null;
323
- dimensionsWidth: number | null;
324
- dimensionsHeight: number | null;
325
- allowUsingAsBroll: boolean;
326
- folderName: string | null;
327
- };
328
- };
329
- export type PreviewFrame = {
330
- preview_url: string;
331
- expires_at: string;
332
- storage_key: string;
333
- frame: number;
334
- time_seconds: number;
335
- width: number;
336
- height: number;
337
- image_format: "jpeg" | "png";
338
- };
339
- export type PreviewFrames = {
340
- project_id: string;
341
- previews: PreviewFrame[];
342
- };
343
- export type ContentItemKind = "overlay" | "title_card" | "watermark";
344
- export type ContentItem = {
345
- content_item_id: string;
346
- kind: ContentItemKind;
347
- name: string;
348
- timeline_item_id: string | null;
349
- start_seconds: number | null;
350
- duration_seconds: number | null;
351
- layer_index: number | null;
352
- playground_composition_id: string | null;
353
- watermark_id: string | null;
354
- spec: JsonObject | null;
355
- watermark: JsonObject | null;
356
- };
357
- export type ContentItemsList = {
358
- data: ContentItem[];
359
- };
360
- export type CreateContentItemResult = {
361
- success: boolean;
362
- content_item_id: string;
363
- timeline_item_id: string | null;
364
- playground_composition_id: string | null;
365
- watermark_id: string | null;
366
- };
367
- export type InsertAudioResult = {
368
- inserted: Array<{
369
- asset_id: string;
370
- timeline_item_id: string | null;
371
- start_seconds: number;
372
- duration_seconds: number;
373
- volume: number;
374
- fade_in_seconds: number;
375
- fade_out_seconds: number;
376
- loop: boolean;
377
- success: boolean;
378
- message: string | null;
379
- }>;
380
- summary: {
381
- total: number;
382
- inserted: number;
383
- failed: number;
384
- };
385
- txid: number | null;
386
- };
387
- export type UpdateAudioResult = {
388
- success: boolean;
389
- timeline_item_id: string;
390
- duration_seconds: number;
391
- volume: number;
392
- fade_in_seconds: number;
393
- fade_out_seconds: number;
394
- txid: number | null;
395
- };
396
- export type UpdateMediaOverlayResult = {
397
- success: boolean;
398
- timelineItemId: string;
399
- updated: JsonObject;
400
- animationApplied: string | null;
401
- keyframeCount: number;
402
- warnings?: string[];
403
- message: string;
404
- };
405
- export type TimelineEditResult = {
406
- action: string;
407
- result: unknown;
408
- };
409
- export type TimelineTransformOptions = {
410
- projectId: string;
411
- timelineItemId: string;
412
- positionX: number | undefined;
413
- positionY: number | undefined;
414
- widthPx: number | null | undefined;
415
- heightPx: number | null | undefined;
416
- keepAspectRatio: boolean | undefined;
417
- };
418
- export type TimelineMoveOptions = {
419
- projectId: string;
420
- timelineItemId: string;
421
- newStartSeconds: number;
422
- newLayerIndex: number | undefined;
423
- };
424
- export type TimelineDeleteOptions = {
425
- projectId: string;
426
- timelineItemIds: string[];
427
- autoPack: boolean | undefined;
428
- };
429
- export type TimelineSplitOptions = {
430
- projectId: string;
431
- timelineItemId: string;
432
- splitAtSeconds: number;
433
- snapToFrame: boolean | undefined;
434
- };
435
- export type TimelineTrimOptions = {
436
- projectId: string;
437
- timelineItemId: string;
438
- trimStartDeltaSeconds: number | undefined;
439
- trimEndDeltaSeconds: number | undefined;
440
- snapToFrame: boolean | undefined;
441
- };
442
- export type TimelineBatchMoveOptions = {
443
- projectId: string;
444
- items: Array<{
445
- timelineItemId: string;
446
- newStartSeconds: number;
447
- newLayerIndex: number | undefined;
448
- }>;
449
- };
450
- export type TimelineBatchTrimOptions = {
451
- projectId: string;
452
- items: Array<{
453
- timelineItemId: string;
454
- trimStartDeltaSeconds: number | undefined;
455
- trimEndDeltaSeconds: number | undefined;
456
- }>;
457
- snapToFrame: boolean | undefined;
458
- };
459
- export type TimelineBatchTransformOptions = {
460
- projectId: string;
461
- items: Array<Omit<TimelineTransformOptions, "projectId">>;
462
- };
463
- export type TimelineCutOptions = {
464
- projectId: string;
465
- timelineItemId: string;
466
- cuts: Array<{
467
- startSeconds: number;
468
- endSeconds: number;
469
- trimFollowingSeconds: number | undefined;
470
- }>;
471
- snapToFrame: boolean | undefined;
472
- ripple: boolean | undefined;
473
- };
474
- export type TimelineItemDeleteResult = {
475
- success: boolean;
476
- deleted_item_id: string;
477
- deleted_item_name: string | null;
478
- deleted_item_type: string | null;
479
- captions_removed: number | null;
480
- message: string | null;
481
- };
482
- export type CaptionWordsList = {
483
- success: boolean;
484
- words: JsonObject[];
485
- pagination: JsonObject;
486
- summary: JsonObject;
487
- hint: string | undefined;
488
- };
489
- export type CaptionWordTextResult = {
490
- success: boolean;
491
- word_id: string;
492
- old_text: string;
493
- new_text: string;
494
- message: string | undefined;
495
- };
496
- export type CaptionWordBatchTextResult = {
497
- success: boolean;
498
- updates: JsonObject[];
499
- affected_caption_ids: string[];
500
- message: string;
501
- };
502
- export type CaptionWordCountResult = {
503
- success: boolean;
504
- updated_count: number;
505
- updated_word_ids: string[] | undefined;
506
- emphasis: boolean | undefined;
507
- message: string | undefined;
508
- };
509
- export type CaptionWordMutationResult = {
510
- success: boolean;
511
- caption_id: string;
512
- affected_caption_ids: string[] | undefined;
513
- deleted_word_ids: string[] | undefined;
514
- merged_word_id: string | undefined;
515
- split_word_ids: string[] | undefined;
516
- words: JsonObject[];
517
- message: string;
518
- };
519
- export type CaptionTrackSelectorOptions = {
520
- projectId: string;
521
- all: boolean | undefined;
522
- captionId: string | undefined;
523
- timelineItemId: string | undefined;
524
- fromSeconds: number | undefined;
525
- toSeconds: number | undefined;
526
- };
527
- export type CaptionTrackMutationResult = {
528
- success: boolean;
529
- action: "delete" | "hide" | "show";
530
- affected_count: number;
531
- caption_ids: string[];
532
- timeline_item_ids: string[];
533
- message: string;
534
- };
535
- export type CaptionThemeList = {
536
- themes: JsonObject[];
537
- total: number;
538
- };
539
- export type CaptionTheme = JsonObject;
540
- export type CaptionPresetList = {
541
- presets: JsonObject[];
542
- total: number;
543
- };
544
- export type CaptionLookList = {
545
- looks: JsonObject[];
546
- total: number;
547
- };
548
- export type CaptionStyle = {
549
- success: boolean;
550
- settings: JsonObject;
551
- hint: string | undefined;
552
- };
553
- export type UpdateCaptionStyleOptions = {
554
- projectId: string;
555
- lookId: string | undefined;
556
- presetId: string | undefined;
557
- clearWordOverrides: boolean | undefined;
558
- style: JsonObject;
559
- };
560
- export type CaptionStyleUpdateResult = {
561
- success: boolean;
562
- updated_properties: string[];
563
- look_id: string | null | undefined;
564
- preset_id: string | null | undefined;
565
- message: string | undefined;
566
- };
567
- export type CaptionThemePreview = {
568
- preview_url: string;
569
- expires_at: string;
570
- width: number;
571
- height: number;
572
- };
573
- export type ExportStartResult = {
574
- export_id: string | null;
575
- job_id: string;
576
- status: string;
577
- };
578
- export type AiEditStyleId = "mirage-black" | "clean-founder";
579
- export type AiEditQualityTarget = "fast" | "premium" | "frontier";
580
- export type AiEditControllerKind = "api" | "cli" | "codex" | "claude_code" | "platform" | "unknown";
581
- export type AiEditRunStatus = "queued" | "understanding" | "planning" | "applying" | "rendering" | "critiquing" | "repairing" | "completed" | "failed" | "needs_review";
582
- export type AiEditStylesList = {
583
- styles: Array<{
584
- id: AiEditStyleId;
585
- name: string;
586
- description: string;
587
- preview_image_path: string;
588
- manual_skill: {
589
- type: "local_skill";
590
- path: string;
591
- style_json_path: string;
592
- };
593
- spec: JsonObject;
594
- }>;
595
- total: number;
596
- };
597
- export type AiEditRunEnvelope = {
598
- run: {
599
- id: string;
600
- project_id: string;
601
- organization_id: string;
602
- user_id: string;
603
- api_key_id: string | null;
604
- execution_mode: "external_controller" | "hosted_agent";
605
- credit_mode: "external" | "platform_credits" | "byok";
606
- controller_kind: AiEditControllerKind;
607
- status: AiEditRunStatus;
608
- style_id: AiEditStyleId;
609
- quality_target: AiEditQualityTarget;
610
- run_config: JsonObject;
611
- budget_receipt: JsonObject;
612
- summary: string | null;
613
- failure_message: string | null;
614
- completed_at: string | null;
615
- created_at: string;
616
- updated_at: string;
617
- };
618
- context: JsonObject;
619
- };
620
- export type AiEditRunLog = {
621
- id: string;
622
- run_id: string;
623
- organization_id: string;
624
- project_id: string;
625
- kind: string;
626
- status: string;
627
- input: JsonObject;
628
- output: JsonObject;
629
- error_message: string | null;
630
- created_at: string;
631
- };
632
- export type AiEditRunArtifact = {
633
- id: string;
634
- run_id: string;
635
- organization_id: string;
636
- project_id: string;
637
- artifact_type: string;
638
- time_seconds: number | null;
639
- url: string | null;
640
- storage_key: string | null;
641
- metadata: JsonObject;
642
- created_at: string;
643
- };
644
- export type AiEditRunLogsOptions = {
645
- runId: string;
646
- limit: number | undefined;
647
- offset: number | undefined;
648
- };
649
- export type AiEditRunLogsEnvelope = {
650
- run_id: string;
651
- project_id: string;
652
- logs: AiEditRunLog[];
653
- artifacts: AiEditRunArtifact[];
654
- bounds: {
655
- logs: {
656
- offset: number;
657
- limit: number;
658
- returned: number;
659
- truncated: boolean;
660
- };
661
- };
662
- };
663
- export type AiEditAppendRunLogOptions = {
664
- runId: string;
665
- kind: string;
666
- status: "queued" | "running" | "completed" | "failed" | "skipped";
667
- message: string;
668
- metadata: JsonObject;
669
- dryRun: boolean | undefined;
670
- };
671
- export type AiEditAppendRunLogResult = {
672
- success: true;
673
- dry_run: boolean;
674
- run_id: string;
675
- log: AiEditRunLog | null;
676
- };
677
- export type AiEditCreateRunOptions = {
678
- projectId: string;
679
- styleId: AiEditStyleId;
680
- qualityTarget: AiEditQualityTarget | undefined;
681
- controllerKind: AiEditControllerKind | undefined;
682
- dryRun: boolean | undefined;
683
- };
684
- export type AiEditApplyStyleOptions = {
685
- runId: string;
686
- dryRun: boolean | undefined;
687
- titleText: string | null | undefined;
688
- };
689
- export type AiEditApplyStyleResult = {
690
- success: true;
691
- dry_run: boolean;
692
- run_id: string;
693
- project_id: string;
694
- style_id: AiEditStyleId;
695
- receipts: Array<{
696
- action: string;
697
- target_id: string;
698
- dry_run: boolean;
699
- changes: JsonObject;
700
- }>;
701
- txid: number | null;
702
- };
703
- export type AiEditSnapshotTime = "start" | "hook" | "middle" | "end";
704
- export type AiEditRenderSnapshotsOptions = {
705
- runId: string;
706
- dryRun: boolean | undefined;
707
- times: Array<number | AiEditSnapshotTime> | undefined;
708
- targetWidth: number | undefined;
709
- imageFormat: "jpeg" | "png" | undefined;
710
- };
711
- export type AiEditSnapshotsResult = {
712
- success: true;
713
- dry_run: boolean;
714
- run_id: string;
715
- project_id: string;
716
- snapshots: Array<{
717
- artifact_id: string | null;
718
- preview_url: string | null;
719
- storage_key: string | null;
720
- frame: number | null;
721
- time_seconds: number;
722
- width: number | null;
723
- height: number | null;
724
- image_format: "jpeg" | "png";
725
- }>;
726
- };
727
- export type AiEditValidateOptions = {
728
- runId: string;
729
- dryRun: boolean | undefined;
730
- };
731
- export type AiEditValidationResult = {
732
- success: true;
733
- dry_run: boolean;
734
- run_id: string;
735
- project_id: string;
736
- passed: boolean;
737
- checks: Array<{
738
- rule: string;
739
- passed: boolean;
740
- message: string;
741
- }>;
742
- };
743
- export type AiEditCompleteOptions = {
744
- runId: string;
745
- status: "completed" | "needs_review" | "failed";
746
- summary: string;
747
- dryRun: boolean | undefined;
748
- };
749
- export type AiEditCompleteResult = {
750
- success: true;
751
- dry_run: boolean;
752
- run_id: string;
753
- status: "completed" | "needs_review" | "failed";
754
- summary: string;
755
- };
756
- export type ExportStatus = {
757
- export_id: string;
758
- status: string;
759
- download_url: string | null;
760
- short_download_url: string | null;
761
- thumbnail_url: string | null;
762
- thumbnail: {
763
- url: string | null;
764
- frame: number | null;
765
- frame_seconds: number | null;
766
- selection_mode: string | null;
767
- rationale: string | null;
768
- } | null;
769
- platform_metadata: JsonObject | null;
770
- expires_at: string | null;
771
- file_size_bytes: number | null;
772
- duration_seconds: number | null;
773
- container_format: string | null;
774
- image_formats: JsonObject | null;
775
- };
776
- export type JobStatus = {
777
- job_id: string;
778
- type: string;
779
- status: string;
780
- progress: number;
781
- project_id: string | null;
782
- export_id: string | null;
783
- media_id: string | null;
784
- created_at: string;
785
- completed_at: string | null;
786
- error: string | null;
787
- next_actions: unknown;
788
- result: unknown;
789
- };
790
- export type SnapshotOptions = {
791
- projectId: string;
792
- atSeconds: number;
793
- targetWidth: number | undefined;
794
- imageFormat: "jpeg" | "png" | undefined;
795
- };
796
- export type SnapshotBatchOptions = {
797
- projectId: string;
798
- atSeconds: number[];
799
- targetWidth: number | undefined;
800
- imageFormat: "jpeg" | "png" | undefined;
801
- };
802
- export type InspectProjectOptions = {
803
- projectId: string;
804
- mode: ProjectContextMode;
805
- assetLimit?: number;
806
- assetOffset?: number;
807
- timelineLimit?: number;
808
- timelineOffset?: number;
809
- transcriptLimit?: number;
810
- transcriptOffset?: number;
811
- captionWordLimit?: number;
812
- captionWordOffset?: number;
813
- };
814
- export type ProjectTimelineOptions = {
815
- projectId: string;
816
- limit?: number;
817
- offset?: number;
818
- };
819
- export type ListProjectsOptions = {
820
- limit: number | undefined;
821
- cursor: string | undefined;
822
- offset: number | undefined;
823
- search: string | undefined;
824
- status: "active" | "archived" | "all" | undefined;
825
- };
826
- export type CreateProjectOptions = {
827
- name: string;
828
- description: string | undefined;
829
- aspectRatio: "9:16" | "16:9" | "1:1" | "4:5" | undefined;
830
- projectType: "video" | "carousel" | undefined;
831
- carouselSettings: JsonObject | undefined;
832
- };
833
- export type UpdateProjectOptions = {
834
- projectId: string;
835
- name: string | undefined;
836
- description: string | null | undefined;
837
- };
838
- export type UpdateWorkspaceSettingsOptions = {
839
- name: string | undefined;
840
- description: string | null | undefined;
841
- protectedWords: string[] | undefined;
842
- iconStorageKey: string | null | undefined;
843
- defaults: {
844
- aspectRatio: "9:16" | "16:9" | "1:1" | "4:5" | null | undefined;
845
- orientation: "landscape" | "portrait" | "square" | null | undefined;
846
- resolution: "0.25" | "0.5" | "0.75" | "1" | "1.5" | "2" | null | undefined;
847
- frameRate: "24" | "25" | "30" | "50" | "60" | null | undefined;
848
- autoManageBroll: boolean | undefined;
849
- captionThemeId: string | null | undefined;
850
- } | undefined;
851
- };
852
- export type ListMediaOptions = {
853
- folderId: string | undefined;
854
- assetType: MediaAssetType | undefined;
855
- search: string | undefined;
856
- limit: number | undefined;
857
- offset: number | undefined;
858
- };
859
- export type InitMediaUploadOptions = {
860
- fileName: string;
861
- contentType: string;
862
- };
863
- export type FinalizeMediaUploadOptions = {
864
- storageKey: string;
865
- fileName: string;
866
- contentType: string;
867
- fileSizeBytes: number;
868
- autoProcessEnabled: boolean | undefined;
869
- autoTranscribe: boolean | undefined;
870
- autoDescribeAfterTranscribe: boolean | undefined;
871
- autoSuggestShorts: boolean | undefined;
872
- };
873
- export type ImportYoutubeMediaOptions = {
874
- url: string;
875
- folderId: string | null | undefined;
876
- quality: "720p" | "1080p" | "1440p" | "2160p" | undefined;
877
- fps: number | null | undefined;
878
- audioLanguage: string | null | undefined;
879
- };
880
- export type UpdateMediaOptions = {
881
- assetId: string;
882
- name: string | undefined;
883
- description: string | null | undefined;
884
- folderId: string | null | undefined;
885
- allowUsingAsBroll: boolean | undefined;
886
- };
887
- export type MoveMediaOptions = {
888
- assetIds: string[];
889
- targetFolderId: string | null;
890
- };
891
- export type AttachMediaToProjectOptions = {
892
- projectId: string;
893
- assetId: string;
894
- startSeconds: number | undefined;
895
- durationSeconds: number | null | undefined;
896
- layerIndex: number | undefined;
897
- allowDuplicate: boolean | undefined;
898
- positionPreset: MediaPositionPreset | undefined;
899
- positionX: number | undefined;
900
- positionY: number | undefined;
901
- widthPx: number | undefined;
902
- heightPx: number | undefined;
903
- keepAspectRatio: boolean | undefined;
904
- scale: number | undefined;
905
- opacity: number | undefined;
906
- animationPreset: MediaAnimationPreset | undefined;
907
- };
908
- export type ListMediaFoldersOptions = {
909
- parentFolderId: string | undefined;
910
- };
911
- export type CreateMediaFolderOptions = {
912
- name: string;
913
- parentFolderId: string | null | undefined;
914
- description: string | null | undefined;
915
- iconType: string | undefined;
916
- };
917
- export type UpdateMediaFolderOptions = {
918
- folderId: string;
919
- name: string | undefined;
920
- parentFolderId: string | null | undefined;
921
- description: string | null | undefined;
922
- iconType: string | undefined;
923
- };
924
- export type AddTextOptions = {
925
- projectId: string;
926
- text: string;
927
- name: string | undefined;
928
- startSeconds: number;
929
- durationSeconds: number;
930
- layerIndex: number | undefined;
931
- spec: JsonObject | undefined;
932
- };
933
- export type UpdateTextOptions = {
934
- projectId: string;
935
- contentItemId: string;
936
- text: string | undefined;
937
- name: string | undefined;
938
- spec: JsonObject | undefined;
939
- durationSeconds: number | undefined;
940
- };
941
- export type RemoveTextOptions = {
942
- projectId: string;
943
- contentItemId: string;
944
- };
945
- export type AddAudioOptions = {
946
- projectId: string;
947
- assetId: string;
948
- startSeconds: number;
949
- durationSeconds: number | undefined;
950
- volume: number | undefined;
951
- fadeInSeconds: number | undefined;
952
- fadeOutSeconds: number | undefined;
953
- loop: boolean | undefined;
954
- };
955
- export type UpdateAudioOptions = {
956
- projectId: string;
957
- timelineItemId: string;
958
- durationSeconds: number | undefined;
959
- volume: number | undefined;
960
- fadeInSeconds: number | undefined;
961
- fadeOutSeconds: number | undefined;
962
- };
963
- export type AudioLibraryProvider = "openverse" | "freesound" | "wikimedia";
964
- export type AudioLibraryProviderFilter = AudioLibraryProvider | "all";
965
- export type AudioLibraryLicenseFilter = "cc0" | "public_domain" | "attribution" | "all";
966
- export type AudioLibraryTypeFilter = "music" | "sound_effect" | "ambient" | "other";
967
- export type StockMediaProvider = "pexels" | "freesound";
968
- export type StockMediaAssetType = "image" | "video" | "audio";
969
- export type StockMediaOrientation = "landscape" | "portrait" | "square";
970
- export type StockAudioType = "sound_effect" | "ambient" | "background_music" | "other";
971
- export type GlobalBrollLibraryAssetType = "image" | "video" | "audio";
972
- export type GlobalBrollLibraryAudioType = "music" | "sound_effect" | "ambient" | "background_music" | "other";
973
- export type AudioLibraryItem = {
974
- provider: AudioLibraryProvider;
975
- external_id: string;
976
- title: string;
977
- creator_name: string | null;
978
- creator_url: string | null;
979
- source_url: string;
980
- preview_url: string | null;
981
- download_url: string | null;
982
- duration_seconds: number | null;
983
- license_code: string;
984
- license_url: string | null;
985
- requires_attribution: boolean;
986
- attribution_text: string | null;
987
- commercial_use_allowed: boolean;
988
- tags: string[];
989
- };
990
- export type SearchAudioLibraryOptions = {
991
- query: string;
992
- provider: AudioLibraryProviderFilter | undefined;
993
- license: AudioLibraryLicenseFilter | undefined;
994
- audioType: AudioLibraryTypeFilter | undefined;
995
- minDurationSeconds: number | null | undefined;
996
- maxDurationSeconds: number | null | undefined;
997
- limit: number | undefined;
998
- page: number | undefined;
999
- };
1000
- export type SearchAudioLibraryResult = {
1001
- items: AudioLibraryItem[];
1002
- warnings: string[];
1003
- providers: AudioLibraryProvider[];
1004
- };
1005
- export type ImportAudioLibraryAssetOptions = {
1006
- provider: AudioLibraryProvider;
1007
- externalId: string;
1008
- folderId: string | null | undefined;
1009
- projectId: string | null | undefined;
1010
- startSeconds: number | undefined;
1011
- durationSeconds: number | null | undefined;
1012
- volume: number | undefined;
1013
- fadeInSeconds: number | undefined;
1014
- fadeOutSeconds: number | undefined;
1015
- loop: boolean | undefined;
1016
- audioType: AudioLibraryTypeFilter | undefined;
1017
- };
1018
- export type ImportAudioLibraryAssetResult = {
1019
- asset: {
1020
- id: string;
1021
- name: string;
1022
- asset_type: "audio";
1023
- audio_type: string;
1024
- duration_seconds: number | null;
1025
- source_url: string;
1026
- license_code: string;
1027
- license_url: string | null;
1028
- attribution_text: string | null;
1029
- };
1030
- imported: boolean;
1031
- deduped: boolean;
1032
- timeline_item_id: string | null;
1033
- txid: number | null;
1034
- };
1035
- export type StockMediaVariant = {
1036
- id: string;
1037
- label: string;
1038
- url: string;
1039
- mime_type: string;
1040
- width: number | null;
1041
- height: number | null;
1042
- quality: string | null;
1043
- };
1044
- export type StockMediaItem = {
1045
- provider: StockMediaProvider;
1046
- provider_asset_id: string;
1047
- asset_type: StockMediaAssetType;
1048
- title: string;
1049
- preview_url: string | null;
1050
- thumbnail_url: string | null;
1051
- source_url: string;
1052
- author_name: string | null;
1053
- author_url: string | null;
1054
- license_code: string;
1055
- license_url: string | null;
1056
- requires_attribution: boolean;
1057
- width: number | null;
1058
- height: number | null;
1059
- duration_seconds: number | null;
1060
- variants: StockMediaVariant[];
1061
- };
1062
- export type SearchStockMediaOptions = {
1063
- query: string;
1064
- assetType: StockMediaAssetType;
1065
- provider: StockMediaProvider | null | undefined;
1066
- orientation: StockMediaOrientation | null | undefined;
1067
- page: number | undefined;
1068
- limit: number | undefined;
1069
- };
1070
- export type SearchStockMediaResult = {
1071
- items: StockMediaItem[];
1072
- warnings: string[];
1073
- };
1074
- export type ImportStockMediaOptions = {
1075
- provider: StockMediaProvider;
1076
- providerAssetId: string;
1077
- assetType: StockMediaAssetType;
1078
- variantId: string | null | undefined;
1079
- folderId: string | null | undefined;
1080
- audioType: StockAudioType | undefined;
1081
- };
1082
- export type ImportStockMediaResult = {
1083
- asset: {
1084
- id: string;
1085
- name: string;
1086
- asset_type: StockMediaAssetType;
1087
- processing_status: string;
1088
- source_url: string;
1089
- license_code: string;
1090
- license_url: string | null;
1091
- };
1092
- imported: boolean;
1093
- deduped: boolean;
1094
- };
1095
- export type GlobalBrollLibraryItem = {
1096
- id: string;
1097
- asset_type: GlobalBrollLibraryAssetType;
1098
- title: string;
1099
- description: string;
1100
- tags: string[];
1101
- preview_url: string | null;
1102
- thumbnail_url: string | null;
1103
- mime_type: string;
1104
- file_size_bytes: number;
1105
- duration_seconds: number | null;
1106
- width: number | null;
1107
- height: number | null;
1108
- audio_type: GlobalBrollLibraryAudioType;
1109
- license_code: string;
1110
- license_url: string | null;
1111
- requires_attribution: boolean;
1112
- attribution_text: string | null;
1113
- source_url: string | null;
1114
- };
1115
- export type SearchGlobalBrollLibraryOptions = {
1116
- query: string | null | undefined;
1117
- assetType: GlobalBrollLibraryAssetType | null | undefined;
1118
- audioType: GlobalBrollLibraryAudioType | null | undefined;
1119
- limit: number | undefined;
1120
- offset: number | undefined;
1121
- };
1122
- export type SearchGlobalBrollLibraryResult = {
1123
- items: GlobalBrollLibraryItem[];
1124
- };
1125
- export type ImportGlobalBrollLibraryAssetOptions = {
1126
- libraryAssetId: string;
1127
- folderId: string | null | undefined;
1128
- };
1129
- export type ImportGlobalBrollLibraryAssetResult = {
1130
- asset: {
1131
- id: string;
1132
- name: string;
1133
- asset_type: GlobalBrollLibraryAssetType;
1134
- processing_status: string;
1135
- library_asset_id: string;
1136
- };
1137
- imported: boolean;
1138
- deduped: boolean;
1139
- };
1140
- export type MediaPositionPreset = "center" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "fullscreen" | "full-screen";
1141
- export type MediaAnimationPreset = "none" | "fadeIn" | "fadeOut" | "zoomIn" | "zoomOut" | "slideIn" | "slideLeft" | "slideRight" | "slideUp" | "slideDown" | "popIn" | "bounce" | "spin";
1142
- export type UpdateMediaOverlayOptions = {
1143
- projectId: string;
1144
- timelineItemId: string;
1145
- positionPreset: MediaPositionPreset | undefined;
1146
- positionX: number | undefined;
1147
- positionY: number | undefined;
1148
- widthPx: number | undefined;
1149
- heightPx: number | undefined;
1150
- keepAspectRatio: boolean | undefined;
1151
- scale: number | undefined;
1152
- opacity: number | undefined;
1153
- animationPreset: MediaAnimationPreset | undefined;
1154
- removeAnimations: boolean | undefined;
1155
- blurredBackground: boolean | undefined;
1156
- };
1157
- export type CaptionWordSelectorOptions = {
1158
- projectId: string;
1159
- wordIds: string[] | undefined;
1160
- matchText: string | undefined;
1161
- matchPattern: "numbers" | "caps" | "exclamations" | undefined;
1162
- timelineItemId: string | undefined;
1163
- all: boolean | undefined;
1164
- fromSeconds: number | undefined;
1165
- toSeconds: number | undefined;
1166
- };
1167
- export type ListCaptionWordsOptions = {
1168
- projectId: string;
1169
- timelineItemId: string | undefined;
1170
- matchText: string | undefined;
1171
- limit: number | undefined;
1172
- offset: number | undefined;
1173
- };
1174
- export type UpdateCaptionWordTextOptions = {
1175
- projectId: string;
1176
- wordId: string;
1177
- newText: string;
1178
- };
1179
- export type BatchUpdateCaptionWordTextOptions = {
1180
- projectId: string;
1181
- updates: Array<{
1182
- word_id: string;
1183
- new_text: string;
1184
- }>;
1185
- };
1186
- export type SetCaptionWordStyleOptions = CaptionWordSelectorOptions & {
1187
- style: JsonObject | null;
1188
- clearExisting: boolean | undefined;
1189
- };
1190
- export type SetCaptionWordEmphasisOptions = CaptionWordSelectorOptions & {
1191
- emphasis: boolean;
1192
- };
1193
- export type DeleteCaptionWordsOptions = {
1194
- projectId: string;
1195
- wordIds: string[] | undefined;
1196
- timelineItemId: string | undefined;
1197
- all: boolean | undefined;
1198
- fromSeconds: number | undefined;
1199
- toSeconds: number | undefined;
1200
- };
1201
- export type MergeCaptionWordsOptions = {
1202
- projectId: string;
1203
- wordIds: string[];
1204
- text: string | undefined;
1205
- };
1206
- export type SplitCaptionWordOptions = {
1207
- projectId: string;
1208
- wordId: string;
1209
- words: string[];
1210
- };
1211
- export type PreviewCaptionThemeOptions = {
1212
- settings: JsonObject;
1213
- sampleText: string | undefined;
1214
- aspectRatio: "9:16" | "16:9" | "1:1" | undefined;
1215
- targetWidth: number | undefined;
1216
- imageFormat: "png" | "jpeg" | undefined;
1217
- };
1218
- export type UpdateCaptionThemeOptions = {
1219
- themeId: string;
1220
- name: string | undefined;
1221
- description: string | undefined;
1222
- settings: JsonObject | undefined;
1223
- };
1224
- export type StartExportOptions = {
1225
- projectId: string;
1226
- resolution: string | undefined;
1227
- format: string | undefined;
1228
- coverFrameSeconds?: number | null;
1229
- };
1230
- export type WaitExportOptions = {
1231
- exportId: string;
1232
- intervalMs: number;
1233
- timeoutMs: number;
1234
- };
1235
- export type SilencePlanOptions = {
1236
- projectId: string;
1237
- timelineItemId: string | undefined;
1238
- allMediaItems: boolean | undefined;
1239
- strategy: "audio" | "caption-gaps" | undefined;
1240
- paddingMs: number | undefined;
1241
- silenceThresholdDb: number | undefined;
1242
- minSilenceDurationSeconds: number | undefined;
1243
- removeBlipsMaxDurationSeconds: number | undefined;
1244
- useCaptionValidation: boolean | undefined;
1245
- };
1246
- export type SilenceApplyOptions = SilencePlanOptions & {
1247
- deleteSilentClips: boolean | undefined;
1248
- manualSegmentOverrides: Record<string, "keep" | "cut"> | undefined;
1249
- segments: Array<{
1250
- timelineItemId: string | undefined;
1251
- startSeconds: number;
1252
- endSeconds: number;
1253
- }> | undefined;
1254
- previewConfirmed: true;
1255
- };
1256
- export type MistakePlanOptions = {
1257
- projectId: string;
1258
- timelineItemId: string;
1259
- };
1260
- export type MistakeApplyOptions = MistakePlanOptions & {
1261
- plan: JsonObject | undefined;
1262
- manualVerdicts: Record<string, "mistake" | "keeper" | "uncertain"> | undefined;
1263
- deleteMistakes: boolean | undefined;
1264
- previewConfirmed: true;
1265
- };
1266
- export type EffectEasing = "linear" | "easeIn" | "easeOut" | "easeInOut";
1267
- export type ZoomEffectSettings = {
1268
- scale: {
1269
- start: number;
1270
- end: number;
1271
- } | undefined;
1272
- translate: {
1273
- start: {
1274
- x: number;
1275
- y: number;
1276
- };
1277
- end: {
1278
- x: number;
1279
- y: number;
1280
- };
1281
- } | undefined;
1282
- anchor: {
1283
- x: number;
1284
- y: number;
1285
- } | undefined;
1286
- style: "transition" | "hard" | undefined;
1287
- phase: "in" | "out" | "both" | "none" | undefined;
1288
- inDurationSeconds: number | undefined;
1289
- outDurationSeconds: number | null | undefined;
1290
- outScale: number | null | undefined;
1291
- };
1292
- export type MaskEffectSettings = JsonObject;
1293
- export type ColorGradeEffectSettings = JsonObject;
1294
- export type AddEffectOptions<TSettings> = {
1295
- projectId: string;
1296
- timelineItemId: string | undefined;
1297
- contentItemId: string | undefined;
1298
- effectId: string | undefined;
1299
- name: string | undefined;
1300
- startTimeSeconds: number | undefined;
1301
- durationSeconds: number | undefined;
1302
- easing: EffectEasing | undefined;
1303
- layerIndex: number | undefined;
1304
- orderIndex: number | undefined;
1305
- settings: TSettings | undefined;
1306
- };
1307
- export type UpdateEffectOptions<TSettings> = {
1308
- projectId: string;
1309
- timelineItemId: string;
1310
- durationSeconds: number | undefined;
1311
- easing: EffectEasing | undefined;
1312
- settings: TSettings | undefined;
1313
- };
1314
- export type EffectMutationResult = {
1315
- success: true;
1316
- project_id: string;
1317
- timeline_item_id: string;
1318
- content_item_id: string;
1319
- effect_id: string;
1320
- effect_type: "zoom" | "mask" | "colorgrade";
1321
- txid: number | null;
1322
- };
1323
- export declare class BlitzReelsClient {
1324
- private apiKey;
1325
- private baseUrl;
1326
- private fetchFn;
1327
- private userAgent;
1328
- auth: {
1329
- validate: () => Promise<AuthValidation>;
1330
- };
1331
- projects: {
1332
- list: (options: ListProjectsOptions) => Promise<ProjectList>;
1333
- create: (options: CreateProjectOptions) => Promise<Project>;
1334
- get: (options: {
1335
- projectId: string;
1336
- }) => Promise<Project>;
1337
- update: (options: UpdateProjectOptions) => Promise<Project>;
1338
- delete: (options: {
1339
- projectId: string;
1340
- }) => Promise<{
1341
- success: true;
1342
- }>;
1343
- inspect: (options: InspectProjectOptions) => Promise<ProjectContext>;
1344
- timeline: (options: ProjectTimelineOptions) => Promise<ProjectContext>;
1345
- renderSnapshot: (options: SnapshotOptions) => Promise<PreviewFrame>;
1346
- renderSnapshots: (options: SnapshotBatchOptions) => Promise<PreviewFrames>;
1347
- };
1348
- timeline: TimelineResource;
1349
- effects: {
1350
- zoom: {
1351
- add: (options: AddEffectOptions<ZoomEffectSettings>) => Promise<EffectMutationResult>;
1352
- update: (options: UpdateEffectOptions<ZoomEffectSettings>) => Promise<EffectMutationResult>;
1353
- };
1354
- mask: {
1355
- add: (options: AddEffectOptions<MaskEffectSettings>) => Promise<EffectMutationResult>;
1356
- update: (options: UpdateEffectOptions<MaskEffectSettings>) => Promise<EffectMutationResult>;
1357
- };
1358
- colorgrade: {
1359
- add: (options: AddEffectOptions<ColorGradeEffectSettings>) => Promise<EffectMutationResult>;
1360
- update: (options: UpdateEffectOptions<ColorGradeEffectSettings>) => Promise<EffectMutationResult>;
1361
- };
1362
- };
1363
- workspace: {
1364
- getSettings: () => Promise<WorkspaceSettings>;
1365
- updateSettings: (options: UpdateWorkspaceSettingsOptions) => Promise<WorkspaceSettingsUpdate>;
1366
- };
1367
- media: {
1368
- list: (options: ListMediaOptions) => Promise<MediaLibraryList>;
1369
- get: (options: {
1370
- assetId: string;
1371
- }) => Promise<MediaAssetDetails>;
1372
- clippingStatus: (options: {
1373
- assetId: string;
1374
- projectId: string | undefined;
1375
- }) => Promise<JsonObject>;
1376
- delete: (options: {
1377
- assetId: string;
1378
- }) => Promise<{
1379
- success: boolean;
1380
- }>;
1381
- initUpload: (options: InitMediaUploadOptions) => Promise<MediaUploadInit>;
1382
- finalizeUpload: (options: FinalizeMediaUploadOptions) => Promise<MediaUploadFinalizeResult>;
1383
- importYoutube: (options: ImportYoutubeMediaOptions) => Promise<MediaImportYoutubeResult>;
1384
- update: (options: UpdateMediaOptions) => Promise<MediaAssetUpdateResult>;
1385
- move: (options: MoveMediaOptions) => Promise<MediaMoveResult>;
1386
- attachToProject: (options: AttachMediaToProjectOptions) => Promise<MediaAttachResult>;
1387
- updateOverlay: (options: UpdateMediaOverlayOptions) => Promise<UpdateMediaOverlayResult>;
1388
- shorts: {
1389
- list: (options: {
1390
- assetId: string;
1391
- }) => Promise<MediaShortSuggestionList>;
1392
- generate: (options: GenerateMediaShortSuggestionsOptions) => Promise<{
1393
- run_id: string;
1394
- }>;
1395
- apply: (options: ApplyMediaShortSuggestionOptions) => Promise<ApplyMediaShortSuggestionResult>;
1396
- };
1397
- folders: {
1398
- list: (options: ListMediaFoldersOptions) => Promise<MediaFoldersList>;
1399
- create: (options: CreateMediaFolderOptions) => Promise<{
1400
- success: true;
1401
- folder: MediaFolder;
1402
- }>;
1403
- update: (options: UpdateMediaFolderOptions) => Promise<{
1404
- success: true;
1405
- folder: MediaFolder;
1406
- }>;
1407
- delete: (options: {
1408
- folderId: string;
1409
- cascade: boolean | undefined;
1410
- }) => Promise<{
1411
- success: true;
1412
- }>;
1413
- };
1414
- };
1415
- clips: {
1416
- create: (options: CreateClipOptions) => Promise<ClipEnvelope>;
1417
- get: (options: {
1418
- clipId: string;
1419
- }) => Promise<ClipEnvelope>;
1420
- reselect: (options: ReselectClipOptions) => Promise<ClipEnvelope>;
1421
- repair: (options: RepairClipOptions) => Promise<ClipEnvelope>;
1422
- export: (options: ExportClipOptions) => Promise<ClipEnvelope>;
1423
- };
1424
- text: {
1425
- add: (options: AddTextOptions) => Promise<CreateContentItemResult>;
1426
- list: (options: {
1427
- projectId: string;
1428
- }) => Promise<ContentItemsList>;
1429
- update: (options: UpdateTextOptions) => Promise<{
1430
- success: boolean;
1431
- }>;
1432
- remove: (options: RemoveTextOptions) => Promise<{
1433
- success: boolean;
1434
- }>;
1435
- };
1436
- audio: {
1437
- add: (options: AddAudioOptions) => Promise<InsertAudioResult>;
1438
- update: (options: UpdateAudioOptions) => Promise<UpdateAudioResult>;
1439
- };
1440
- audioLibrary: {
1441
- search: (options: SearchAudioLibraryOptions) => Promise<SearchAudioLibraryResult>;
1442
- importAsset: (options: ImportAudioLibraryAssetOptions) => Promise<ImportAudioLibraryAssetResult>;
1443
- };
1444
- stockMedia: {
1445
- search: (options: SearchStockMediaOptions) => Promise<SearchStockMediaResult>;
1446
- importAsset: (options: ImportStockMediaOptions) => Promise<ImportStockMediaResult>;
1447
- };
1448
- library: {
1449
- search: (options: SearchGlobalBrollLibraryOptions) => Promise<SearchGlobalBrollLibraryResult>;
1450
- importAsset: (options: ImportGlobalBrollLibraryAssetOptions) => Promise<ImportGlobalBrollLibraryAssetResult>;
1451
- };
1452
- silence: {
1453
- plan: (options: SilencePlanOptions) => Promise<unknown>;
1454
- apply: (options: SilenceApplyOptions) => Promise<unknown>;
1455
- };
1456
- mistakes: {
1457
- plan: (options: MistakePlanOptions) => Promise<unknown>;
1458
- apply: (options: MistakeApplyOptions) => Promise<unknown>;
1459
- };
1460
- aiEdit: AiEditResource;
1461
- captions: CaptionsResource;
1462
- exports: {
1463
- start: (options: StartExportOptions) => Promise<ExportStartResult>;
1464
- get: (options: {
1465
- exportId: string;
1466
- }) => Promise<ExportStatus>;
1467
- wait: (options: WaitExportOptions) => Promise<ExportStatus>;
1468
- download: (options: {
1469
- exportId: string;
1470
- }) => Promise<ArrayBuffer>;
1471
- };
1472
- jobs: {
1473
- get: (options: {
1474
- jobId: string;
1475
- }) => Promise<JobStatus>;
1476
- };
1477
- constructor(config: BlitzReelsClientConfig);
1478
- request<T>(options: RequestOptions): Promise<T>;
1479
- private waitForExport;
1480
- private updateTextContentItem;
1481
- private downloadExport;
1482
- }
1
+ export type { BlitzReelsCliExitCode, BlitzReelsErrorCode, BlitzReelsErrorDetails, PublicErrorCode, SequenceOperationDefinition, SequenceOperationErrorCode, SequenceOperationErrorDefinition, SequenceOperationExposure, SequenceOperationFamily, SequenceOperationId, SequenceOperationItemFailure, SequenceOperationPreviewSupport, SequenceOperationPreviewSurface, SequenceOperationProjection, SequenceOperationProjections, SequenceOperationSurface, } from "@blitzreels/contracts";
2
+ export { getBlitzReelsErrorCliExitCode, getBlitzReelsErrorDefaultRetryable, getSequenceOperationDefinition, getSequenceOperationErrorDefinition, isBlitzReelsErrorCode, isSequenceOperationErrorCode, isSequenceOperationId, SEQUENCE_OPERATION_DEFINITIONS, SEQUENCE_OPERATION_ERROR_CODES, SEQUENCE_OPERATION_ERROR_DEFINITIONS, SEQUENCE_OPERATION_IDS, } from "@blitzreels/contracts";
3
+ export { BlitzReelsClient } from "./client.js";
4
+ export { BlitzReelsError } from "./transport.js";
5
+ export type { AiEditAppendRunLogOptions, AiEditAppendRunLogResult, AiEditApplyStyleOptions, AiEditApplyStyleResult, AiEditCompleteOptions, AiEditCompleteResult, AiEditControllerKind, AiEditCreateRunOptions, AiEditQualityTarget, AiEditRenderSnapshotsOptions, AiEditRunArtifact, AiEditRunEnvelope, AiEditRunLog, AiEditRunLogsEnvelope, AiEditRunLogsOptions, AiEditRunStatus, AiEditSnapshotsResult, AiEditSnapshotTime, AiEditStyleId, AiEditStylesList, AiEditValidateOptions, AiEditValidationResult, } from "./types/ai-edit.js";
6
+ export type { BatchUpdateCaptionWordTextOptions, CaptionLookList, CaptionPresetList, CaptionStyle, CaptionStyleUpdateResult, CaptionTheme, CaptionThemeDefaultResult, CaptionThemeList, CaptionThemePreview, CaptionTrackMutationResult, CaptionTrackSelectorOptions, CaptionWordBatchTextResult, CaptionWordCountResult, CaptionWordMutationResult, CaptionWordSelectorOptions, CaptionWordsList, CaptionWordTextResult, CaptionWordTimingResult, DeleteCaptionWordsOptions, GenerateCaptionMagicEmojisOptions, GenerateCaptionMagicEmojisResult, ListCaptionWordsOptions, MergeCaptionWordsOptions, PreviewCaptionThemeOptions, RetimeCaptionWordsOptions, SetCaptionWordEmphasisOptions, SetCaptionWordStyleOptions, SplitCaptionWordOptions, UpdateCaptionStyleOptions, UpdateCaptionThemeOptions, UpdateCaptionWordTextOptions, } from "./types/captions.js";
7
+ export type { ClipBatch, ClipBatchClip, ClipBatchEnvelope, ClipEnvelope, ClipList, ClipPresetId, ClipRepairReceipt, ClipSelectionMode, ClipSelectionOptions, ClipTargetOptions, CreateClipBatchOptions, DeleteClipBatchOptions, DeleteClipBatchReceipt, ExportClipOptions, ExportClipRequestOptions, ListClipsOptions, RepairClipOptions, RepairClipRequestOptions, ReselectClipOptions, ReselectClipRequestOptions, YoutubeImportQuality, } from "./types/clips.js";
8
+ export type { AddAudioOptions, AddEffectOptions, AddTextOptions, AddTitleCardOptions, BlitzReelsClientConfig, BlitzReelsErrorOptions, BulkDeleteOptions, BulkDeleteResult, ColorGradeEffectSettings, ContentItem, ContentItemKind, ContentItemsList, CreateContentItemResult, EffectEasing, EffectMutationResult, FetchFn, HttpMethod, IdempotentRequestOptions, InsertAudioResult, JsonObject, MaskEffectSettings, MistakeApplyOptions, MistakePlanOptions, QueryParams, QueryValue, RemoveTextOptions, RequestOptions, SilenceApplyOptions, SilencePlanOptions, UpdateAudioOptions, UpdateAudioResult, UpdateEffectOptions, UpdateMediaOverlayResult, UpdateTextOptions, UpdateTextResult, ZoomEffectSettings, } from "./types/common.js";
9
+ export type { ExportStartResult, ExportStatus, JobStatus, ListProjectExportsOptions, ProjectExportList, StartExportOptions, WaitExportOptions, } from "./types/exports.js";
10
+ export type { ApproveFacelessRevisionOptions, CreateFacelessPlanOptions, FacelessApprovalReceipt, FacelessAssetRegenerationReceipt, FacelessCharacterRevisionUpdate, FacelessPlanCharacter, FacelessPlanRevision, FacelessPlanRevisionStatus, FacelessPlanScene, FacelessProductionPlan, FacelessRevisionOptions, FacelessSceneRevisionUpdate, FacelessSemanticActionAnalysis, FacelessSemanticActionQa, RegenerateFacelessAssetOptions, ReviseFacelessPlanOptions, } from "./types/faceless.js";
11
+ export type { TextToVideoModelId, VideoModelBenchmarkOptions, VideoModelBenchmarkReceipt, } from "./types/formats.js";
12
+ export type { GenerateFacelessOptions, GenerateImageOptions, GenerateMusicOptions, GenerateSoundOptions, GenerateVideoOptions, GenerateVoiceoverOptions, GenerationJob, GenerationKind, GenerationReceipt, WaitForGenerationOptions, } from "./types/generation.js";
13
+ export type { AudioLibraryItem, AudioLibraryLicenseFilter, AudioLibraryProvider, AudioLibraryProviderFilter, AudioLibraryTypeFilter, GlobalBrollLibraryAssetType, GlobalBrollLibraryAudioType, GlobalBrollLibraryItem, ImportAudioLibraryAssetOptions, ImportAudioLibraryAssetResult, ImportGlobalBrollLibraryAssetOptions, ImportGlobalBrollLibraryAssetResult, ImportStockMediaOptions, ImportStockMediaResult, SearchAudioLibraryOptions, SearchAudioLibraryResult, SearchGlobalBrollLibraryOptions, SearchGlobalBrollLibraryResult, SearchStockMediaOptions, SearchStockMediaResult, StockAudioType, StockMediaAssetType, StockMediaItem, StockMediaOrientation, StockMediaProvider, StockMediaVariant, } from "./types/libraries.js";
14
+ export type { ApplyMediaShortSuggestionOptions, ApplyMediaShortSuggestionResult, AttachMediaToProjectOptions, CreateMediaFolderOptions, EmptyMediaFolderOptions, FinalizeMediaUploadOptions, GenerateMediaShortSuggestionsOptions, ImportGoogleDriveMediaOptions, ImportYoutubeMediaOptions, InitMediaUploadOptions, ListMediaFoldersOptions, ListMediaOptions, ListMediaShortSuggestionsOptions, MediaAnimationPreset, MediaAssetDetails, MediaAssetType, MediaAssetUpdateResult, MediaAttachResult, MediaFolder, MediaFoldersList, MediaImportGoogleDriveResult, MediaImportYoutubeResult, MediaLibraryAsset, MediaLibraryList, MediaMoveResult, MediaPlacementIntent, MediaPositionPreset, MediaShortSuggestion, MediaShortSuggestionList, MediaUploadFinalizeResult, MediaUploadInit, MoveMediaOptions, RefreshMediaShortSuggestionThumbnailOptions, RefreshMediaShortSuggestionThumbnailResult, UpdateMediaFolderOptions, UpdateMediaOptions, UpdateMediaOverlayOptions, } from "./types/media.js";
15
+ export type { AuthValidation, CreateProjectOptions, InspectProjectOptions, ListProjectsOptions, PreviewFrame, PreviewFrames, Project, ProjectContext, ProjectContextBounds, ProjectContextCollectionBounds, ProjectContextMode, ProjectList, ProjectListProject, ProjectTimelineOptions, ProjectTimelineSummary, ProjectVisualDebug, ProjectVisualDebugOptions, SnapshotBatchOptions, SnapshotOptions, UpdateProjectOptions, VisualDebugRect, } from "./types/projects.js";
16
+ export type { SequenceTimingExecuteOptions, SequenceTimingExecuteResult, SequenceTimingPreviewOptions, SequenceTimingPreviewResult, TimelineBatchDeleteResult, TimelineBatchMoveOptions, TimelineBatchMoveResult, TimelineBatchTransformOptions, TimelineBatchTransformResult, TimelineBatchTrimOptions, TimelineBatchTrimResult, TimelineCutOptions, TimelineDeleteOptions, TimelineEditResult, TimelineItemDeleteResult, TimelineMoveOptions, TimelineSplitOptions, TimelineTransformOptions, TimelineTrimOptions, } from "./types/timeline.js";
17
+ export type { BrandLogoCandidate, BrandSocialProfile, CompleteOnboardingOptions, ImportOnboardingLogoOptions, OnboardingBrandProfile, OnboardingBrandProfileEnvelope, OnboardingBrandProfileInput, OnboardingBrandScan, OnboardingBusinessOutcome, OnboardingLogoImportResult, OnboardingNextAction, StartOnboardingBrandScanOptions, UpdateWorkspaceSettingsOptions, WorkspaceSettings, WorkspaceSettingsUpdate, } from "./types/workspace.js";
1483
18
  //# sourceMappingURL=index.d.ts.map