glitch-javascript-sdk 2.1.5 → 2.1.7

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.
@@ -14,6 +14,22 @@ export interface SteamCapsuleAnalysisRequest {
14
14
  game_name?: string;
15
15
  game_genre?: string;
16
16
  }
17
+ export interface RemoveBackgroundRequest {
18
+ media_id: string;
19
+ output_format?: 'png' | 'webp';
20
+ }
21
+ export interface RemoveBackgroundAIRequest {
22
+ media_id: string;
23
+ use_ai_analysis?: boolean;
24
+ }
25
+ export interface CreateLibraryLogoRequest {
26
+ media_id: string;
27
+ target_width?: number;
28
+ target_height?: number;
29
+ }
30
+ export interface ValidateScreenshotRequest {
31
+ media_id: string;
32
+ }
17
33
  export interface SteamCapsuleDimensions {
18
34
  width: number;
19
35
  height: number;
@@ -46,6 +62,30 @@ export interface SteamCapsuleAnalysisResponse {
46
62
  ai_description: string;
47
63
  guidelines: any;
48
64
  }
65
+ export interface RemoveBackgroundResponse {
66
+ success: boolean;
67
+ message: string;
68
+ data: any;
69
+ }
70
+ export interface RemoveBackgroundAIResponse {
71
+ success: boolean;
72
+ message: string;
73
+ data: any;
74
+ ai_used: boolean;
75
+ }
76
+ export interface CreateLibraryLogoResponse {
77
+ success: boolean;
78
+ message: string;
79
+ data: any;
80
+ }
81
+ export interface ScreenshotValidationResponse {
82
+ success: boolean;
83
+ valid: boolean;
84
+ dimensions: SteamCapsuleDimensions;
85
+ aspect_ratio: number;
86
+ issues: string[];
87
+ recommendations: string[];
88
+ }
49
89
  declare class Media {
50
90
  /**
51
91
  * Upload media content using a File object.
@@ -80,13 +120,13 @@ declare class Media {
80
120
  */
81
121
  static get<T>(media_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
82
122
  /**
83
- * Crop and resize an image to Steam capsule dimensions.
84
- *
85
- * @param request The crop request parameters.
86
- * @param params Additional query parameters.
87
- *
88
- * @returns promise
89
- */
123
+ * Crop and resize an image to Steam capsule dimensions.
124
+ *
125
+ * @param request The crop request parameters.
126
+ * @param params Additional query parameters.
127
+ *
128
+ * @returns promise
129
+ */
90
130
  static cropSteamCapsule(request: SteamCapsuleCropRequest, params?: Record<string, any>): AxiosPromise<Response<SteamCapsuleCropResponse>>;
91
131
  /**
92
132
  * Analyze a Steam capsule image using AI.
@@ -97,6 +137,42 @@ declare class Media {
97
137
  * @returns promise
98
138
  */
99
139
  static analyzeSteamCapsule(request: SteamCapsuleAnalysisRequest, params?: Record<string, any>): AxiosPromise<Response<SteamCapsuleAnalysisResponse>>;
140
+ /**
141
+ * Remove background from an image to create transparent PNG.
142
+ *
143
+ * @param request The background removal request parameters.
144
+ * @param params Additional query parameters.
145
+ *
146
+ * @returns promise
147
+ */
148
+ static removeBackground(request: RemoveBackgroundRequest, params?: Record<string, any>): AxiosPromise<Response<RemoveBackgroundResponse>>;
149
+ /**
150
+ * Remove background from an image using AI analysis for better results.
151
+ *
152
+ * @param request The AI-enhanced background removal request parameters.
153
+ * @param params Additional query parameters.
154
+ *
155
+ * @returns promise
156
+ */
157
+ static removeBackgroundAI(request: RemoveBackgroundAIRequest, params?: Record<string, any>): AxiosPromise<Response<RemoveBackgroundAIResponse>>;
158
+ /**
159
+ * Create a Steam Library Logo meeting Steam's requirements.
160
+ *
161
+ * @param request The library logo creation request parameters.
162
+ * @param params Additional query parameters.
163
+ *
164
+ * @returns promise
165
+ */
166
+ static createLibraryLogo(request: CreateLibraryLogoRequest, params?: Record<string, any>): AxiosPromise<Response<CreateLibraryLogoResponse>>;
167
+ /**
168
+ * Validate a screenshot against Steam's requirements.
169
+ *
170
+ * @param request The screenshot validation request parameters.
171
+ * @param params Additional query parameters.
172
+ *
173
+ * @returns promise
174
+ */
175
+ static validateScreenshot(request: ValidateScreenshotRequest, params?: Record<string, any>): AxiosPromise<Response<ScreenshotValidationResponse>>;
100
176
  /**
101
177
  * Get Steam capsule dimensions for a specific type.
102
178
  *
@@ -113,5 +189,30 @@ declare class Media {
113
189
  * @returns Information about the capsule type.
114
190
  */
115
191
  static getSteamCapsuleInfo(capsuleType: string): any;
192
+ /**
193
+ * Get Steam screenshot requirements.
194
+ *
195
+ * @returns Screenshot requirements object.
196
+ */
197
+ static getSteamScreenshotRequirements(): {
198
+ minWidth: number;
199
+ minHeight: number;
200
+ aspectRatio: number;
201
+ minCount: number;
202
+ format: string;
203
+ content: string;
204
+ };
205
+ /**
206
+ * Get Steam library logo requirements.
207
+ *
208
+ * @returns Library logo requirements object.
209
+ */
210
+ static getSteamLibraryLogoRequirements(): {
211
+ maxWidth: number;
212
+ maxHeight: number;
213
+ format: string;
214
+ requirement: string;
215
+ content: string;
216
+ };
116
217
  }
117
218
  export default Media;
package/dist/esm/index.js CHANGED
@@ -13567,6 +13567,10 @@ var MediaRoute = /** @class */ (function () {
13567
13567
  getMedia: { url: '/media/{media_id}', method: HTTP_METHODS.GET },
13568
13568
  cropSteamCapsule: { url: '/media/crop-steam-capsule', method: HTTP_METHODS.POST },
13569
13569
  analyzeSteamCapsule: { url: '/media/analyze-steam-capsule', method: HTTP_METHODS.POST },
13570
+ removeBackground: { url: '/media/remove-background', method: HTTP_METHODS.POST },
13571
+ removeBackgroundAI: { url: '/media/remove-background-ai', method: HTTP_METHODS.POST },
13572
+ createLibraryLogo: { url: '/media/create-library-logo', method: HTTP_METHODS.POST },
13573
+ validateScreenshot: { url: '/media/validate-screenshot', method: HTTP_METHODS.POST },
13570
13574
  };
13571
13575
  return MediaRoute;
13572
13576
  }());
@@ -13613,13 +13617,13 @@ var Media = /** @class */ (function () {
13613
13617
  return Requests.processRoute(MediaRoute.routes.getMedia, {}, { media_id: media_id }, params);
13614
13618
  };
13615
13619
  /**
13616
- * Crop and resize an image to Steam capsule dimensions.
13617
- *
13618
- * @param request The crop request parameters.
13619
- * @param params Additional query parameters.
13620
- *
13621
- * @returns promise
13622
- */
13620
+ * Crop and resize an image to Steam capsule dimensions.
13621
+ *
13622
+ * @param request The crop request parameters.
13623
+ * @param params Additional query parameters.
13624
+ *
13625
+ * @returns promise
13626
+ */
13623
13627
  Media.cropSteamCapsule = function (request, params) {
13624
13628
  return Requests.processRoute(MediaRoute.routes.cropSteamCapsule, request, {}, params);
13625
13629
  };
@@ -13634,6 +13638,50 @@ var Media = /** @class */ (function () {
13634
13638
  Media.analyzeSteamCapsule = function (request, params) {
13635
13639
  return Requests.processRoute(MediaRoute.routes.analyzeSteamCapsule, request, {}, params);
13636
13640
  };
13641
+ /**
13642
+ * Remove background from an image to create transparent PNG.
13643
+ *
13644
+ * @param request The background removal request parameters.
13645
+ * @param params Additional query parameters.
13646
+ *
13647
+ * @returns promise
13648
+ */
13649
+ Media.removeBackground = function (request, params) {
13650
+ return Requests.processRoute(MediaRoute.routes.removeBackground, request, {}, params);
13651
+ };
13652
+ /**
13653
+ * Remove background from an image using AI analysis for better results.
13654
+ *
13655
+ * @param request The AI-enhanced background removal request parameters.
13656
+ * @param params Additional query parameters.
13657
+ *
13658
+ * @returns promise
13659
+ */
13660
+ Media.removeBackgroundAI = function (request, params) {
13661
+ return Requests.processRoute(MediaRoute.routes.removeBackgroundAI, request, {}, params);
13662
+ };
13663
+ /**
13664
+ * Create a Steam Library Logo meeting Steam's requirements.
13665
+ *
13666
+ * @param request The library logo creation request parameters.
13667
+ * @param params Additional query parameters.
13668
+ *
13669
+ * @returns promise
13670
+ */
13671
+ Media.createLibraryLogo = function (request, params) {
13672
+ return Requests.processRoute(MediaRoute.routes.createLibraryLogo, request, {}, params);
13673
+ };
13674
+ /**
13675
+ * Validate a screenshot against Steam's requirements.
13676
+ *
13677
+ * @param request The screenshot validation request parameters.
13678
+ * @param params Additional query parameters.
13679
+ *
13680
+ * @returns promise
13681
+ */
13682
+ Media.validateScreenshot = function (request, params) {
13683
+ return Requests.processRoute(MediaRoute.routes.validateScreenshot, request, {}, params);
13684
+ };
13637
13685
  /**
13638
13686
  * Get Steam capsule dimensions for a specific type.
13639
13687
  *
@@ -13714,6 +13762,35 @@ var Media = /** @class */ (function () {
13714
13762
  };
13715
13763
  return info[capsuleType] || null;
13716
13764
  };
13765
+ /**
13766
+ * Get Steam screenshot requirements.
13767
+ *
13768
+ * @returns Screenshot requirements object.
13769
+ */
13770
+ Media.getSteamScreenshotRequirements = function () {
13771
+ return {
13772
+ minWidth: 1920,
13773
+ minHeight: 1080,
13774
+ aspectRatio: 16 / 9,
13775
+ minCount: 5,
13776
+ format: 'Should be high-res, widescreen format',
13777
+ content: 'Should show gameplay, not menus or concept art'
13778
+ };
13779
+ };
13780
+ /**
13781
+ * Get Steam library logo requirements.
13782
+ *
13783
+ * @returns Library logo requirements object.
13784
+ */
13785
+ Media.getSteamLibraryLogoRequirements = function () {
13786
+ return {
13787
+ maxWidth: 1280,
13788
+ maxHeight: 720,
13789
+ format: 'PNG with transparent background',
13790
+ requirement: 'Either 1280px wide and/or 720px tall',
13791
+ content: 'Logo only, should be legible against any background'
13792
+ };
13793
+ };
13717
13794
  return Media;
13718
13795
  }());
13719
13796