@sogni-ai/sogni-client 2.0.1 → 2.1.0-alpha.1

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 CHANGED
@@ -1,3 +1,17 @@
1
+ # [2.1.0-alpha.1](https://github.com/Sogni-AI/sogni-client/compare/v2.0.2...v2.1.0-alpha.1) (2025-02-04)
2
+
3
+
4
+ ### Features
5
+
6
+ * Add basic ControlNet support ([220991d](https://github.com/Sogni-AI/sogni-client/commit/220991db5b16740b159d2cb0c3e746141fa4906f))
7
+
8
+ ## [2.0.2](https://github.com/Sogni-AI/sogni-client/compare/v2.0.1...v2.0.2) (2025-02-04)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * False "completed" event for project when there is lack of free workers ([e5d546d](https://github.com/Sogni-AI/sogni-client/commit/e5d546dfbe0cb692ec120156e1e90c3787def951))
14
+
1
15
  ## [2.0.1](https://github.com/Sogni-AI/sogni-client/compare/v2.0.0...v2.0.1) (2025-01-29)
2
16
 
3
17
 
package/README.md CHANGED
@@ -191,6 +191,7 @@ Turbo and LCM models are designed for quality output in as little as 1 step. ([M
191
191
  - `timeStepSpacing` - time step spacing algorithm ([More info](https://docs.sogni.ai/learn/advanced/schedulers)). For available options see type definition.
192
192
  - `startingImage` - guide image in PNG format. Can be [File](https://developer.mozilla.org/en-US/docs/Web/API/File), [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) or [Buffer](https://nodejs.org/api/buffer.html)
193
193
  - `startingImageStrength` - strong effect of starting image should be. From 0 to 1, default 0.5.
194
+ - `controlNet` - Stable Diffusion ControlNet parameters. See **ControlNets** section below for more info.
194
195
 
195
196
  TypeScript type definitions for project parameters can be found in [ProjectParams](https://sdk-docs.sogni.ai/interfaces/ProjectParams.html) docs.
196
197
 
@@ -285,6 +286,81 @@ Sample response:
285
286
  }
286
287
  ]
287
288
  ```
289
+ ### ControlNets
290
+ **EXPERIMENTAL FEATURE:** This feature is still in development and may not work as expected. Use at your own risk.
291
+
292
+ ControlNet is a neural network that controls image generation in Stable Diffusion by adding extra conditions. See more
293
+ info and usage samples in [ControlNets](https://docs.sogni.ai/learn/basics/controlnet) docs for Sogni Studio.
294
+
295
+ To use ControlNet in your project you need to provide `controlNet` object with the following properties:
296
+ - `name` - name of the ControlNet to use. Currently supported:
297
+ - `canny`
298
+ - `depth`
299
+ - `inpaint`
300
+ - `instrp2p`
301
+ - `lineart`
302
+ - `lineartanime`
303
+ - `mlsd`
304
+ - `normalbae`
305
+ - `openpose`
306
+ - `scribble`
307
+ - `segmentation`
308
+ - `shuffle`
309
+ - `softedge`
310
+ - `tile`
311
+ - `image` - input image. Image size should match the size of the generated image. Can be [File](https://developer.mozilla.org/en-US/docs/Web/API/File), [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) or [Buffer](https://nodejs.org/api/buffer.html)
312
+ - `strength` - ControlNet strength 0 to 1. 0 full control to prompt, 1 full control to ControlNet
313
+ - `mode` - How control and prompt should be weighted. Can be:
314
+ - `balanced` - (default) balanced, no preference between prompt and control model
315
+ - `prompt_priority` - the prompt has more impact than the model
316
+ - `cn_priority` - the controlnet model has more impact than the prompt
317
+ - `guidanceStart` - step when ControlNet first applied, 0 means first step, 1 means last step. Must be less than guidanceEnd
318
+ - `guidanceEnd` - step when ControlNet last applied, 0 means first step, 1 means last step. Must be greater than guidanceStart
319
+
320
+ Example:
321
+ ```javascript
322
+ const cnImage = fs.readFileSync('./cn.jpg');
323
+ const project = await client.projects.create({
324
+ network: 'fast',
325
+ modelId: 'coreml-cyberrealistic_v70_768',
326
+ numberOfImages: 1,
327
+ positivePrompt: 'make men look older',
328
+ steps: 20,
329
+ guidance: 7.5,
330
+ controlNet: {
331
+ name: 'instrp2p',
332
+ image: cnImage
333
+ }
334
+ });
335
+ ```
336
+ Full ControlNet type definition:
337
+ ```typescript
338
+ export type ControlNetName =
339
+ | 'canny'
340
+ | 'depth'
341
+ | 'inpaint'
342
+ | 'instrp2p'
343
+ | 'lineart'
344
+ | 'lineartanime'
345
+ | 'mlsd'
346
+ | 'normalbae'
347
+ | 'openpose'
348
+ | 'scribble'
349
+ | 'segmentation'
350
+ | 'shuffle'
351
+ | 'softedge'
352
+ | 'tile';
353
+
354
+ export type ControlNetMode = 'balanced' | 'prompt_priority' | 'cn_priority';
355
+ export interface ControlNetParams {
356
+ name: ControlNetName;
357
+ image?: File | Buffer | Blob;
358
+ strength?: number;
359
+ mode?: ControlNetMode;
360
+ guidanceStart?: number;
361
+ guidanceEnd?: number;
362
+ }
363
+ ```
288
364
 
289
365
 
290
366
  ## Code examples
@@ -142,8 +142,9 @@ class Project extends DataEntity_1.default {
142
142
  this._timeout = null;
143
143
  }
144
144
  if (keys.includes('status') || keys.includes('jobs')) {
145
- const allJobsDone = this.jobs.every((job) => ['completed', 'failed', 'canceled'].includes(job.status));
146
- if (this.data.status === 'completed' && allJobsDone) {
145
+ const allJobsStarted = this.jobs.length >= this.params.numberOfImages;
146
+ const allJobsDone = this.jobs.every((job) => job.finished);
147
+ if (this.data.status === 'completed' && allJobsStarted && allJobsDone) {
147
148
  return this.emit('completed', this.resultUrls);
148
149
  }
149
150
  if (this.data.status === 'failed') {
@@ -1 +1 @@
1
- {"version":3,"file":"Project.js","sourceRoot":"","sources":["../../src/Projects/Project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Project.js","sourceRoot":"","sources":["../../src/Projects/Project.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const validation_1 = require("../lib/validation");
3
4
  // Mac worker can't process the data if some of the fields are missing, so we need to provide a default template
4
5
  function getTemplate() {
5
6
  return {
@@ -65,12 +66,49 @@ function getTemplate() {
65
66
  siVideoFrames: []
66
67
  };
67
68
  }
68
- function validateSize(value) {
69
- const size = Number(value);
70
- if (isNaN(size) || size < 256 || size > 2048) {
71
- throw new Error('Width and height must be numbers between 256 and 2048');
69
+ function getControlNet(params) {
70
+ const cn = {
71
+ name: params.name,
72
+ cnImageState: 'original',
73
+ hasImage: !!params.image
74
+ };
75
+ if (params.strength !== undefined) {
76
+ cn.controlStrength = (0, validation_1.validateNumber)(params.strength, {
77
+ min: 0,
78
+ max: 1,
79
+ propertyName: 'strength'
80
+ });
81
+ }
82
+ if (params.mode) {
83
+ switch (params.mode) {
84
+ case 'balanced':
85
+ cn.controlMode = 0;
86
+ break;
87
+ case 'prompt_priority':
88
+ cn.controlMode = 1;
89
+ break;
90
+ case 'cn_priority':
91
+ cn.controlMode = 2;
92
+ break;
93
+ default:
94
+ throw new Error(`Invalid control mode ${params.mode}`);
95
+ }
96
+ }
97
+ if (params.guidanceStart !== undefined) {
98
+ cn.controlGuidanceStart = (0, validation_1.validateNumber)(params.guidanceStart, {
99
+ min: 0,
100
+ max: 1,
101
+ propertyName: 'guidanceStart'
102
+ });
72
103
  }
73
- return size;
104
+ if (params.guidanceEnd !== undefined) {
105
+ cn.controlGuidanceEnd = (0, validation_1.validateNumber)(params.guidanceEnd, {
106
+ min: 0,
107
+ max: 1,
108
+ propertyName: 'guidanceEnd'
109
+ });
110
+ }
111
+ return [cn];
74
112
  }
75
113
  function createJobRequestMessage(id, params) {
76
114
  const template = getTemplate();
@@ -82,9 +120,12 @@ function createJobRequestMessage(id, params) {
82
120
  if (params.network) {
83
121
  jobRequest.network = params.network;
84
122
  }
123
+ if (params.controlNet) {
124
+ jobRequest.keyFrames[0].currentControlNetsJob = getControlNet(params.controlNet);
125
+ }
85
126
  if (params.sizePreset === 'custom') {
86
- jobRequest.keyFrames[0].width = validateSize(params.width);
87
- jobRequest.keyFrames[0].height = validateSize(params.height);
127
+ jobRequest.keyFrames[0].width = (0, validation_1.validateCustomImageSize)(params.width);
128
+ jobRequest.keyFrames[0].height = (0, validation_1.validateCustomImageSize)(params.height);
88
129
  }
89
130
  return jobRequest;
90
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createJobRequestMessage.js","sourceRoot":"","sources":["../../src/Projects/createJobRequestMessage.ts"],"names":[],"mappings":";;AACA,gHAAgH;AAChH,SAAS,WAAW;IAClB,OAAO;QACL,sBAAsB,EAAE,KAAK;QAC7B,mBAAmB,EAAE,EAAE;QACvB,6BAA6B,EAAE,EAAE;QACjC,iBAAiB,EAAE,EAAE;QACrB,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,KAAK;QACpB,iBAAiB,EAAE,EAAE;QACrB,kBAAkB,EAAE,EAAE;QACtB,SAAS,EAAE;YACT;gBACE,cAAc,EAAE,IAAI;gBACpB,UAAU,EAAE,CAAC;gBACb,qBAAqB,EAAE,IAAI;gBAC3B,QAAQ,EAAE,GAAG;gBACb,oBAAoB,EAAE,IAAI;gBAC1B,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,UAAU;gBACtB,mCAAmC,EAAE,IAAI;gBACzC,sBAAsB,EAAE,IAAI;gBAC5B,sBAAsB,EAAE,OAAO;gBAC/B,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpB,SAAS,EAAE,qCAAqC;gBAChD,eAAe,EAAE,QAAQ;gBACzB,KAAK,EAAE,EAAE;gBACT,UAAU,EAAE,CAAC;gBACb,aAAa,EAAE,GAAG;gBAClB,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,EAAE;gBACX,mBAAmB,EAAE,IAAI;gBACzB,cAAc,EAAE,EAAE;gBAClB,wBAAwB,EAAE,KAAK;gBAC/B,IAAI,EAAE,SAAS;gBACf,mBAAmB,EAAE,IAAI;gBACzB,sBAAsB,EAAE,OAAO;gBAC/B,iBAAiB,EAAE,IAAI;gBACvB,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpB,gCAAgC,EAAE,KAAK;gBACvC,cAAc,EAAE,EAAE;gBAClB,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,IAAI;gBAC1B,kBAAkB,EAAE,IAAI;gBACxB,WAAW,EAAE,EAAE;gBACf,qBAAqB,EAAE,IAAI;gBAC3B,UAAU,EAAE,CAAC;gBACb,aAAa,EAAE,IAAI;gBACnB,WAAW,EAAE,CAAC;aACf;SACF;QACD,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,EAAE;QACb,qBAAqB,EAAE,EAAE;QACzB,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,KAAK;QACpB,gCAAgC,EAAE,EAAE;QACpC,sBAAsB,EAAE,EAAE;QAC1B,cAAc,EAAE,CAAC;QACjB,iBAAiB,EAAE,EAAE;QACrB,KAAK,EAAE,EAAE;QACT,aAAa,EAAE,EAAE;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAU;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAAC,EAAU,EAAE,MAAqB;IAChE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,UAAU,mCACX,QAAQ,KACX,SAAS,EAAE;4CAEJ,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,KACxB,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,aAAa,EAAE,MAAM,CAAC,QAAQ,EAC9B,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,cAAc,EAAE,MAAM,CAAC,cAAc,EACrC,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,cAAc,EAAE,MAAM,CAAC,cAAc,EACrC,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,EACxC,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,EACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa;oBAC9B,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,GAAG,CAAC;oBACnD,CAAC,CAAC,SAAS,EACb,UAAU,EAAE,MAAM,CAAC,UAAU;SAEhC,EACD,QAAQ,EAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC,EACtC,cAAc,EAAE,MAAM,CAAC,cAAc,EACrC,KAAK,EAAE,EAAE,EACT,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB,GAC1C,CAAC;IACF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACtC,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3D,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAID,kBAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"createJobRequestMessage.js","sourceRoot":"","sources":["../../src/Projects/createJobRequestMessage.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ declare class ProjectsApi extends ApiGroup<ProjectApiEvents> {
46
46
  **/
47
47
  cancel(projectId: string): Promise<void>;
48
48
  private uploadGuideImage;
49
+ private uploadCNImage;
49
50
  /**
50
51
  * Estimate project cost
51
52
  */
@@ -326,10 +326,14 @@ class ProjectsApi extends ApiGroup_1.default {
326
326
  */
327
327
  create(data) {
328
328
  return __awaiter(this, void 0, void 0, function* () {
329
+ var _a;
329
330
  const project = new Project_1.default(Object.assign({}, data), { api: this, logger: this.client.logger });
330
331
  if (data.startingImage) {
331
332
  yield this.uploadGuideImage(project.id, data.startingImage);
332
333
  }
334
+ if ((_a = data.controlNet) === null || _a === void 0 ? void 0 : _a.image) {
335
+ yield this.uploadCNImage(project.id, data.controlNet.image);
336
+ }
333
337
  const request = (0, createJobRequestMessage_1.default)(project.id, data);
334
338
  yield this.client.socket.send('jobRequest', request);
335
339
  this.projects.push(project);
@@ -402,6 +406,28 @@ class ProjectsApi extends ApiGroup_1.default {
402
406
  return imageId;
403
407
  });
404
408
  }
409
+ uploadCNImage(projectId, file) {
410
+ return __awaiter(this, void 0, void 0, function* () {
411
+ const imageId = (0, getUUID_1.default)();
412
+ const presignedUrl = yield this.uploadUrl({
413
+ imageId: imageId,
414
+ jobId: projectId,
415
+ type: 'cnImage'
416
+ });
417
+ const res = yield fetch(presignedUrl, {
418
+ method: 'PUT',
419
+ body: file
420
+ });
421
+ if (!res.ok) {
422
+ throw new ApiClient_1.ApiError(res.status, {
423
+ status: 'error',
424
+ errorCode: 0,
425
+ message: 'Failed to upload ControlNet image'
426
+ });
427
+ }
428
+ return imageId;
429
+ });
430
+ }
405
431
  /**
406
432
  * Estimate project cost
407
433
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Projects/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Projects/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * ControlNet model names
3
+ * @inline
4
+ */
5
+ export type ControlNetName = 'canny' | 'depth' | 'inpaint' | 'instrp2p' | 'lineart' | 'lineartanime' | 'mlsd' | 'normalbae' | 'openpose' | 'scribble' | 'segmentation' | 'shuffle' | 'softedge' | 'tile';
6
+ /**
7
+ * Raw ControlNet parameters passed to the API
8
+ */
9
+ export interface ControlNetParamsRaw {
10
+ name: ControlNetName;
11
+ mlmodelc?: string;
12
+ cnImageState: 'original';
13
+ hasImage: boolean;
14
+ controlStrength?: number;
15
+ /**
16
+ * 0 = "Balanced": (default) balanced, no preference between prompt and control model
17
+ * 1 = "My prompt is more important": the prompt has more impact than the model
18
+ * 2 = "ControlNet is more important": the controlnet model has more impact than the prompt
19
+ */
20
+ controlMode?: 0 | 1 | 2;
21
+ controlGuidanceStart?: number;
22
+ controlGuidanceEnd?: number;
23
+ }
24
+ /**
25
+ * ControlNet mode
26
+ * @inline
27
+ */
28
+ export type ControlNetMode = 'balanced' | 'prompt_priority' | 'cn_priority';
29
+ /**
30
+ * ControlNet parameters
31
+ */
32
+ export interface ControlNetParams {
33
+ /**
34
+ * Short name of the ControlNet model
35
+ */
36
+ name: ControlNetName;
37
+ /**
38
+ * ControlNet input image
39
+ */
40
+ image?: File | Buffer | Blob;
41
+ /**
42
+ * ControlNet strength 0 to 1. 0 full control to prompt, 1 full control to ControlNet
43
+ */
44
+ strength?: number;
45
+ /**
46
+ * How control and prompt should be weighted
47
+ * 'balanced' (default) balanced, no preference between prompt and control model
48
+ * 'prompt_priority' the prompt has more impact than the model
49
+ * 'cn_priority' the controlnet model has more impact than the prompt
50
+ */
51
+ mode?: ControlNetMode;
52
+ /**
53
+ * Step when ControlNet first applied, 0 means first step, 1 means last step.
54
+ * Must be less than guidanceEnd
55
+ */
56
+ guidanceStart?: number;
57
+ /**
58
+ * Step when ControlNet last applied, 0 means first step, 1 means last step.
59
+ * Must be greater than guidanceStart
60
+ */
61
+ guidanceEnd?: number;
62
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ControlNetParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlNetParams.js","sourceRoot":"","sources":["../../../src/Projects/types/ControlNetParams.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
1
  import { SupernetType } from '../../ApiClient/WebSocketClient/types';
2
+ import { ControlNetParams } from './ControlNetParams';
2
3
  export interface SupportedModel {
3
4
  id: string;
4
5
  name: string;
@@ -124,6 +125,10 @@ export interface ProjectParams {
124
125
  * Output image height. Only used if `sizePreset` is "custom"
125
126
  */
126
127
  height?: number;
128
+ /**
129
+ * ControlNet model parameters
130
+ */
131
+ controlNet?: ControlNetParams;
127
132
  }
128
133
  export type ImageUrlParams = {
129
134
  imageId: string;
@@ -0,0 +1,9 @@
1
+ export declare function validateCustomImageSize(value: any): number;
2
+ interface NumberValidationOptions {
3
+ min?: number;
4
+ max?: number;
5
+ propertyName?: string;
6
+ defaultValue?: number;
7
+ }
8
+ export declare function validateNumber(value: any, { min, max, propertyName, defaultValue }?: NumberValidationOptions): number;
9
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateCustomImageSize = validateCustomImageSize;
4
+ exports.validateNumber = validateNumber;
5
+ function validateCustomImageSize(value) {
6
+ return validateNumber(value, { min: 256, max: 2048, propertyName: 'Width and height' });
7
+ }
8
+ function validateNumber(value, { min, max, propertyName, defaultValue } = {}) {
9
+ const number = Number(value);
10
+ const hasDefaultValue = defaultValue !== undefined;
11
+ if (propertyName) {
12
+ propertyName = 'Value';
13
+ }
14
+ if (isNaN(number)) {
15
+ if (hasDefaultValue) {
16
+ return defaultValue;
17
+ }
18
+ throw new Error(`${propertyName} must be a number, got ${value}`);
19
+ }
20
+ if (min !== undefined && number < min) {
21
+ if (hasDefaultValue) {
22
+ return defaultValue;
23
+ }
24
+ throw new Error(`${propertyName} must greater or equal ${min}, got ${number}`);
25
+ }
26
+ if (max !== undefined && number > max) {
27
+ if (hasDefaultValue) {
28
+ return defaultValue;
29
+ }
30
+ throw new Error(`${propertyName} must be less or equal ${max}, got ${number}`);
31
+ }
32
+ return number;
33
+ }
34
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/lib/validation.ts"],"names":[],"mappings":";;AAAA,0DAEC;AASD,wCA4BC;AAvCD,SAAgB,uBAAuB,CAAC,KAAU;IAChD,OAAO,cAAc,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAC1F,CAAC;AASD,SAAgB,cAAc,CAC5B,KAAU,EACV,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,KAA8B,EAAE;IAEtE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,eAAe,GAAG,YAAY,KAAK,SAAS,CAAC;IACnD,IAAI,YAAY,EAAE,CAAC;QACjB,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClB,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,0BAA0B,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QACtC,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,0BAA0B,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QACtC,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,0BAA0B,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "2.0.1",
6
+ "version": "2.1.0-alpha.1",
7
7
  "description": "Sogni Supernet Client",
8
8
  "main": "dist/index.js",
9
9
  "types": "dist/index.d.ts",
@@ -191,10 +191,9 @@ class Project extends DataEntity<ProjectData, ProjectEventMap> {
191
191
  this._timeout = null;
192
192
  }
193
193
  if (keys.includes('status') || keys.includes('jobs')) {
194
- const allJobsDone = this.jobs.every((job) =>
195
- ['completed', 'failed', 'canceled'].includes(job.status)
196
- );
197
- if (this.data.status === 'completed' && allJobsDone) {
194
+ const allJobsStarted = this.jobs.length >= this.params.numberOfImages;
195
+ const allJobsDone = this.jobs.every((job) => job.finished);
196
+ if (this.data.status === 'completed' && allJobsStarted && allJobsDone) {
198
197
  return this.emit('completed', this.resultUrls);
199
198
  }
200
199
  if (this.data.status === 'failed') {
@@ -1,4 +1,6 @@
1
1
  import { ProjectParams } from './types';
2
+ import { ControlNetParams, ControlNetParamsRaw } from './types/ControlNetParams';
3
+ import { validateNumber, validateCustomImageSize } from '../lib/validation';
2
4
  // Mac worker can't process the data if some of the fields are missing, so we need to provide a default template
3
5
  function getTemplate() {
4
6
  return {
@@ -65,12 +67,49 @@ function getTemplate() {
65
67
  };
66
68
  }
67
69
 
68
- function validateSize(value: any): number {
69
- const size = Number(value);
70
- if (isNaN(size) || size < 256 || size > 2048) {
71
- throw new Error('Width and height must be numbers between 256 and 2048');
70
+ function getControlNet(params: ControlNetParams): ControlNetParamsRaw[] {
71
+ const cn: ControlNetParamsRaw = {
72
+ name: params.name,
73
+ cnImageState: 'original',
74
+ hasImage: !!params.image
75
+ };
76
+ if (params.strength !== undefined) {
77
+ cn.controlStrength = validateNumber(params.strength, {
78
+ min: 0,
79
+ max: 1,
80
+ propertyName: 'strength'
81
+ });
82
+ }
83
+ if (params.mode) {
84
+ switch (params.mode) {
85
+ case 'balanced':
86
+ cn.controlMode = 0;
87
+ break;
88
+ case 'prompt_priority':
89
+ cn.controlMode = 1;
90
+ break;
91
+ case 'cn_priority':
92
+ cn.controlMode = 2;
93
+ break;
94
+ default:
95
+ throw new Error(`Invalid control mode ${params.mode}`);
96
+ }
97
+ }
98
+ if (params.guidanceStart !== undefined) {
99
+ cn.controlGuidanceStart = validateNumber(params.guidanceStart, {
100
+ min: 0,
101
+ max: 1,
102
+ propertyName: 'guidanceStart'
103
+ });
72
104
  }
73
- return size;
105
+ if (params.guidanceEnd !== undefined) {
106
+ cn.controlGuidanceEnd = validateNumber(params.guidanceEnd, {
107
+ min: 0,
108
+ max: 1,
109
+ propertyName: 'guidanceEnd'
110
+ });
111
+ }
112
+ return [cn];
74
113
  }
75
114
 
76
115
  function createJobRequestMessage(id: string, params: ProjectParams) {
@@ -104,9 +143,12 @@ function createJobRequestMessage(id: string, params: ProjectParams) {
104
143
  if (params.network) {
105
144
  jobRequest.network = params.network;
106
145
  }
146
+ if (params.controlNet) {
147
+ jobRequest.keyFrames[0].currentControlNetsJob = getControlNet(params.controlNet);
148
+ }
107
149
  if (params.sizePreset === 'custom') {
108
- jobRequest.keyFrames[0].width = validateSize(params.width);
109
- jobRequest.keyFrames[0].height = validateSize(params.height);
150
+ jobRequest.keyFrames[0].width = validateCustomImageSize(params.width);
151
+ jobRequest.keyFrames[0].height = validateCustomImageSize(params.height);
110
152
  }
111
153
  return jobRequest;
112
154
  }
@@ -340,6 +340,9 @@ class ProjectsApi extends ApiGroup<ProjectApiEvents> {
340
340
  if (data.startingImage) {
341
341
  await this.uploadGuideImage(project.id, data.startingImage);
342
342
  }
343
+ if (data.controlNet?.image) {
344
+ await this.uploadCNImage(project.id, data.controlNet.image);
345
+ }
343
346
  const request = createJobRequestMessage(project.id, data);
344
347
  await this.client.socket.send('jobRequest', request);
345
348
  this.projects.push(project);
@@ -412,6 +415,27 @@ class ProjectsApi extends ApiGroup<ProjectApiEvents> {
412
415
  return imageId;
413
416
  }
414
417
 
418
+ private async uploadCNImage(projectId: string, file: File | Buffer | Blob) {
419
+ const imageId = getUUID();
420
+ const presignedUrl = await this.uploadUrl({
421
+ imageId: imageId,
422
+ jobId: projectId,
423
+ type: 'cnImage'
424
+ });
425
+ const res = await fetch(presignedUrl, {
426
+ method: 'PUT',
427
+ body: file
428
+ });
429
+ if (!res.ok) {
430
+ throw new ApiError(res.status, {
431
+ status: 'error',
432
+ errorCode: 0,
433
+ message: 'Failed to upload ControlNet image'
434
+ });
435
+ }
436
+ return imageId;
437
+ }
438
+
415
439
  /**
416
440
  * Estimate project cost
417
441
  */
@@ -0,0 +1,79 @@
1
+ /**
2
+ * ControlNet model names
3
+ * @inline
4
+ */
5
+ export type ControlNetName =
6
+ | 'canny'
7
+ | 'depth'
8
+ | 'inpaint'
9
+ | 'instrp2p'
10
+ | 'lineart'
11
+ | 'lineartanime'
12
+ | 'mlsd'
13
+ | 'normalbae'
14
+ | 'openpose'
15
+ | 'scribble'
16
+ | 'segmentation'
17
+ | 'shuffle'
18
+ | 'softedge'
19
+ | 'tile';
20
+
21
+ /**
22
+ * Raw ControlNet parameters passed to the API
23
+ */
24
+ export interface ControlNetParamsRaw {
25
+ name: ControlNetName;
26
+ mlmodelc?: string;
27
+ cnImageState: 'original';
28
+ hasImage: boolean;
29
+ controlStrength?: number;
30
+ /**
31
+ * 0 = "Balanced": (default) balanced, no preference between prompt and control model
32
+ * 1 = "My prompt is more important": the prompt has more impact than the model
33
+ * 2 = "ControlNet is more important": the controlnet model has more impact than the prompt
34
+ */
35
+ controlMode?: 0 | 1 | 2;
36
+ controlGuidanceStart?: number;
37
+ controlGuidanceEnd?: number;
38
+ }
39
+
40
+ /**
41
+ * ControlNet mode
42
+ * @inline
43
+ */
44
+ export type ControlNetMode = 'balanced' | 'prompt_priority' | 'cn_priority';
45
+
46
+ /**
47
+ * ControlNet parameters
48
+ */
49
+ export interface ControlNetParams {
50
+ /**
51
+ * Short name of the ControlNet model
52
+ */
53
+ name: ControlNetName;
54
+ /**
55
+ * ControlNet input image
56
+ */
57
+ image?: File | Buffer | Blob;
58
+ /**
59
+ * ControlNet strength 0 to 1. 0 full control to prompt, 1 full control to ControlNet
60
+ */
61
+ strength?: number;
62
+ /**
63
+ * How control and prompt should be weighted
64
+ * 'balanced' (default) balanced, no preference between prompt and control model
65
+ * 'prompt_priority' the prompt has more impact than the model
66
+ * 'cn_priority' the controlnet model has more impact than the prompt
67
+ */
68
+ mode?: ControlNetMode;
69
+ /**
70
+ * Step when ControlNet first applied, 0 means first step, 1 means last step.
71
+ * Must be less than guidanceEnd
72
+ */
73
+ guidanceStart?: number;
74
+ /**
75
+ * Step when ControlNet last applied, 0 means first step, 1 means last step.
76
+ * Must be greater than guidanceStart
77
+ */
78
+ guidanceEnd?: number;
79
+ }
@@ -1,4 +1,5 @@
1
1
  import { SupernetType } from '../../ApiClient/WebSocketClient/types';
2
+ import { ControlNetParams } from './ControlNetParams';
2
3
 
3
4
  export interface SupportedModel {
4
5
  id: string;
@@ -136,6 +137,10 @@ export interface ProjectParams {
136
137
  * Output image height. Only used if `sizePreset` is "custom"
137
138
  */
138
139
  height?: number;
140
+ /**
141
+ * ControlNet model parameters
142
+ */
143
+ controlNet?: ControlNetParams;
139
144
  }
140
145
 
141
146
  export type ImageUrlParams = {
@@ -0,0 +1,40 @@
1
+ export function validateCustomImageSize(value: any): number {
2
+ return validateNumber(value, { min: 256, max: 2048, propertyName: 'Width and height' });
3
+ }
4
+
5
+ interface NumberValidationOptions {
6
+ min?: number;
7
+ max?: number;
8
+ propertyName?: string;
9
+ defaultValue?: number;
10
+ }
11
+
12
+ export function validateNumber(
13
+ value: any,
14
+ { min, max, propertyName, defaultValue }: NumberValidationOptions = {}
15
+ ): number {
16
+ const number = Number(value);
17
+ const hasDefaultValue = defaultValue !== undefined;
18
+ if (propertyName) {
19
+ propertyName = 'Value';
20
+ }
21
+ if (isNaN(number)) {
22
+ if (hasDefaultValue) {
23
+ return defaultValue;
24
+ }
25
+ throw new Error(`${propertyName} must be a number, got ${value}`);
26
+ }
27
+ if (min !== undefined && number < min) {
28
+ if (hasDefaultValue) {
29
+ return defaultValue;
30
+ }
31
+ throw new Error(`${propertyName} must greater or equal ${min}, got ${number}`);
32
+ }
33
+ if (max !== undefined && number > max) {
34
+ if (hasDefaultValue) {
35
+ return defaultValue;
36
+ }
37
+ throw new Error(`${propertyName} must be less or equal ${max}, got ${number}`);
38
+ }
39
+ return number;
40
+ }