@sogni-ai/sogni-client 4.0.0-alpha.21 → 4.0.0-alpha.22
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/CHANGELOG.md +16 -0
- package/README.md +26 -15
- package/dist/Account/index.d.ts +15 -15
- package/dist/Account/index.js +15 -15
- package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js +0 -4
- package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js.map +1 -1
- package/dist/ApiClient/WebSocketClient/events.d.ts +10 -0
- package/dist/ApiClient/WebSocketClient/index.js +12 -2
- package/dist/ApiClient/WebSocketClient/index.js.map +1 -1
- package/dist/ApiClient/index.js +1 -1
- package/dist/ApiClient/index.js.map +1 -1
- package/dist/Projects/Job.d.ts +12 -3
- package/dist/Projects/Job.js +50 -16
- package/dist/Projects/Job.js.map +1 -1
- package/dist/Projects/Project.d.ts +1 -0
- package/dist/Projects/Project.js +10 -3
- package/dist/Projects/Project.js.map +1 -1
- package/dist/Projects/createJobRequestMessage.js +105 -12
- package/dist/Projects/createJobRequestMessage.js.map +1 -1
- package/dist/Projects/index.d.ts +74 -5
- package/dist/Projects/index.js +337 -33
- package/dist/Projects/index.js.map +1 -1
- package/dist/Projects/types/events.d.ts +5 -1
- package/dist/Projects/types/index.d.ts +113 -28
- package/dist/Projects/types/index.js +8 -0
- package/dist/Projects/types/index.js.map +1 -1
- package/dist/Projects/utils.d.ts +19 -1
- package/dist/Projects/utils.js +68 -0
- package/dist/Projects/utils.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/AuthManager/TokenAuthManager.js +0 -2
- package/dist/lib/AuthManager/TokenAuthManager.js.map +1 -1
- package/package.json +1 -1
- package/src/Account/index.ts +15 -15
- package/src/ApiClient/WebSocketClient/BrowserWebSocketClient/index.ts +0 -4
- package/src/ApiClient/WebSocketClient/events.ts +11 -0
- package/src/ApiClient/WebSocketClient/index.ts +12 -2
- package/src/ApiClient/index.ts +1 -1
- package/src/Projects/Job.ts +50 -16
- package/src/Projects/Project.ts +12 -6
- package/src/Projects/createJobRequestMessage.ts +143 -33
- package/src/Projects/index.ts +351 -33
- package/src/Projects/types/events.ts +6 -0
- package/src/Projects/types/index.ts +141 -30
- package/src/Projects/utils.ts +66 -1
- package/src/index.ts +16 -4
- package/src/lib/AuthManager/TokenAuthManager.ts +0 -2
package/dist/Projects/Job.js
CHANGED
|
@@ -25,7 +25,7 @@ exports.enhancementDefaults = {
|
|
|
25
25
|
startingImageStrength: 0.5,
|
|
26
26
|
steps: 5,
|
|
27
27
|
guidance: 1,
|
|
28
|
-
|
|
28
|
+
numberOfMedia: 1,
|
|
29
29
|
numberOfPreviews: 0
|
|
30
30
|
};
|
|
31
31
|
const JOB_STATUS_MAP = {
|
|
@@ -118,9 +118,19 @@ class Job extends DataEntity_1.default {
|
|
|
118
118
|
get error() {
|
|
119
119
|
return this.data.error;
|
|
120
120
|
}
|
|
121
|
-
|
|
121
|
+
/**
|
|
122
|
+
* Whether this job has a result media file available for download.
|
|
123
|
+
* Returns true if completed and not NSFW filtered.
|
|
124
|
+
*/
|
|
125
|
+
get hasResultMedia() {
|
|
122
126
|
return this.status === 'completed' && !this.isNSFW;
|
|
123
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Whether this job produces video output (based on the model used)
|
|
130
|
+
*/
|
|
131
|
+
get type() {
|
|
132
|
+
return this._api.isVideoModelId(this._project.params.modelId) ? 'video' : 'image';
|
|
133
|
+
}
|
|
124
134
|
get enhancedImage() {
|
|
125
135
|
if (!this._enhancementProject) {
|
|
126
136
|
return null;
|
|
@@ -137,18 +147,29 @@ class Job extends DataEntity_1.default {
|
|
|
137
147
|
}
|
|
138
148
|
/**
|
|
139
149
|
* Get the result URL of the job. This method will make a request to the API to get signed URL.
|
|
140
|
-
* IMPORTANT: URL expires after 30 minutes, so make sure to download the
|
|
150
|
+
* IMPORTANT: URL expires after 30 minutes, so make sure to download the result as soon as possible.
|
|
151
|
+
* For video jobs, this returns a video URL. For image jobs, this returns an image URL.
|
|
141
152
|
*/
|
|
142
153
|
getResultUrl() {
|
|
143
154
|
return __awaiter(this, void 0, void 0, function* () {
|
|
144
155
|
if (this.data.status !== 'completed') {
|
|
145
156
|
throw new Error('Job is not completed yet');
|
|
146
157
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
158
|
+
let url;
|
|
159
|
+
if (this.type === 'video') {
|
|
160
|
+
url = yield this._api.mediaDownloadUrl({
|
|
161
|
+
jobId: this.projectId,
|
|
162
|
+
id: this.id,
|
|
163
|
+
type: 'complete'
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
url = yield this._api.downloadUrl({
|
|
168
|
+
jobId: this.projectId,
|
|
169
|
+
imageId: this.id,
|
|
170
|
+
type: 'complete'
|
|
171
|
+
});
|
|
172
|
+
}
|
|
152
173
|
this._update({ resultUrl: url });
|
|
153
174
|
return url;
|
|
154
175
|
});
|
|
@@ -185,11 +206,20 @@ class Job extends DataEntity_1.default {
|
|
|
185
206
|
}
|
|
186
207
|
if (!this.data.resultUrl && delta.status === 'completed' && !data.triggeredNSFWFilter) {
|
|
187
208
|
try {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
209
|
+
if (this.type === 'video') {
|
|
210
|
+
delta.resultUrl = yield this._api.mediaDownloadUrl({
|
|
211
|
+
jobId: this.projectId,
|
|
212
|
+
id: this.id,
|
|
213
|
+
type: 'complete'
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
delta.resultUrl = yield this._api.downloadUrl({
|
|
218
|
+
jobId: this.projectId,
|
|
219
|
+
imageId: this.id,
|
|
220
|
+
type: 'complete'
|
|
221
|
+
});
|
|
222
|
+
}
|
|
193
223
|
}
|
|
194
224
|
catch (error) {
|
|
195
225
|
this._logger.error(error);
|
|
@@ -214,8 +244,8 @@ class Job extends DataEntity_1.default {
|
|
|
214
244
|
}
|
|
215
245
|
getResultData() {
|
|
216
246
|
return __awaiter(this, void 0, void 0, function* () {
|
|
217
|
-
if (!this.
|
|
218
|
-
throw new Error('No result
|
|
247
|
+
if (!this.hasResultMedia) {
|
|
248
|
+
throw new Error('No result media available');
|
|
219
249
|
}
|
|
220
250
|
const url = yield this.getResultUrl();
|
|
221
251
|
const response = yield fetch(url);
|
|
@@ -233,6 +263,10 @@ class Job extends DataEntity_1.default {
|
|
|
233
263
|
*/
|
|
234
264
|
enhance(strength_1) {
|
|
235
265
|
return __awaiter(this, arguments, void 0, function* (strength, overrides = {}) {
|
|
266
|
+
const parentProjectParams = this._project.params;
|
|
267
|
+
if (parentProjectParams.type !== 'image') {
|
|
268
|
+
throw new Error('Enhancement is only available for images');
|
|
269
|
+
}
|
|
236
270
|
if (this.status !== 'completed') {
|
|
237
271
|
throw new Error('Job is not completed yet');
|
|
238
272
|
}
|
|
@@ -244,7 +278,7 @@ class Job extends DataEntity_1.default {
|
|
|
244
278
|
this._enhancementProject = null;
|
|
245
279
|
}
|
|
246
280
|
const imageData = yield this.getResultData();
|
|
247
|
-
const project = yield this._api.create(Object.assign(Object.assign({}, exports.enhancementDefaults), { positivePrompt: overrides.positivePrompt || this._project.params.positivePrompt, stylePrompt: overrides.stylePrompt || this._project.params.stylePrompt, tokenType: overrides.tokenType || this._project.params.tokenType, seed: this.seed || this._project.params.seed, startingImage: imageData, startingImageStrength: 1 - (0, utils_1.getEnhacementStrength)(strength), sizePreset:
|
|
281
|
+
const project = yield this._api.create(Object.assign(Object.assign({ type: 'image' }, exports.enhancementDefaults), { positivePrompt: overrides.positivePrompt || this._project.params.positivePrompt, stylePrompt: overrides.stylePrompt || this._project.params.stylePrompt, tokenType: overrides.tokenType || this._project.params.tokenType, seed: this.seed || this._project.params.seed, startingImage: imageData, startingImageStrength: 1 - (0, utils_1.getEnhacementStrength)(strength), sizePreset: parentProjectParams.sizePreset }));
|
|
248
282
|
this._enhancementProject = project;
|
|
249
283
|
this._enhancementProject.on('updated', this.handleEnhancementUpdate);
|
|
250
284
|
const images = yield project.waitForCompletion();
|
package/dist/Projects/Job.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Job.js","sourceRoot":"","sources":["../../src/Projects/Job.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mEAA6D;AAK7D,6DAAqC;AAIrC,mCAAgD;AAGnC,QAAA,mBAAmB,GAAG;IACjC,OAAO,EAAE,MAAsB;IAC/B,OAAO,EAAE,mBAAmB;IAC5B,cAAc,EAAE,EAAE;IAClB,cAAc,EAAE,EAAE;IAClB,WAAW,EAAE,EAAE;IACf,qBAAqB,EAAE,GAAG;IAC1B,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,CAAC;IACX,
|
|
1
|
+
{"version":3,"file":"Job.js","sourceRoot":"","sources":["../../src/Projects/Job.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mEAA6D;AAK7D,6DAAqC;AAIrC,mCAAgD;AAGnC,QAAA,mBAAmB,GAAG;IACjC,OAAO,EAAE,MAAsB;IAC/B,OAAO,EAAE,mBAAmB;IAC5B,cAAc,EAAE,EAAE;IAClB,cAAc,EAAE,EAAE;IAClB,WAAW,EAAE,EAAE;IACf,qBAAqB,EAAE,GAAG;IAC1B,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,CAAC;IACX,aAAa,EAAE,CAAC;IAChB,gBAAgB,EAAE,CAAC;CACpB,CAAC;AAUF,MAAM,cAAc,GAAwC;IAC1D,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,YAAY;IACtB,eAAe,EAAE,YAAY;IAC7B,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,YAAY;IACzB,YAAY,EAAE,WAAW;IACzB,QAAQ,EAAE,QAAQ;CACnB,CAAC;AAmCF,MAAM,GAAI,SAAQ,oBAAgC;IAChD,MAAM,CAAC,OAAO,CAAC,UAAsB,EAAE,MAAc,EAAE,OAAmB;QACxE,OAAO,IAAI,GAAG,CACZ;YACE,EAAE,EAAE,MAAM,CAAC,KAAK,IAAI,IAAA,iBAAO,GAAE;YAC7B,SAAS,EAAE,UAAU,CAAC,EAAE;YACxB,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC;YACrC,IAAI,EAAE,MAAM,CAAC,cAAc;YAC3B,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;YAC9B,IAAI,EAAE,MAAM,CAAC,QAAQ;YACrB,MAAM,EAAE,MAAM,CAAC,mBAAmB;SACnC,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAOD,YAAY,IAAa,EAAE,OAAmB;QAC5C,KAAK,CAAC,IAAI,CAAC,CAAC;QAHN,wBAAmB,GAAmB,IAAI,CAAC;QAKjD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QAEhC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACtB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC7B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IACrD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACpF,CAAC;IAED,IAAI,aAAa;QACf,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACzC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,KAAI,IAAI;YAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,EAAE;SACxC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACG,YAAY;;YAChB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,GAAW,CAAC;YAChB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;oBACrC,KAAK,EAAE,IAAI,CAAC,SAAS;oBACrB,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,IAAI,EAAE,UAAU;iBACjB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;oBAChC,KAAK,EAAE,IAAI,CAAC,SAAS;oBACrB,OAAO,EAAE,IAAI,CAAC,EAAE;oBAChB,IAAI,EAAE,UAAU;iBACjB,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YACjC,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAED;;;;OAIG;IACH,IAAI,MAAM;QACR,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACG,iBAAiB,CAAC,IAAY;;YAClC,MAAM,KAAK,GAAqB;gBAC9B,IAAI,EAAE,IAAI,CAAC,cAAc;gBACzB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBAC5B,IAAI,EAAE,IAAI,CAAC,QAAQ;gBACnB,MAAM,EAAE,IAAI,CAAC,mBAAmB;aACjC,CAAC;YACF,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChC,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACtF,IAAI,CAAC;oBACH,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAC1B,KAAK,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;4BACjD,KAAK,EAAE,IAAI,CAAC,SAAS;4BACrB,EAAE,EAAE,IAAI,CAAC,EAAE;4BACX,IAAI,EAAE,UAAU;yBACjB,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;4BAC5C,KAAK,EAAE,IAAI,CAAC,SAAS;4BACrB,OAAO,EAAE,IAAI,CAAC,EAAE;4BAChB,IAAI,EAAE,UAAU;yBACjB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;KAAA;IAEO,aAAa,CAAC,IAAc;QAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAU,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,uBAAuB;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1C,CAAC;IAEK,aAAa;;YACjB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;KAAA;IAED;;;;;OAKG;IACG,OAAO;6DACX,QAA6B,EAC7B,YAAsF,EAAE;YAExF,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACjD,IAAI,mBAAmB,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBACtE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAClC,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,+BACpC,IAAI,EAAE,OAAO,IACV,2BAAmB,KACtB,cAAc,EAAE,SAAS,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAC/E,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EACtE,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAChE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAC5C,aAAa,EAAE,SAAS,EACxB,qBAAqB,EAAE,CAAC,GAAG,IAAA,6BAAqB,EAAC,QAAQ,CAAC,EAC1D,UAAU,EAAE,mBAAmB,CAAC,UAAU,IAC1C,CAAC;YACH,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;YACnC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACjD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;KAAA;CACF;AAED,kBAAe,GAAG,CAAC"}
|
|
@@ -42,6 +42,7 @@ declare class Project extends DataEntity<ProjectData, ProjectEventMap> {
|
|
|
42
42
|
constructor(data: ProjectParams, options: ProjectOptions);
|
|
43
43
|
get id(): string;
|
|
44
44
|
get params(): ProjectParams;
|
|
45
|
+
get type(): "image" | "video";
|
|
45
46
|
get status(): ProjectStatus;
|
|
46
47
|
get finished(): boolean;
|
|
47
48
|
get error(): ErrorData | undefined;
|
package/dist/Projects/Project.js
CHANGED
|
@@ -14,6 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
const Job_1 = __importDefault(require("./Job"));
|
|
16
16
|
const DataEntity_1 = __importDefault(require("../lib/DataEntity"));
|
|
17
|
+
const types_1 = require("./types");
|
|
17
18
|
const cloneDeep_1 = __importDefault(require("lodash/cloneDeep"));
|
|
18
19
|
const getUUID_1 = __importDefault(require("../lib/getUUID"));
|
|
19
20
|
// If project is not finished and had no updates for 1 minute, force refresh
|
|
@@ -52,6 +53,9 @@ class Project extends DataEntity_1.default {
|
|
|
52
53
|
get params() {
|
|
53
54
|
return this.data.params;
|
|
54
55
|
}
|
|
56
|
+
get type() {
|
|
57
|
+
return this.params.type;
|
|
58
|
+
}
|
|
55
59
|
get status() {
|
|
56
60
|
return this.data.status;
|
|
57
61
|
}
|
|
@@ -67,7 +71,7 @@ class Project extends DataEntity_1.default {
|
|
|
67
71
|
get progress() {
|
|
68
72
|
// Worker can reduce the number of steps in the job, so we need to calculate the progress based on the actual number of steps
|
|
69
73
|
const stepsPerJob = this.jobs.length ? this.jobs[0].stepCount : this.data.params.steps;
|
|
70
|
-
const jobCount = this.data.params.
|
|
74
|
+
const jobCount = this.data.params.numberOfMedia;
|
|
71
75
|
const stepsDone = this._jobs.reduce((acc, job) => acc + job.step, 0);
|
|
72
76
|
return Math.round((stepsDone / (stepsPerJob * jobCount)) * 100);
|
|
73
77
|
}
|
|
@@ -142,7 +146,7 @@ class Project extends DataEntity_1.default {
|
|
|
142
146
|
this._timeout = null;
|
|
143
147
|
}
|
|
144
148
|
if (keys.includes('status') || keys.includes('jobs')) {
|
|
145
|
-
const allJobsStarted = this.jobs.length >= this.params.
|
|
149
|
+
const allJobsStarted = this.jobs.length >= this.params.numberOfMedia;
|
|
146
150
|
const allJobsDone = this.jobs.every((job) => job.finished);
|
|
147
151
|
if (this.data.status === 'completed' && allJobsStarted && allJobsDone) {
|
|
148
152
|
return this.emit('completed', this.resultUrls);
|
|
@@ -240,8 +244,11 @@ class Project extends DataEntity_1.default {
|
|
|
240
244
|
}
|
|
241
245
|
}
|
|
242
246
|
const delta = {
|
|
243
|
-
params: Object.assign(Object.assign({}, this.data.params), {
|
|
247
|
+
params: Object.assign(Object.assign({}, this.data.params), { numberOfMedia: data.imageCount, steps: data.stepCount })
|
|
244
248
|
};
|
|
249
|
+
if (delta.params && (0, types_1.isImageParams)(delta.params)) {
|
|
250
|
+
delta.params.numberOfPreviews = data.previewCount;
|
|
251
|
+
}
|
|
245
252
|
if (PROJECT_STATUS_MAP[data.status]) {
|
|
246
253
|
delta.status = PROJECT_STATUS_MAP[data.status];
|
|
247
254
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Project.js","sourceRoot":"","sources":["../../src/Projects/Project.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gDAAqC;AACrC,mEAA6D;
|
|
1
|
+
{"version":3,"file":"Project.js","sourceRoot":"","sources":["../../src/Projects/Project.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const types_1 = require("./types");
|
|
3
4
|
const validation_1 = require("../lib/validation");
|
|
5
|
+
const utils_1 = require("./utils");
|
|
6
|
+
const ApiClient_1 = require("../ApiClient");
|
|
7
|
+
/**
|
|
8
|
+
* Validate that the provided assets match the workflow requirements.
|
|
9
|
+
* Throws an error if required assets are missing or forbidden assets are provided.
|
|
10
|
+
*/
|
|
11
|
+
function validateVideoWorkflowAssets(params) {
|
|
12
|
+
const workflowType = (0, utils_1.getVideoWorkflowType)(params.modelId);
|
|
13
|
+
if (!workflowType)
|
|
14
|
+
return;
|
|
15
|
+
const requirements = utils_1.VIDEO_WORKFLOW_ASSETS[workflowType];
|
|
16
|
+
if (!requirements)
|
|
17
|
+
return;
|
|
18
|
+
// Check for missing required assets
|
|
19
|
+
for (const [asset, requirement] of Object.entries(requirements)) {
|
|
20
|
+
const assetKey = asset;
|
|
21
|
+
const hasAsset = !!params[assetKey];
|
|
22
|
+
if (requirement === 'required' && !hasAsset) {
|
|
23
|
+
throw new ApiClient_1.ApiError(400, {
|
|
24
|
+
status: 'error',
|
|
25
|
+
errorCode: 0,
|
|
26
|
+
message: `${workflowType} workflow requires ${assetKey}. Please provide this asset.`
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
if (requirement === 'forbidden' && hasAsset) {
|
|
30
|
+
throw new ApiClient_1.ApiError(400, {
|
|
31
|
+
status: 'error',
|
|
32
|
+
errorCode: 0,
|
|
33
|
+
message: `${workflowType} workflow does not support ${assetKey}. Please remove this asset.`
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
4
38
|
// Mac worker can't process the data if some of the fields are missing, so we need to provide a default template
|
|
5
39
|
function getTemplate() {
|
|
6
40
|
return {
|
|
@@ -110,23 +144,82 @@ function getControlNet(params) {
|
|
|
110
144
|
}
|
|
111
145
|
return [cn];
|
|
112
146
|
}
|
|
113
|
-
function
|
|
147
|
+
function applyImageParams(inputKeyframe, params) {
|
|
114
148
|
var _a, _b;
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
], previews: params.numberOfPreviews || 0, numberOfImages: params.numberOfImages, jobID: id, disableSafety: !!params.disableNSFWFilter, tokenType: params.tokenType, outputFormat: params.outputFormat || 'png' });
|
|
121
|
-
if (params.network) {
|
|
122
|
-
jobRequest.network = params.network;
|
|
149
|
+
const keyFrame = Object.assign(Object.assign({}, inputKeyframe), { scheduler: (0, validation_1.validateSampler)(params.sampler), timeStepSpacing: (0, validation_1.validateScheduler)(params.scheduler), sizePreset: params.sizePreset, hasContextImage1: !!((_a = params.contextImages) === null || _a === void 0 ? void 0 : _a[0]), hasContextImage2: !!((_b = params.contextImages) === null || _b === void 0 ? void 0 : _b[1]) });
|
|
150
|
+
if (params.startingImage) {
|
|
151
|
+
keyFrame.hasStartingImage = true;
|
|
152
|
+
keyFrame.strengthIsEnabled = true;
|
|
153
|
+
keyFrame.strength = 1 - (Number(params.startingImageStrength) || 0.5);
|
|
123
154
|
}
|
|
124
155
|
if (params.controlNet) {
|
|
125
|
-
|
|
156
|
+
keyFrame.currentControlNetsJob = getControlNet(params.controlNet);
|
|
126
157
|
}
|
|
127
158
|
if (params.sizePreset === 'custom') {
|
|
128
|
-
|
|
129
|
-
|
|
159
|
+
keyFrame.width = (0, validation_1.validateCustomImageSize)(params.width);
|
|
160
|
+
keyFrame.height = (0, validation_1.validateCustomImageSize)(params.height);
|
|
161
|
+
}
|
|
162
|
+
return keyFrame;
|
|
163
|
+
}
|
|
164
|
+
function applyVideoParams(inputKeyframe, params) {
|
|
165
|
+
if (!(0, utils_1.isVideoModel)(params.modelId)) {
|
|
166
|
+
throw new ApiClient_1.ApiError(400, {
|
|
167
|
+
status: 'error',
|
|
168
|
+
errorCode: 0,
|
|
169
|
+
message: 'Video generation is only supported for video models.'
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
validateVideoWorkflowAssets(params);
|
|
173
|
+
const keyFrame = Object.assign({}, inputKeyframe);
|
|
174
|
+
if (params.referenceImage) {
|
|
175
|
+
keyFrame.hasReferenceImage = true;
|
|
176
|
+
}
|
|
177
|
+
if (params.referenceImageEnd) {
|
|
178
|
+
keyFrame.hasReferenceImageEnd = true;
|
|
179
|
+
}
|
|
180
|
+
if (params.referenceAudio) {
|
|
181
|
+
keyFrame.hasReferenceAudio = true;
|
|
182
|
+
}
|
|
183
|
+
if (params.referenceVideo) {
|
|
184
|
+
keyFrame.hasReferenceVideo = true;
|
|
185
|
+
}
|
|
186
|
+
// Video generation parameters
|
|
187
|
+
if (params.frames !== undefined) {
|
|
188
|
+
keyFrame.frames = params.frames;
|
|
189
|
+
}
|
|
190
|
+
if (params.fps !== undefined) {
|
|
191
|
+
keyFrame.fps = params.fps;
|
|
192
|
+
}
|
|
193
|
+
if (params.shift !== undefined) {
|
|
194
|
+
keyFrame.shift = params.shift;
|
|
195
|
+
}
|
|
196
|
+
if (params.width && params.height) {
|
|
197
|
+
keyFrame.width = params.width;
|
|
198
|
+
keyFrame.height = params.height;
|
|
199
|
+
}
|
|
200
|
+
return keyFrame;
|
|
201
|
+
}
|
|
202
|
+
function createJobRequestMessage(id, params) {
|
|
203
|
+
const template = getTemplate();
|
|
204
|
+
// Base keyFrame with common params
|
|
205
|
+
let keyFrame = Object.assign(Object.assign({}, template.keyFrames[0]), { steps: params.steps, guidanceScale: params.guidance, modelID: params.modelId, negativePrompt: params.negativePrompt, seed: params.seed, positivePrompt: params.positivePrompt, stylePrompt: params.stylePrompt });
|
|
206
|
+
switch (params.type) {
|
|
207
|
+
case 'image':
|
|
208
|
+
keyFrame = applyImageParams(keyFrame, params);
|
|
209
|
+
break;
|
|
210
|
+
case 'video':
|
|
211
|
+
keyFrame = applyVideoParams(keyFrame, params);
|
|
212
|
+
break;
|
|
213
|
+
default:
|
|
214
|
+
throw new ApiClient_1.ApiError(400, {
|
|
215
|
+
status: 'error',
|
|
216
|
+
errorCode: 0,
|
|
217
|
+
message: 'Invalid project type. Must be "image" or "video".'
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
const jobRequest = Object.assign(Object.assign({}, template), { keyFrames: [keyFrame], previews: (0, types_1.isImageParams)(params) ? params.numberOfPreviews || 0 : 0, numberOfImages: params.numberOfMedia || 1, jobID: id, disableSafety: !!params.disableNSFWFilter, tokenType: params.tokenType, outputFormat: params.outputFormat || ((0, types_1.isVideoParams)(params) ? 'mp4' : 'png') });
|
|
221
|
+
if (params.network) {
|
|
222
|
+
jobRequest.network = params.network;
|
|
130
223
|
}
|
|
131
224
|
return jobRequest;
|
|
132
225
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createJobRequestMessage.js","sourceRoot":"","sources":["../../src/Projects/createJobRequestMessage.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"createJobRequestMessage.js","sourceRoot":"","sources":["../../src/Projects/createJobRequestMessage.ts"],"names":[],"mappings":"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"}
|
package/dist/Projects/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import ApiGroup, { ApiConfig } from '../ApiGroup';
|
|
2
|
-
import { AvailableModel, EnhancementStrength, EstimateRequest, ImageUrlParams, CostEstimation, ProjectParams, SizePreset, SupportedModel } from './types';
|
|
2
|
+
import { AvailableModel, EnhancementStrength, EstimateRequest, ImageUrlParams, MediaUrlParams, CostEstimation, ProjectParams, SizePreset, SupportedModel } from './types';
|
|
3
3
|
import Project from './Project';
|
|
4
4
|
import { ProjectApiEvents } from './types/events';
|
|
5
5
|
import { RawProject } from './types/RawProject';
|
|
@@ -10,11 +10,18 @@ declare class ProjectsApi extends ApiGroup<ProjectApiEvents> {
|
|
|
10
10
|
private projects;
|
|
11
11
|
private _supportedModels;
|
|
12
12
|
get availableModels(): AvailableModel[];
|
|
13
|
+
/**
|
|
14
|
+
* Check if a model produces video output using the cached models list.
|
|
15
|
+
* Uses the `media` property from the models API when available,
|
|
16
|
+
* falls back to model ID prefix check if models aren't loaded yet.
|
|
17
|
+
*/
|
|
18
|
+
isVideoModelId(modelId: string): boolean;
|
|
13
19
|
constructor(config: ApiConfig);
|
|
14
20
|
private handleChangeNetwork;
|
|
15
21
|
private handleSwarmModels;
|
|
16
22
|
private handleJobState;
|
|
17
23
|
private handleJobProgress;
|
|
24
|
+
private handleJobETA;
|
|
18
25
|
private handleJobResult;
|
|
19
26
|
private handleJobError;
|
|
20
27
|
private handleProjectEvent;
|
|
@@ -28,10 +35,12 @@ declare class ProjectsApi extends ApiGroup<ProjectApiEvents> {
|
|
|
28
35
|
waitForModels(timeout?: number): Promise<AvailableModel[]>;
|
|
29
36
|
/**
|
|
30
37
|
* Send new project request to the network. Returns project instance which can be used to track
|
|
31
|
-
* progress and get resulting images.
|
|
38
|
+
* progress and get resulting images or videos.
|
|
32
39
|
* @param data
|
|
33
40
|
*/
|
|
34
41
|
create(data: ProjectParams): Promise<Project>;
|
|
42
|
+
private _processImageAssets;
|
|
43
|
+
private _processVideoAssets;
|
|
35
44
|
/**
|
|
36
45
|
* Get project by id, this API returns project data from the server only if the project is
|
|
37
46
|
* completed or failed. If the project is still processing, it will throw 404 error.
|
|
@@ -49,6 +58,28 @@ declare class ProjectsApi extends ApiGroup<ProjectApiEvents> {
|
|
|
49
58
|
private uploadGuideImage;
|
|
50
59
|
private uploadCNImage;
|
|
51
60
|
private uploadContextImage;
|
|
61
|
+
/**
|
|
62
|
+
* Upload reference image for WAN video workflows
|
|
63
|
+
* @internal
|
|
64
|
+
*/
|
|
65
|
+
private uploadReferenceImage;
|
|
66
|
+
/**
|
|
67
|
+
* Upload reference image end for i2v interpolation
|
|
68
|
+
* @internal
|
|
69
|
+
*/
|
|
70
|
+
private uploadReferenceImageEnd;
|
|
71
|
+
/**
|
|
72
|
+
* Upload reference audio for s2v workflows
|
|
73
|
+
* Supported formats: mp3, m4a, wav
|
|
74
|
+
* @internal
|
|
75
|
+
*/
|
|
76
|
+
private uploadReferenceAudio;
|
|
77
|
+
/**
|
|
78
|
+
* Upload reference video for animate workflows
|
|
79
|
+
* Supported formats: mp4, mov
|
|
80
|
+
* @internal
|
|
81
|
+
*/
|
|
82
|
+
private uploadReferenceVideo;
|
|
52
83
|
/**
|
|
53
84
|
* Estimate project cost
|
|
54
85
|
*/
|
|
@@ -57,22 +88,30 @@ declare class ProjectsApi extends ApiGroup<ProjectApiEvents> {
|
|
|
57
88
|
/**
|
|
58
89
|
* Get upload URL for image
|
|
59
90
|
* @internal
|
|
60
|
-
* @param params
|
|
61
91
|
*/
|
|
62
92
|
uploadUrl(params: ImageUrlParams): Promise<string>;
|
|
63
93
|
/**
|
|
64
94
|
* Get download URL for image
|
|
65
95
|
* @internal
|
|
66
|
-
* @param params
|
|
67
96
|
*/
|
|
68
97
|
downloadUrl(params: ImageUrlParams): Promise<string>;
|
|
98
|
+
/**
|
|
99
|
+
* Get upload URL for media (video/audio)
|
|
100
|
+
* @internal
|
|
101
|
+
*/
|
|
102
|
+
mediaUploadUrl(params: MediaUrlParams): Promise<string>;
|
|
103
|
+
/**
|
|
104
|
+
* Get download URL for media (video/audio)
|
|
105
|
+
* @internal
|
|
106
|
+
*/
|
|
107
|
+
mediaDownloadUrl(params: MediaUrlParams): Promise<string>;
|
|
69
108
|
getSupportedModels(forceRefresh?: boolean): Promise<SupportedModel[]>;
|
|
70
109
|
/**
|
|
71
110
|
* Get supported size presets for the model and network. Size presets are cached for 10 minutes.
|
|
72
111
|
*
|
|
73
112
|
* @example
|
|
74
113
|
* ```ts
|
|
75
|
-
* const presets = await
|
|
114
|
+
* const presets = await sogni.projects.getSizePresets('fast', 'flux1-schnell-fp8');
|
|
76
115
|
* console.log(presets);
|
|
77
116
|
* ```
|
|
78
117
|
*
|
|
@@ -89,6 +128,36 @@ declare class ProjectsApi extends ApiGroup<ProjectApiEvents> {
|
|
|
89
128
|
* }[]>}
|
|
90
129
|
*/
|
|
91
130
|
getSizePresets(network: SupernetType, modelId: string, forceRefresh?: boolean): Promise<SizePreset[]>;
|
|
131
|
+
/**
|
|
132
|
+
* Retrieves the video asset configuration for a given video model identifier.
|
|
133
|
+
* Validates whether the provided model ID corresponds to a video model. If it does,
|
|
134
|
+
* returns the appropriate video asset configuration based on the workflow type.
|
|
135
|
+
*
|
|
136
|
+
* @example Returned object for a model that implements image to video workflow:
|
|
137
|
+
* ```json
|
|
138
|
+
* {
|
|
139
|
+
* "workflowType": "i2v",
|
|
140
|
+
* "assets": {
|
|
141
|
+
* "referenceImage": "required",
|
|
142
|
+
* "referenceImageEnd": "optional",
|
|
143
|
+
* "referenceAudio": "forbidden",
|
|
144
|
+
* "referenceVideo": "forbidden"
|
|
145
|
+
* }
|
|
146
|
+
* }
|
|
147
|
+
* ```
|
|
148
|
+
*
|
|
149
|
+
* @param {string} modelId - The identifier of the video model to retrieve the configuration for.
|
|
150
|
+
* @return {Object} The video asset configuration object where key is asset field and value is
|
|
151
|
+
* either `required`, `forbidden` or `optional`. Returns `null` if no rules defined for the model.
|
|
152
|
+
* @throws {ApiError} Throws an error if the provided model ID is not a video model.
|
|
153
|
+
*/
|
|
154
|
+
getVideoAssetConfig(modelId: string): Promise<{
|
|
155
|
+
workflowType: null;
|
|
156
|
+
assets?: undefined;
|
|
157
|
+
} | {
|
|
158
|
+
workflowType: "t2v" | "i2v" | "s2v" | "animate-move" | "animate-replace";
|
|
159
|
+
assets: Record<import("./types").VideoAssetKey, import("./types").AssetRequirement>;
|
|
160
|
+
}>;
|
|
92
161
|
/**
|
|
93
162
|
* Get available models and their worker counts. Normally, you would get list once you connect
|
|
94
163
|
* to the server, but you can also call this method to get the list of available models manually.
|