@sogni-ai/sogni-client 3.0.0-alpha.3 → 3.0.0-alpha.31
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 +218 -0
- package/README.md +3 -1
- package/dist/Account/CurrentAccount.d.ts +3 -3
- package/dist/Account/CurrentAccount.js +14 -4
- package/dist/Account/CurrentAccount.js.map +1 -1
- package/dist/Account/index.d.ts +9 -5
- package/dist/Account/index.js +21 -10
- package/dist/Account/index.js.map +1 -1
- package/dist/Account/types.d.ts +15 -0
- package/dist/ApiClient/WebSocketClient/events.d.ts +21 -7
- package/dist/ApiClient/WebSocketClient/index.js +14 -4
- package/dist/ApiClient/WebSocketClient/index.js.map +1 -1
- package/dist/ApiGroup.d.ts +0 -3
- package/dist/ApiGroup.js +0 -1
- package/dist/ApiGroup.js.map +1 -1
- package/dist/Projects/Job.d.ts +43 -0
- package/dist/Projects/Job.js +76 -0
- package/dist/Projects/Job.js.map +1 -1
- package/dist/Projects/Project.d.ts +1 -1
- package/dist/Projects/Project.js +22 -19
- package/dist/Projects/Project.js.map +1 -1
- package/dist/Projects/createJobRequestMessage.js +2 -2
- package/dist/Projects/createJobRequestMessage.js.map +1 -1
- package/dist/Projects/index.d.ts +7 -2
- package/dist/Projects/index.js +50 -12
- package/dist/Projects/index.js.map +1 -1
- package/dist/Projects/types/ControlNetParams.d.ts +7 -2
- package/dist/Projects/types/events.d.ts +6 -0
- package/dist/Projects/types/index.d.ts +16 -3
- package/dist/Projects/utils.d.ts +2 -0
- package/dist/Projects/utils.js +14 -0
- package/dist/Projects/utils.js.map +1 -0
- package/dist/Stats/types.d.ts +1 -1
- package/dist/index.d.ts +3 -6
- package/dist/index.js +3 -12
- package/dist/index.js.map +1 -1
- package/dist/types/token.d.ts +1 -0
- package/dist/types/token.js +3 -0
- package/dist/types/token.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +2 -1
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
- package/src/Account/CurrentAccount.ts +16 -6
- package/src/Account/index.ts +35 -18
- package/src/Account/types.ts +19 -0
- package/src/ApiClient/WebSocketClient/events.ts +25 -8
- package/src/ApiClient/WebSocketClient/index.ts +14 -4
- package/src/ApiGroup.ts +0 -4
- package/src/Projects/Job.ts +98 -0
- package/src/Projects/Project.ts +24 -20
- package/src/Projects/createJobRequestMessage.ts +4 -2
- package/src/Projects/index.ts +51 -11
- package/src/Projects/types/ControlNetParams.ts +8 -2
- package/src/Projects/types/events.ts +6 -0
- package/src/Projects/types/index.ts +17 -3
- package/src/Projects/utils.ts +12 -0
- package/src/Stats/types.ts +2 -0
- package/src/index.ts +6 -16
- package/src/types/token.ts +1 -0
- package/src/version.ts +2 -1
package/dist/ApiGroup.d.ts
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
import { AbstractProvider } from 'ethers';
|
|
2
1
|
import ApiClient from './ApiClient';
|
|
3
2
|
import EIP712Helper from './lib/EIP712Helper';
|
|
4
3
|
import TypedEventEmitter, { EventMap } from './lib/TypedEventEmitter';
|
|
5
4
|
export interface ApiConfig {
|
|
6
5
|
client: ApiClient;
|
|
7
|
-
provider: AbstractProvider;
|
|
8
6
|
eip712: EIP712Helper;
|
|
9
7
|
}
|
|
10
8
|
declare abstract class ApiGroup<E extends EventMap = {}> extends TypedEventEmitter<E> {
|
|
11
9
|
protected client: ApiClient;
|
|
12
|
-
protected provider: AbstractProvider;
|
|
13
10
|
protected eip712: EIP712Helper;
|
|
14
11
|
constructor(config: ApiConfig);
|
|
15
12
|
}
|
package/dist/ApiGroup.js
CHANGED
package/dist/ApiGroup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiGroup.js","sourceRoot":"","sources":["../src/ApiGroup.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"ApiGroup.js","sourceRoot":"","sources":["../src/ApiGroup.ts"],"names":[],"mappings":";;;;;AAEA,gFAAsE;AAOtE,MAAe,QAAkC,SAAQ,2BAAoB;IAI3E,YAAY,MAAiB;QAC3B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;CACF;AAED,kBAAe,QAAQ,CAAC"}
|
package/dist/Projects/Job.d.ts
CHANGED
|
@@ -3,6 +3,22 @@ import ErrorData from '../types/ErrorData';
|
|
|
3
3
|
import { RawJob, RawProject } from './types/RawProject';
|
|
4
4
|
import ProjectsApi from './index';
|
|
5
5
|
import { Logger } from '../lib/DefaultLogger';
|
|
6
|
+
import { EnhancementStrength } from './types';
|
|
7
|
+
import Project from './Project';
|
|
8
|
+
import { SupernetType } from '../ApiClient/WebSocketClient/types';
|
|
9
|
+
import { TokenType } from '../types/token';
|
|
10
|
+
export declare const enhancementDefaults: {
|
|
11
|
+
network: SupernetType;
|
|
12
|
+
modelId: string;
|
|
13
|
+
positivePrompt: string;
|
|
14
|
+
negativePrompt: string;
|
|
15
|
+
stylePrompt: string;
|
|
16
|
+
startingImageStrength: number;
|
|
17
|
+
steps: number;
|
|
18
|
+
guidance: number;
|
|
19
|
+
numberOfImages: number;
|
|
20
|
+
numberOfPreviews: number;
|
|
21
|
+
};
|
|
6
22
|
export type JobStatus = 'pending' | 'initiating' | 'processing' | 'completed' | 'failed' | 'canceled';
|
|
7
23
|
/**
|
|
8
24
|
* @inline
|
|
@@ -20,6 +36,9 @@ export interface JobData {
|
|
|
20
36
|
previewUrl?: string;
|
|
21
37
|
resultUrl?: string | null;
|
|
22
38
|
error?: ErrorData;
|
|
39
|
+
positivePrompt?: string;
|
|
40
|
+
negativePrompt?: string;
|
|
41
|
+
jobIndex?: number;
|
|
23
42
|
}
|
|
24
43
|
export interface JobEventMap extends EntityEvents {
|
|
25
44
|
progress: number;
|
|
@@ -29,11 +48,14 @@ export interface JobEventMap extends EntityEvents {
|
|
|
29
48
|
export interface JobOptions {
|
|
30
49
|
api: ProjectsApi;
|
|
31
50
|
logger: Logger;
|
|
51
|
+
project: Project;
|
|
32
52
|
}
|
|
33
53
|
declare class Job extends DataEntity<JobData, JobEventMap> {
|
|
34
54
|
static fromRaw(rawProject: RawProject, rawJob: RawJob, options: JobOptions): Job;
|
|
35
55
|
private readonly _api;
|
|
36
56
|
private readonly _logger;
|
|
57
|
+
private readonly _project;
|
|
58
|
+
private _enhancementProject;
|
|
37
59
|
constructor(data: JobData, options: JobOptions);
|
|
38
60
|
get id(): string;
|
|
39
61
|
get projectId(): string;
|
|
@@ -69,6 +91,14 @@ declare class Job extends DataEntity<JobData, JobEventMap> {
|
|
|
69
91
|
get resultUrl(): string | null | undefined;
|
|
70
92
|
get imageUrl(): string | undefined;
|
|
71
93
|
get error(): ErrorData | undefined;
|
|
94
|
+
get hasResultImage(): boolean;
|
|
95
|
+
get enhancedImage(): {
|
|
96
|
+
status: import("./Project").ProjectStatus;
|
|
97
|
+
progress: number;
|
|
98
|
+
result: string | null;
|
|
99
|
+
error: ErrorData | undefined;
|
|
100
|
+
getResultUrl: () => Promise<string>;
|
|
101
|
+
} | null;
|
|
72
102
|
/**
|
|
73
103
|
* Get the result URL of the job. This method will make a request to the API to get signed URL.
|
|
74
104
|
* IMPORTANT: URL expires after 30 minutes, so make sure to download the image as soon as possible.
|
|
@@ -91,5 +121,18 @@ declare class Job extends DataEntity<JobData, JobEventMap> {
|
|
|
91
121
|
*/
|
|
92
122
|
_syncWithRestData(data: RawJob): Promise<void>;
|
|
93
123
|
private handleUpdated;
|
|
124
|
+
private handleEnhancementUpdate;
|
|
125
|
+
getResultData(): Promise<import("buffer").Blob>;
|
|
126
|
+
/**
|
|
127
|
+
* Enhance the image using the Flux model. This method will create a new project with the
|
|
128
|
+
* enhancement parameters and use the result image of the current job as the starting image.
|
|
129
|
+
* @param strength - how much freedom the model has to change the image.
|
|
130
|
+
* @param overrides - optional parameters to override original prompt, style or token type.
|
|
131
|
+
*/
|
|
132
|
+
enhance(strength: EnhancementStrength, overrides?: {
|
|
133
|
+
positivePrompt?: string;
|
|
134
|
+
stylePrompt?: string;
|
|
135
|
+
tokenType?: TokenType;
|
|
136
|
+
}): Promise<string>;
|
|
94
137
|
}
|
|
95
138
|
export default Job;
|
package/dist/Projects/Job.js
CHANGED
|
@@ -12,8 +12,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.enhancementDefaults = void 0;
|
|
15
16
|
const DataEntity_1 = __importDefault(require("../lib/DataEntity"));
|
|
16
17
|
const getUUID_1 = __importDefault(require("../lib/getUUID"));
|
|
18
|
+
const utils_1 = require("./utils");
|
|
19
|
+
exports.enhancementDefaults = {
|
|
20
|
+
network: 'fast',
|
|
21
|
+
modelId: 'flux1-schnell-fp8',
|
|
22
|
+
positivePrompt: '',
|
|
23
|
+
negativePrompt: '',
|
|
24
|
+
stylePrompt: '',
|
|
25
|
+
startingImageStrength: 0.5,
|
|
26
|
+
steps: 5,
|
|
27
|
+
guidance: 1,
|
|
28
|
+
numberOfImages: 1,
|
|
29
|
+
numberOfPreviews: 0
|
|
30
|
+
};
|
|
17
31
|
const JOB_STATUS_MAP = {
|
|
18
32
|
created: 'pending',
|
|
19
33
|
queued: 'pending',
|
|
@@ -39,9 +53,12 @@ class Job extends DataEntity_1.default {
|
|
|
39
53
|
}
|
|
40
54
|
constructor(data, options) {
|
|
41
55
|
super(data);
|
|
56
|
+
this._enhancementProject = null;
|
|
42
57
|
this._api = options.api;
|
|
43
58
|
this._logger = options.logger;
|
|
59
|
+
this._project = options.project;
|
|
44
60
|
this.on('updated', this.handleUpdated.bind(this));
|
|
61
|
+
this.handleEnhancementUpdate = this.handleEnhancementUpdate.bind(this);
|
|
45
62
|
}
|
|
46
63
|
get id() {
|
|
47
64
|
return this.data.id;
|
|
@@ -101,6 +118,23 @@ class Job extends DataEntity_1.default {
|
|
|
101
118
|
get error() {
|
|
102
119
|
return this.data.error;
|
|
103
120
|
}
|
|
121
|
+
get hasResultImage() {
|
|
122
|
+
return this.status === 'completed' && !this.isNSFW;
|
|
123
|
+
}
|
|
124
|
+
get enhancedImage() {
|
|
125
|
+
if (!this._enhancementProject) {
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
const project = this._enhancementProject;
|
|
129
|
+
const job = project.jobs[0];
|
|
130
|
+
return {
|
|
131
|
+
status: project.status,
|
|
132
|
+
progress: project.progress,
|
|
133
|
+
result: (job === null || job === void 0 ? void 0 : job.resultUrl) || null,
|
|
134
|
+
error: project.error,
|
|
135
|
+
getResultUrl: () => job === null || job === void 0 ? void 0 : job.getResultUrl()
|
|
136
|
+
};
|
|
137
|
+
}
|
|
104
138
|
/**
|
|
105
139
|
* Get the result URL of the job. This method will make a request to the API to get signed URL.
|
|
106
140
|
* IMPORTANT: URL expires after 30 minutes, so make sure to download the image as soon as possible.
|
|
@@ -175,6 +209,48 @@ class Job extends DataEntity_1.default {
|
|
|
175
209
|
this.emit('failed', this.data.error);
|
|
176
210
|
}
|
|
177
211
|
}
|
|
212
|
+
handleEnhancementUpdate() {
|
|
213
|
+
this.emit('updated', ['enhancedImage']);
|
|
214
|
+
}
|
|
215
|
+
getResultData() {
|
|
216
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
217
|
+
if (!this.hasResultImage) {
|
|
218
|
+
throw new Error('No result image available');
|
|
219
|
+
}
|
|
220
|
+
const url = yield this.getResultUrl();
|
|
221
|
+
const response = yield fetch(url);
|
|
222
|
+
if (!response.ok) {
|
|
223
|
+
throw new Error(`Failed to fetch image: ${response.statusText}`);
|
|
224
|
+
}
|
|
225
|
+
return response.blob();
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Enhance the image using the Flux model. This method will create a new project with the
|
|
230
|
+
* enhancement parameters and use the result image of the current job as the starting image.
|
|
231
|
+
* @param strength - how much freedom the model has to change the image.
|
|
232
|
+
* @param overrides - optional parameters to override original prompt, style or token type.
|
|
233
|
+
*/
|
|
234
|
+
enhance(strength_1) {
|
|
235
|
+
return __awaiter(this, arguments, void 0, function* (strength, overrides = {}) {
|
|
236
|
+
if (this.status !== 'completed') {
|
|
237
|
+
throw new Error('Job is not completed yet');
|
|
238
|
+
}
|
|
239
|
+
if (this.isNSFW) {
|
|
240
|
+
throw new Error('Job did not pass NSFW filter');
|
|
241
|
+
}
|
|
242
|
+
if (this._enhancementProject) {
|
|
243
|
+
this._enhancementProject.off('updated', this.handleEnhancementUpdate);
|
|
244
|
+
this._enhancementProject = null;
|
|
245
|
+
}
|
|
246
|
+
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: this._project.params.sizePreset }));
|
|
248
|
+
this._enhancementProject = project;
|
|
249
|
+
this._enhancementProject.on('updated', this.handleEnhancementUpdate);
|
|
250
|
+
const images = yield project.waitForCompletion();
|
|
251
|
+
return images[0];
|
|
252
|
+
});
|
|
253
|
+
}
|
|
178
254
|
}
|
|
179
255
|
exports.default = Job;
|
|
180
256
|
//# sourceMappingURL=Job.js.map
|
package/dist/Projects/Job.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Job.js","sourceRoot":"","sources":["../../src/Projects/Job.ts"],"names":[],"mappings":"
|
|
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,cAAc,EAAE,CAAC;IACjB,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,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACrD,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;;;OAGG;IACG,YAAY;;YAChB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;gBACtC,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,OAAO,EAAE,IAAI,CAAC,EAAE;gBAChB,IAAI,EAAE,UAAU;aACjB,CAAC,CAAC;YACH,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,KAAK,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;wBAC5C,KAAK,EAAE,IAAI,CAAC,SAAS;wBACrB,OAAO,EAAE,IAAI,CAAC,EAAE;wBAChB,IAAI,EAAE,UAAU;qBACjB,CAAC,CAAC;gBACL,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,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,iCACjC,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,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,IAC3C,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"}
|
|
@@ -24,6 +24,7 @@ export interface ProjectEventMap extends EntityEvents {
|
|
|
24
24
|
progress: number;
|
|
25
25
|
completed: string[];
|
|
26
26
|
failed: ErrorData;
|
|
27
|
+
jobStarted: Job;
|
|
27
28
|
jobCompleted: Job;
|
|
28
29
|
jobFailed: Job;
|
|
29
30
|
}
|
|
@@ -87,7 +88,6 @@ declare class Project extends DataEntity<ProjectData, ProjectEventMap> {
|
|
|
87
88
|
* @param data
|
|
88
89
|
*/
|
|
89
90
|
_addJob(data: JobData | Job): Job;
|
|
90
|
-
private _handleJobFinished;
|
|
91
91
|
private _checkForTimeout;
|
|
92
92
|
/**
|
|
93
93
|
* Sync project data with the data received from the REST API.
|
package/dist/Projects/Project.js
CHANGED
|
@@ -158,45 +158,44 @@ class Project extends DataEntity_1.default {
|
|
|
158
158
|
* @param data
|
|
159
159
|
*/
|
|
160
160
|
_addJob(data) {
|
|
161
|
-
const job = data instanceof Job_1.default
|
|
161
|
+
const job = data instanceof Job_1.default
|
|
162
|
+
? data
|
|
163
|
+
: new Job_1.default(data, { api: this._api, logger: this._logger, project: this });
|
|
162
164
|
this._jobs.push(job);
|
|
163
165
|
job.on('updated', () => {
|
|
164
166
|
this.lastUpdated = new Date();
|
|
165
167
|
this.emit('updated', ['jobs']);
|
|
166
168
|
});
|
|
169
|
+
this.emit('jobStarted', job);
|
|
167
170
|
job.on('completed', () => {
|
|
168
171
|
this.emit('jobCompleted', job);
|
|
169
|
-
this._handleJobFinished(job);
|
|
170
172
|
});
|
|
171
173
|
job.on('failed', () => {
|
|
172
174
|
this.emit('jobFailed', job);
|
|
173
|
-
this._handleJobFinished(job);
|
|
174
175
|
});
|
|
175
176
|
return job;
|
|
176
177
|
}
|
|
177
|
-
_handleJobFinished(job) {
|
|
178
|
-
const finalStatus = ['completed', 'failed', 'canceled'];
|
|
179
|
-
const allJobsDone = this.jobs.every((job) => finalStatus.includes(job.status));
|
|
180
|
-
// If all jobs are done and project is not already failed or completed, update the project status
|
|
181
|
-
if (allJobsDone && this.status !== 'failed' && this.status !== 'completed') {
|
|
182
|
-
const allJobsFailed = this.jobs.every((job) => job.status === 'failed');
|
|
183
|
-
if (allJobsFailed) {
|
|
184
|
-
this._update({ status: 'failed' });
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
this._update({ status: 'completed' });
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
178
|
_checkForTimeout() {
|
|
192
179
|
if (this.lastUpdated.getTime() + PROJECT_TIMEOUT < Date.now()) {
|
|
193
180
|
this._syncToServer().catch((error) => {
|
|
194
181
|
this._logger.error(error);
|
|
195
182
|
this._failedSyncAttempts++;
|
|
196
|
-
if (this._failedSyncAttempts
|
|
183
|
+
if (this._failedSyncAttempts >= MAX_FAILED_SYNC_ATTEMPTS) {
|
|
197
184
|
this._logger.error(`Failed to sync project data after ${MAX_FAILED_SYNC_ATTEMPTS} attempts. Stopping further attempts.`);
|
|
198
185
|
clearInterval(this._timeout);
|
|
199
186
|
this._timeout = null;
|
|
187
|
+
this.jobs.forEach((job) => {
|
|
188
|
+
if (!job.finished) {
|
|
189
|
+
job._update({
|
|
190
|
+
status: 'failed',
|
|
191
|
+
error: { code: 0, message: 'Job timed out' }
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
this._update({
|
|
196
|
+
status: 'failed',
|
|
197
|
+
error: { code: 0, message: 'Project timed out. Please try again or contact support.' }
|
|
198
|
+
});
|
|
200
199
|
}
|
|
201
200
|
});
|
|
202
201
|
}
|
|
@@ -232,7 +231,11 @@ class Project extends DataEntity_1.default {
|
|
|
232
231
|
// If there are any jobs left in jobData, it means they are new jobs that are not in the project yet
|
|
233
232
|
if (Object.keys(jobData).length) {
|
|
234
233
|
for (const job of Object.values(jobData)) {
|
|
235
|
-
const jobInstance = Job_1.default.fromRaw(data, job, {
|
|
234
|
+
const jobInstance = Job_1.default.fromRaw(data, job, {
|
|
235
|
+
api: this._api,
|
|
236
|
+
logger: this._logger,
|
|
237
|
+
project: this
|
|
238
|
+
});
|
|
236
239
|
this._addJob(jobInstance);
|
|
237
240
|
}
|
|
238
241
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Project.js","sourceRoot":"","sources":["../../src/Projects/Project.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"Project.js","sourceRoot":"","sources":["../../src/Projects/Project.ts"],"names":[],"mappings":"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"}
|
|
@@ -113,10 +113,10 @@ function getControlNet(params) {
|
|
|
113
113
|
function createJobRequestMessage(id, params) {
|
|
114
114
|
const template = getTemplate();
|
|
115
115
|
const jobRequest = Object.assign(Object.assign({}, template), { keyFrames: [
|
|
116
|
-
Object.assign(Object.assign({}, template.keyFrames[0]), { scheduler: params.scheduler, steps: params.steps, guidanceScale: params.guidance, modelID: params.modelId, negativePrompt: params.negativePrompt, seed: params.seed, positivePrompt: params.positivePrompt, stylePrompt: params.stylePrompt, hasStartingImage: !!params.startingImage, strengthIsEnabled: !!params.startingImage, strength: !!params.startingImage
|
|
116
|
+
Object.assign(Object.assign({}, template.keyFrames[0]), { scheduler: params.scheduler || null, timeStepSpacing: params.timeStepSpacing || null, steps: params.steps, guidanceScale: params.guidance, modelID: params.modelId, negativePrompt: params.negativePrompt, seed: params.seed, positivePrompt: params.positivePrompt, stylePrompt: params.stylePrompt, hasStartingImage: !!params.startingImage, strengthIsEnabled: !!params.startingImage, strength: !!params.startingImage
|
|
117
117
|
? 1 - (Number(params.startingImageStrength) || 0.5)
|
|
118
118
|
: undefined, sizePreset: params.sizePreset })
|
|
119
|
-
], previews: params.numberOfPreviews || 0, numberOfImages: params.numberOfImages, jobID: id, disableSafety: !!params.disableNSFWFilter });
|
|
119
|
+
], previews: params.numberOfPreviews || 0, numberOfImages: params.numberOfImages, jobID: id, disableSafety: !!params.disableNSFWFilter, tokenType: params.tokenType });
|
|
120
120
|
if (params.network) {
|
|
121
121
|
jobRequest.network = params.network;
|
|
122
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createJobRequestMessage.js","sourceRoot":"","sources":["../../src/Projects/createJobRequestMessage.ts"],"names":[],"mappings":"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
|
|
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,9 +1,10 @@
|
|
|
1
1
|
import ApiGroup, { ApiConfig } from '../ApiGroup';
|
|
2
|
-
import { AvailableModel, EstimateRequest, ImageUrlParams, ProjectParams, SizePreset, SupportedModel } from './types';
|
|
2
|
+
import { AvailableModel, EnhancementStrength, EstimateRequest, ImageUrlParams, 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';
|
|
6
6
|
import { SupernetType } from '../ApiClient/WebSocketClient/types';
|
|
7
|
+
import { TokenType } from '../types/token';
|
|
7
8
|
declare class ProjectsApi extends ApiGroup<ProjectApiEvents> {
|
|
8
9
|
private _availableModels;
|
|
9
10
|
private projects;
|
|
@@ -50,7 +51,11 @@ declare class ProjectsApi extends ApiGroup<ProjectApiEvents> {
|
|
|
50
51
|
/**
|
|
51
52
|
* Estimate project cost
|
|
52
53
|
*/
|
|
53
|
-
estimateCost({ network, model, imageCount, stepCount, previewCount, cnEnabled, startingImageStrength, width, height, sizePreset }: EstimateRequest): Promise<{
|
|
54
|
+
estimateCost({ network, tokenType, model, imageCount, stepCount, previewCount, cnEnabled, startingImageStrength, width, height, sizePreset }: EstimateRequest): Promise<{
|
|
55
|
+
token: string;
|
|
56
|
+
usd: string;
|
|
57
|
+
}>;
|
|
58
|
+
estimateEnhancementCost(strength: EnhancementStrength, tokenType?: TokenType): Promise<{
|
|
54
59
|
token: string;
|
|
55
60
|
usd: string;
|
|
56
61
|
}>;
|
package/dist/Projects/index.js
CHANGED
|
@@ -18,8 +18,10 @@ const createJobRequestMessage_1 = __importDefault(require("./createJobRequestMes
|
|
|
18
18
|
const ApiClient_1 = require("../ApiClient");
|
|
19
19
|
const getUUID_1 = __importDefault(require("../lib/getUUID"));
|
|
20
20
|
const Cache_1 = __importDefault(require("../lib/Cache"));
|
|
21
|
+
const Job_1 = require("./Job");
|
|
22
|
+
const utils_1 = require("./utils");
|
|
21
23
|
const sizePresetCache = new Cache_1.default(10 * 60 * 1000);
|
|
22
|
-
const GARBAGE_COLLECT_TIMEOUT =
|
|
24
|
+
const GARBAGE_COLLECT_TIMEOUT = 30000;
|
|
23
25
|
const MODELS_REFRESH_INTERVAL = 1000 * 60 * 60 * 24; // 24 hours
|
|
24
26
|
function mapErrorCodes(code) {
|
|
25
27
|
switch (code) {
|
|
@@ -56,7 +58,7 @@ class ProjectsApi extends ApiGroup_1.default {
|
|
|
56
58
|
this.client.socket.on('jobProgress', this.handleJobProgress.bind(this));
|
|
57
59
|
this.client.socket.on('jobError', this.handleJobError.bind(this));
|
|
58
60
|
this.client.socket.on('jobResult', this.handleJobResult.bind(this));
|
|
59
|
-
// Listen to server disconnect event
|
|
61
|
+
// Listen to the server disconnect event
|
|
60
62
|
this.client.on('disconnected', this.handleServerDisconnected.bind(this));
|
|
61
63
|
// Listen to project and job events and update project and job instances
|
|
62
64
|
this.on('project', this.handleProjectEvent.bind(this));
|
|
@@ -107,7 +109,10 @@ class ProjectsApi extends ApiGroup_1.default {
|
|
|
107
109
|
type: 'initiating',
|
|
108
110
|
projectId: data.jobID,
|
|
109
111
|
jobId: data.imgID,
|
|
110
|
-
workerName: data.workerName
|
|
112
|
+
workerName: data.workerName,
|
|
113
|
+
positivePrompt: data.positivePrompt,
|
|
114
|
+
negativePrompt: data.negativePrompt,
|
|
115
|
+
jobIndex: data.jobIndex
|
|
111
116
|
});
|
|
112
117
|
return;
|
|
113
118
|
case 'jobStarted': {
|
|
@@ -115,7 +120,10 @@ class ProjectsApi extends ApiGroup_1.default {
|
|
|
115
120
|
type: 'started',
|
|
116
121
|
projectId: data.jobID,
|
|
117
122
|
jobId: data.imgID,
|
|
118
|
-
workerName: data.workerName
|
|
123
|
+
workerName: data.workerName,
|
|
124
|
+
positivePrompt: data.positivePrompt,
|
|
125
|
+
negativePrompt: data.negativePrompt,
|
|
126
|
+
jobIndex: data.jobIndex
|
|
119
127
|
});
|
|
120
128
|
return;
|
|
121
129
|
}
|
|
@@ -233,7 +241,7 @@ class ProjectsApi extends ApiGroup_1.default {
|
|
|
233
241
|
this.client.logger.error(e);
|
|
234
242
|
});
|
|
235
243
|
setTimeout(() => {
|
|
236
|
-
this.projects = this.projects.filter((p) => p.
|
|
244
|
+
this.projects = this.projects.filter((p) => !p.finished);
|
|
237
245
|
}, GARBAGE_COLLECT_TIMEOUT);
|
|
238
246
|
}
|
|
239
247
|
}
|
|
@@ -254,15 +262,30 @@ class ProjectsApi extends ApiGroup_1.default {
|
|
|
254
262
|
}
|
|
255
263
|
switch (event.type) {
|
|
256
264
|
case 'initiating':
|
|
257
|
-
|
|
265
|
+
// positivePrompt and negativePrompt are only received if a Dynamic Prompt was used for the project creating a different prompt for each job
|
|
266
|
+
job._update({
|
|
267
|
+
status: 'initiating',
|
|
268
|
+
workerName: event.workerName,
|
|
269
|
+
positivePrompt: event.positivePrompt,
|
|
270
|
+
negativePrompt: event.negativePrompt,
|
|
271
|
+
jobIndex: event.jobIndex
|
|
272
|
+
});
|
|
258
273
|
break;
|
|
259
274
|
case 'started':
|
|
260
|
-
|
|
275
|
+
// positivePrompt and negativePrompt are only received if a Dynamic Prompt was used for the project creating a different prompt for each job
|
|
276
|
+
job._update({
|
|
277
|
+
status: 'processing',
|
|
278
|
+
workerName: event.workerName,
|
|
279
|
+
positivePrompt: event.positivePrompt,
|
|
280
|
+
negativePrompt: event.negativePrompt,
|
|
281
|
+
jobIndex: event.jobIndex
|
|
282
|
+
});
|
|
261
283
|
break;
|
|
262
284
|
case 'progress':
|
|
263
285
|
job._update({
|
|
264
286
|
status: 'processing',
|
|
265
|
-
|
|
287
|
+
// Jus in case event comes out of order
|
|
288
|
+
step: Math.max(event.step, job.step),
|
|
266
289
|
stepCount: event.stepCount
|
|
267
290
|
});
|
|
268
291
|
if (project.status !== 'processing') {
|
|
@@ -328,10 +351,10 @@ class ProjectsApi extends ApiGroup_1.default {
|
|
|
328
351
|
return __awaiter(this, void 0, void 0, function* () {
|
|
329
352
|
var _a;
|
|
330
353
|
const project = new Project_1.default(Object.assign({}, data), { api: this, logger: this.client.logger });
|
|
331
|
-
if (data.startingImage) {
|
|
354
|
+
if (data.startingImage && data.startingImage !== true) {
|
|
332
355
|
yield this.uploadGuideImage(project.id, data.startingImage);
|
|
333
356
|
}
|
|
334
|
-
if ((_a = data.controlNet) === null || _a === void 0 ? void 0 : _a.image) {
|
|
357
|
+
if (((_a = data.controlNet) === null || _a === void 0 ? void 0 : _a.image) && data.controlNet.image !== true) {
|
|
335
358
|
yield this.uploadCNImage(project.id, data.controlNet.image);
|
|
336
359
|
}
|
|
337
360
|
const request = (0, createJobRequestMessage_1.default)(project.id, data);
|
|
@@ -432,8 +455,9 @@ class ProjectsApi extends ApiGroup_1.default {
|
|
|
432
455
|
* Estimate project cost
|
|
433
456
|
*/
|
|
434
457
|
estimateCost(_a) {
|
|
435
|
-
return __awaiter(this, arguments, void 0, function* ({ network, model, imageCount, stepCount, previewCount, cnEnabled, startingImageStrength, width, height, sizePreset }) {
|
|
458
|
+
return __awaiter(this, arguments, void 0, function* ({ network, tokenType, model, imageCount, stepCount, previewCount, cnEnabled, startingImageStrength, width, height, sizePreset }) {
|
|
436
459
|
const pathParams = [
|
|
460
|
+
tokenType || 'sogni',
|
|
437
461
|
network,
|
|
438
462
|
model,
|
|
439
463
|
imageCount,
|
|
@@ -453,13 +477,27 @@ class ProjectsApi extends ApiGroup_1.default {
|
|
|
453
477
|
else if (width && height) {
|
|
454
478
|
pathParams.push(width, height);
|
|
455
479
|
}
|
|
456
|
-
const r = yield this.client.socket.get(`/api/
|
|
480
|
+
const r = yield this.client.socket.get(`/api/v2/job/estimate/${pathParams.join('/')}`);
|
|
457
481
|
return {
|
|
458
482
|
token: r.quote.project.costInToken,
|
|
459
483
|
usd: r.quote.project.costInUSD
|
|
460
484
|
};
|
|
461
485
|
});
|
|
462
486
|
}
|
|
487
|
+
estimateEnhancementCost(strength_1) {
|
|
488
|
+
return __awaiter(this, arguments, void 0, function* (strength, tokenType = 'sogni') {
|
|
489
|
+
return this.estimateCost({
|
|
490
|
+
network: Job_1.enhancementDefaults.network,
|
|
491
|
+
tokenType,
|
|
492
|
+
model: Job_1.enhancementDefaults.modelId,
|
|
493
|
+
imageCount: 1,
|
|
494
|
+
stepCount: Job_1.enhancementDefaults.steps,
|
|
495
|
+
previewCount: 0,
|
|
496
|
+
cnEnabled: false,
|
|
497
|
+
startingImageStrength: (0, utils_1.getEnhacementStrength)(strength)
|
|
498
|
+
});
|
|
499
|
+
});
|
|
500
|
+
}
|
|
463
501
|
/**
|
|
464
502
|
* Get upload URL for image
|
|
465
503
|
* @internal
|