@stack0/sdk 0.5.14 → 0.5.15

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.
@@ -291,7 +291,8 @@ interface TranscodeJob {
291
291
  outputFormat: VideoOutputFormat;
292
292
  variants: VideoVariant[];
293
293
  progress: number | null;
294
- error: string | null;
294
+ /** Provider or preprocessing failure details when status is `failed`. */
295
+ errorMessage: string | null;
295
296
  mediaConvertJobId: string | null;
296
297
  createdAt: Date;
297
298
  startedAt: Date | null;
@@ -638,6 +639,7 @@ interface MovePrivateFilesResponse {
638
639
  type MergeStatus = TranscodingStatus;
639
640
  type MergeQuality = VideoQuality;
640
641
  type MergeOutputFormat = "mp4" | "webm";
642
+ type MergeAspectRatio = "auto" | "16:9" | "9:16" | "1:1";
641
643
  /**
642
644
  * Text overlay shadow configuration
643
645
  */
@@ -724,6 +726,13 @@ interface MergeOutputConfig {
724
726
  format?: MergeOutputFormat;
725
727
  /** Output quality (default: 720p) */
726
728
  quality?: MergeQuality;
729
+ /**
730
+ * Output aspect ratio (default: "auto").
731
+ * "auto" matches the orientation of the first visual input — portrait inputs
732
+ * produce portrait output (e.g. 1080x1920 at 1080p), ideal for Reels/TikTok.
733
+ * Explicit values force the canvas; the quality sets the short edge.
734
+ */
735
+ aspectRatio?: MergeAspectRatio;
727
736
  /** Custom filename for the output */
728
737
  filename?: string;
729
738
  }
@@ -781,6 +790,7 @@ interface MergeJob {
781
790
  audioTrackAssetId: string | null;
782
791
  outputFormat: MergeOutputFormat;
783
792
  outputQuality: MergeQuality;
793
+ outputAspectRatio: MergeAspectRatio;
784
794
  outputFilename: string | null;
785
795
  outputAssetId: string | null;
786
796
  status: MergeStatus;
@@ -1254,6 +1264,7 @@ declare class CDN {
1254
1264
  * ```typescript
1255
1265
  * const job = await cdn.getJob('job-id');
1256
1266
  * console.log(`Status: ${job.status}, Progress: ${job.progress}%`);
1267
+ * if (job.status === 'failed') console.error(job.errorMessage);
1257
1268
  * ```
1258
1269
  */
1259
1270
  getJob(jobId: string): Promise<TranscodeJob>;
@@ -1693,6 +1704,7 @@ declare class CDN {
1693
1704
  * output: {
1694
1705
  * format: 'mp4',
1695
1706
  * quality: '1080p',
1707
+ * aspectRatio: 'auto', // match first input's orientation ('9:16' forces vertical)
1696
1708
  * filename: 'final-video.mp4',
1697
1709
  * },
1698
1710
  * webhookUrl: 'https://your-app.com/webhook',
@@ -1857,4 +1869,4 @@ declare class CDN {
1857
1869
  private convertImportFileDates;
1858
1870
  }
1859
1871
 
1860
- export { type Asset, type AssetStatus, type AssetType, type AudioTrackInput, type BundleDownloadUrlRequest, type BundleDownloadUrlResponse, type BundleStatus, CDN, type CancelImportResponse, type CancelMergeJobRequest, type CdnEnvironment, type CdnStorageBreakdownItem, type CdnStorageBreakdownRequest, type CdnStorageBreakdownResponse, type CdnUsageDataPoint, type CdnUsageHistoryRequest, type CdnUsageHistoryResponse, type CdnUsageRequest, type CdnUsageResponse, type ConfirmUploadRequest, type ConfirmUploadResponse, type CreateBundleRequest, type CreateBundleResponse, type CreateFolderRequest, type CreateImportRequest, type CreateImportResponse, type CreateMergeJobRequest, type DeleteAssetRequest, type DeleteAssetsRequest, type DeleteAssetsResponse, type DownloadBundle, type ExtractAudioRequest, type ExtractAudioResponse, type Folder, type FolderListItem, type FolderTreeNode, type GenerateGifRequest, type GetAssetRequest, type GetFolderByPathRequest, type GetFolderRequest, type GetFolderTreeRequest, type GetMergeJobRequest, type GifStatus, type ImageWatermarkConfig, type ImageWatermarkPosition, type ImageWatermarkSizingMode, type ImportAuthType, type ImportError, type ImportFile, type ImportFileStatus, type ImportJob, type ImportJobStatus, type ImportJobSummary, type ImportPathMode, type ListAssetsRequest, type ListAssetsResponse, type ListBundlesRequest, type ListBundlesResponse, type ListFoldersRequest, type ListFoldersResponse, type ListGifsRequest, type ListImportFilesRequest, type ListImportFilesResponse, type ListImportsRequest, type ListImportsResponse, type ListJobsRequest, type ListJobsResponse, type ListMergeJobsRequest, type ListMergeJobsResponse, type ListPrivateFilesRequest, type ListPrivateFilesResponse, type ListThumbnailsRequest, type ListThumbnailsResponse, type MergeInputItem, type MergeJob, type MergeJobWithOutput, type MergeOutputConfig, type MergeOutputFormat, type MergeQuality, type MergeStatus, type MoveAssetsRequest, type MoveAssetsResponse, type MoveFolderRequest, type MoveFolderResponse, type MovePrivateFilesRequest, type MovePrivateFilesResponse, type PrivateDownloadUrlRequest, type PrivateDownloadUrlResponse, type PrivateFile, type PrivateFileStatus, type PrivateUploadUrlRequest, type PrivateUploadUrlResponse, type RegenerateThumbnailRequest, type RegenerateThumbnailResponse, type RetryImportResponse, type StreamingUrls, type TextOverlay, type TextOverlayShadow, type TextOverlayStroke, type ThumbnailRequest, type ThumbnailResponse, type TranscodeJob, type TranscodeVideoRequest, type TranscodingStatus, type TransformOptions, type TrimOptions, type UpdateAssetRequest, type UpdateFolderRequest, type UpdatePrivateFileRequest, type UploadFromUrlRequest, type UploadUrlRequest, type UploadUrlResponse, type VideoCodec, type VideoGif, type VideoOutputFormat, type VideoQuality, type VideoThumbnail, type VideoVariant, type WatermarkOptions };
1872
+ export { type Asset, type AssetStatus, type AssetType, type AudioTrackInput, type BundleDownloadUrlRequest, type BundleDownloadUrlResponse, type BundleStatus, CDN, type CancelImportResponse, type CancelMergeJobRequest, type CdnEnvironment, type CdnStorageBreakdownItem, type CdnStorageBreakdownRequest, type CdnStorageBreakdownResponse, type CdnUsageDataPoint, type CdnUsageHistoryRequest, type CdnUsageHistoryResponse, type CdnUsageRequest, type CdnUsageResponse, type ConfirmUploadRequest, type ConfirmUploadResponse, type CreateBundleRequest, type CreateBundleResponse, type CreateFolderRequest, type CreateImportRequest, type CreateImportResponse, type CreateMergeJobRequest, type DeleteAssetRequest, type DeleteAssetsRequest, type DeleteAssetsResponse, type DownloadBundle, type ExtractAudioRequest, type ExtractAudioResponse, type Folder, type FolderListItem, type FolderTreeNode, type GenerateGifRequest, type GetAssetRequest, type GetFolderByPathRequest, type GetFolderRequest, type GetFolderTreeRequest, type GetMergeJobRequest, type GifStatus, type ImageWatermarkConfig, type ImageWatermarkPosition, type ImageWatermarkSizingMode, type ImportAuthType, type ImportError, type ImportFile, type ImportFileStatus, type ImportJob, type ImportJobStatus, type ImportJobSummary, type ImportPathMode, type ListAssetsRequest, type ListAssetsResponse, type ListBundlesRequest, type ListBundlesResponse, type ListFoldersRequest, type ListFoldersResponse, type ListGifsRequest, type ListImportFilesRequest, type ListImportFilesResponse, type ListImportsRequest, type ListImportsResponse, type ListJobsRequest, type ListJobsResponse, type ListMergeJobsRequest, type ListMergeJobsResponse, type ListPrivateFilesRequest, type ListPrivateFilesResponse, type ListThumbnailsRequest, type ListThumbnailsResponse, type MergeAspectRatio, type MergeInputItem, type MergeJob, type MergeJobWithOutput, type MergeOutputConfig, type MergeOutputFormat, type MergeQuality, type MergeStatus, type MoveAssetsRequest, type MoveAssetsResponse, type MoveFolderRequest, type MoveFolderResponse, type MovePrivateFilesRequest, type MovePrivateFilesResponse, type PrivateDownloadUrlRequest, type PrivateDownloadUrlResponse, type PrivateFile, type PrivateFileStatus, type PrivateUploadUrlRequest, type PrivateUploadUrlResponse, type RegenerateThumbnailRequest, type RegenerateThumbnailResponse, type RetryImportResponse, type StreamingUrls, type TextOverlay, type TextOverlayShadow, type TextOverlayStroke, type ThumbnailRequest, type ThumbnailResponse, type TranscodeJob, type TranscodeVideoRequest, type TranscodingStatus, type TransformOptions, type TrimOptions, type UpdateAssetRequest, type UpdateFolderRequest, type UpdatePrivateFileRequest, type UploadFromUrlRequest, type UploadUrlRequest, type UploadUrlResponse, type VideoCodec, type VideoGif, type VideoOutputFormat, type VideoQuality, type VideoThumbnail, type VideoVariant, type WatermarkOptions };
@@ -291,7 +291,8 @@ interface TranscodeJob {
291
291
  outputFormat: VideoOutputFormat;
292
292
  variants: VideoVariant[];
293
293
  progress: number | null;
294
- error: string | null;
294
+ /** Provider or preprocessing failure details when status is `failed`. */
295
+ errorMessage: string | null;
295
296
  mediaConvertJobId: string | null;
296
297
  createdAt: Date;
297
298
  startedAt: Date | null;
@@ -638,6 +639,7 @@ interface MovePrivateFilesResponse {
638
639
  type MergeStatus = TranscodingStatus;
639
640
  type MergeQuality = VideoQuality;
640
641
  type MergeOutputFormat = "mp4" | "webm";
642
+ type MergeAspectRatio = "auto" | "16:9" | "9:16" | "1:1";
641
643
  /**
642
644
  * Text overlay shadow configuration
643
645
  */
@@ -724,6 +726,13 @@ interface MergeOutputConfig {
724
726
  format?: MergeOutputFormat;
725
727
  /** Output quality (default: 720p) */
726
728
  quality?: MergeQuality;
729
+ /**
730
+ * Output aspect ratio (default: "auto").
731
+ * "auto" matches the orientation of the first visual input — portrait inputs
732
+ * produce portrait output (e.g. 1080x1920 at 1080p), ideal for Reels/TikTok.
733
+ * Explicit values force the canvas; the quality sets the short edge.
734
+ */
735
+ aspectRatio?: MergeAspectRatio;
727
736
  /** Custom filename for the output */
728
737
  filename?: string;
729
738
  }
@@ -781,6 +790,7 @@ interface MergeJob {
781
790
  audioTrackAssetId: string | null;
782
791
  outputFormat: MergeOutputFormat;
783
792
  outputQuality: MergeQuality;
793
+ outputAspectRatio: MergeAspectRatio;
784
794
  outputFilename: string | null;
785
795
  outputAssetId: string | null;
786
796
  status: MergeStatus;
@@ -1254,6 +1264,7 @@ declare class CDN {
1254
1264
  * ```typescript
1255
1265
  * const job = await cdn.getJob('job-id');
1256
1266
  * console.log(`Status: ${job.status}, Progress: ${job.progress}%`);
1267
+ * if (job.status === 'failed') console.error(job.errorMessage);
1257
1268
  * ```
1258
1269
  */
1259
1270
  getJob(jobId: string): Promise<TranscodeJob>;
@@ -1693,6 +1704,7 @@ declare class CDN {
1693
1704
  * output: {
1694
1705
  * format: 'mp4',
1695
1706
  * quality: '1080p',
1707
+ * aspectRatio: 'auto', // match first input's orientation ('9:16' forces vertical)
1696
1708
  * filename: 'final-video.mp4',
1697
1709
  * },
1698
1710
  * webhookUrl: 'https://your-app.com/webhook',
@@ -1857,4 +1869,4 @@ declare class CDN {
1857
1869
  private convertImportFileDates;
1858
1870
  }
1859
1871
 
1860
- export { type Asset, type AssetStatus, type AssetType, type AudioTrackInput, type BundleDownloadUrlRequest, type BundleDownloadUrlResponse, type BundleStatus, CDN, type CancelImportResponse, type CancelMergeJobRequest, type CdnEnvironment, type CdnStorageBreakdownItem, type CdnStorageBreakdownRequest, type CdnStorageBreakdownResponse, type CdnUsageDataPoint, type CdnUsageHistoryRequest, type CdnUsageHistoryResponse, type CdnUsageRequest, type CdnUsageResponse, type ConfirmUploadRequest, type ConfirmUploadResponse, type CreateBundleRequest, type CreateBundleResponse, type CreateFolderRequest, type CreateImportRequest, type CreateImportResponse, type CreateMergeJobRequest, type DeleteAssetRequest, type DeleteAssetsRequest, type DeleteAssetsResponse, type DownloadBundle, type ExtractAudioRequest, type ExtractAudioResponse, type Folder, type FolderListItem, type FolderTreeNode, type GenerateGifRequest, type GetAssetRequest, type GetFolderByPathRequest, type GetFolderRequest, type GetFolderTreeRequest, type GetMergeJobRequest, type GifStatus, type ImageWatermarkConfig, type ImageWatermarkPosition, type ImageWatermarkSizingMode, type ImportAuthType, type ImportError, type ImportFile, type ImportFileStatus, type ImportJob, type ImportJobStatus, type ImportJobSummary, type ImportPathMode, type ListAssetsRequest, type ListAssetsResponse, type ListBundlesRequest, type ListBundlesResponse, type ListFoldersRequest, type ListFoldersResponse, type ListGifsRequest, type ListImportFilesRequest, type ListImportFilesResponse, type ListImportsRequest, type ListImportsResponse, type ListJobsRequest, type ListJobsResponse, type ListMergeJobsRequest, type ListMergeJobsResponse, type ListPrivateFilesRequest, type ListPrivateFilesResponse, type ListThumbnailsRequest, type ListThumbnailsResponse, type MergeInputItem, type MergeJob, type MergeJobWithOutput, type MergeOutputConfig, type MergeOutputFormat, type MergeQuality, type MergeStatus, type MoveAssetsRequest, type MoveAssetsResponse, type MoveFolderRequest, type MoveFolderResponse, type MovePrivateFilesRequest, type MovePrivateFilesResponse, type PrivateDownloadUrlRequest, type PrivateDownloadUrlResponse, type PrivateFile, type PrivateFileStatus, type PrivateUploadUrlRequest, type PrivateUploadUrlResponse, type RegenerateThumbnailRequest, type RegenerateThumbnailResponse, type RetryImportResponse, type StreamingUrls, type TextOverlay, type TextOverlayShadow, type TextOverlayStroke, type ThumbnailRequest, type ThumbnailResponse, type TranscodeJob, type TranscodeVideoRequest, type TranscodingStatus, type TransformOptions, type TrimOptions, type UpdateAssetRequest, type UpdateFolderRequest, type UpdatePrivateFileRequest, type UploadFromUrlRequest, type UploadUrlRequest, type UploadUrlResponse, type VideoCodec, type VideoGif, type VideoOutputFormat, type VideoQuality, type VideoThumbnail, type VideoVariant, type WatermarkOptions };
1872
+ export { type Asset, type AssetStatus, type AssetType, type AudioTrackInput, type BundleDownloadUrlRequest, type BundleDownloadUrlResponse, type BundleStatus, CDN, type CancelImportResponse, type CancelMergeJobRequest, type CdnEnvironment, type CdnStorageBreakdownItem, type CdnStorageBreakdownRequest, type CdnStorageBreakdownResponse, type CdnUsageDataPoint, type CdnUsageHistoryRequest, type CdnUsageHistoryResponse, type CdnUsageRequest, type CdnUsageResponse, type ConfirmUploadRequest, type ConfirmUploadResponse, type CreateBundleRequest, type CreateBundleResponse, type CreateFolderRequest, type CreateImportRequest, type CreateImportResponse, type CreateMergeJobRequest, type DeleteAssetRequest, type DeleteAssetsRequest, type DeleteAssetsResponse, type DownloadBundle, type ExtractAudioRequest, type ExtractAudioResponse, type Folder, type FolderListItem, type FolderTreeNode, type GenerateGifRequest, type GetAssetRequest, type GetFolderByPathRequest, type GetFolderRequest, type GetFolderTreeRequest, type GetMergeJobRequest, type GifStatus, type ImageWatermarkConfig, type ImageWatermarkPosition, type ImageWatermarkSizingMode, type ImportAuthType, type ImportError, type ImportFile, type ImportFileStatus, type ImportJob, type ImportJobStatus, type ImportJobSummary, type ImportPathMode, type ListAssetsRequest, type ListAssetsResponse, type ListBundlesRequest, type ListBundlesResponse, type ListFoldersRequest, type ListFoldersResponse, type ListGifsRequest, type ListImportFilesRequest, type ListImportFilesResponse, type ListImportsRequest, type ListImportsResponse, type ListJobsRequest, type ListJobsResponse, type ListMergeJobsRequest, type ListMergeJobsResponse, type ListPrivateFilesRequest, type ListPrivateFilesResponse, type ListThumbnailsRequest, type ListThumbnailsResponse, type MergeAspectRatio, type MergeInputItem, type MergeJob, type MergeJobWithOutput, type MergeOutputConfig, type MergeOutputFormat, type MergeQuality, type MergeStatus, type MoveAssetsRequest, type MoveAssetsResponse, type MoveFolderRequest, type MoveFolderResponse, type MovePrivateFilesRequest, type MovePrivateFilesResponse, type PrivateDownloadUrlRequest, type PrivateDownloadUrlResponse, type PrivateFile, type PrivateFileStatus, type PrivateUploadUrlRequest, type PrivateUploadUrlResponse, type RegenerateThumbnailRequest, type RegenerateThumbnailResponse, type RetryImportResponse, type StreamingUrls, type TextOverlay, type TextOverlayShadow, type TextOverlayStroke, type ThumbnailRequest, type ThumbnailResponse, type TranscodeJob, type TranscodeVideoRequest, type TranscodingStatus, type TransformOptions, type TrimOptions, type UpdateAssetRequest, type UpdateFolderRequest, type UpdatePrivateFileRequest, type UploadFromUrlRequest, type UploadUrlRequest, type UploadUrlResponse, type VideoCodec, type VideoGif, type VideoOutputFormat, type VideoQuality, type VideoThumbnail, type VideoVariant, type WatermarkOptions };
package/dist/cdn/index.js CHANGED
@@ -484,6 +484,7 @@ var CDN = class {
484
484
  * ```typescript
485
485
  * const job = await cdn.getJob('job-id');
486
486
  * console.log(`Status: ${job.status}, Progress: ${job.progress}%`);
487
+ * if (job.status === 'failed') console.error(job.errorMessage);
487
488
  * ```
488
489
  */
489
490
  async getJob(jobId) {
@@ -537,7 +538,7 @@ var CDN = class {
537
538
  * ```
538
539
  */
539
540
  async getStreamingUrls(assetId) {
540
- return this.http.get(`/cdn/video/stream/${assetId}`);
541
+ return this.http.get(`/cdn/video/${assetId}/stream`);
541
542
  }
542
543
  /**
543
544
  * Generate a thumbnail from a video at a specific timestamp
@@ -1191,6 +1192,7 @@ var CDN = class {
1191
1192
  * output: {
1192
1193
  * format: 'mp4',
1193
1194
  * quality: '1080p',
1195
+ * aspectRatio: 'auto', // match first input's orientation ('9:16' forces vertical)
1194
1196
  * filename: 'final-video.mp4',
1195
1197
  * },
1196
1198
  * webhookUrl: 'https://your-app.com/webhook',