@sogni-ai/sogni-client 4.0.0-alpha.33 → 4.0.0-alpha.35
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 +14 -0
- package/dist/Projects/createJobRequestMessage.js +17 -1
- package/dist/Projects/createJobRequestMessage.js.map +1 -1
- package/dist/Projects/types/index.d.ts +11 -1
- package/dist/Projects/types/index.js.map +1 -1
- package/dist/Projects/utils.js +1 -1
- package/dist/lib/validation.d.ts +5 -0
- package/dist/lib/validation.js +18 -0
- package/dist/lib/validation.js.map +1 -1
- package/package.json +1 -1
- package/src/Projects/createJobRequestMessage.ts +21 -2
- package/src/Projects/types/index.ts +11 -1
- package/src/Projects/utils.ts +1 -1
- package/src/lib/validation.ts +18 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
# [4.0.0-alpha.35](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.34...v4.0.0-alpha.35) (2025-12-31)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* allow i2v workflow to use either referenceImage or referenceImageEnd ([b9f08ef](https://github.com/Sogni-AI/sogni-client/commit/b9f08efa91e92f58280b923c5815c9b6645c5452))
|
|
7
|
+
|
|
8
|
+
# [4.0.0-alpha.34](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.33...v4.0.0-alpha.34) (2025-12-30)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* Add VideoProjectParams optional teacacheThreshold support ([7a68d4c](https://github.com/Sogni-AI/sogni-client/commit/7a68d4ccc8db8fa1ed410452321468d434927bd1))
|
|
14
|
+
|
|
1
15
|
# [4.0.0-alpha.33](https://github.com/Sogni-AI/sogni-client/compare/v4.0.0-alpha.32...v4.0.0-alpha.33) (2025-12-19)
|
|
2
16
|
|
|
3
17
|
|
|
@@ -15,7 +15,17 @@ function validateVideoWorkflowAssets(params) {
|
|
|
15
15
|
const requirements = utils_1.VIDEO_WORKFLOW_ASSETS[workflowType];
|
|
16
16
|
if (!requirements)
|
|
17
17
|
return;
|
|
18
|
-
//
|
|
18
|
+
// Special case for i2v: at least ONE of referenceImage or referenceImageEnd required
|
|
19
|
+
if (workflowType === 'i2v') {
|
|
20
|
+
if (!params.referenceImage && !params.referenceImageEnd) {
|
|
21
|
+
throw new ApiClient_1.ApiError(400, {
|
|
22
|
+
status: 'error',
|
|
23
|
+
errorCode: 0,
|
|
24
|
+
message: 'i2v workflow requires at least one of referenceImage or referenceImageEnd. Please provide this asset.'
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// Check for missing required assets and forbidden assets
|
|
19
29
|
for (const [asset, requirement] of Object.entries(requirements)) {
|
|
20
30
|
const assetKey = asset;
|
|
21
31
|
const hasAsset = !!params[assetKey];
|
|
@@ -193,6 +203,12 @@ function applyVideoParams(inputKeyframe, params) {
|
|
|
193
203
|
if (params.shift !== undefined) {
|
|
194
204
|
keyFrame.shift = params.shift;
|
|
195
205
|
}
|
|
206
|
+
if (params.teacacheThreshold !== undefined) {
|
|
207
|
+
const validatedThreshold = (0, validation_1.validateTeacacheThreshold)(params.teacacheThreshold);
|
|
208
|
+
if (validatedThreshold !== undefined) {
|
|
209
|
+
keyFrame.teacacheThreshold = validatedThreshold;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
196
212
|
// Validate and set video dimensions (minimum 480px for Wan 2.2 models)
|
|
197
213
|
if (params.width && params.height) {
|
|
198
214
|
keyFrame.width = (0, validation_1.validateVideoSize)(params.width, 'width');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createJobRequestMessage.js","sourceRoot":"","sources":["../../src/Projects/createJobRequestMessage.ts"],"names":[],"mappings":";;AAAA,mCAMiB;AAEjB,
|
|
1
|
+
{"version":3,"file":"createJobRequestMessage.js","sourceRoot":"","sources":["../../src/Projects/createJobRequestMessage.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,6 +60,8 @@ export interface BaseProjectParams {
|
|
|
60
60
|
steps?: number;
|
|
61
61
|
/**
|
|
62
62
|
* Guidance scale. For most Stable Diffusion models, optimal value is 7.5.
|
|
63
|
+
* For video models: Regular models range 0.7-8.0, LoRA version (lightx2v) range 0.7-1.6, step 0.01.
|
|
64
|
+
* This maps to `guidanceScale` in the keyFrame for both image and video models.
|
|
63
65
|
*/
|
|
64
66
|
guidance?: number;
|
|
65
67
|
/**
|
|
@@ -98,9 +100,17 @@ export interface VideoProjectParams extends BaseProjectParams {
|
|
|
98
100
|
*/
|
|
99
101
|
fps?: number;
|
|
100
102
|
/**
|
|
101
|
-
* Shift parameter for video diffusion models
|
|
103
|
+
* Shift parameter for video diffusion models.
|
|
104
|
+
* Controls motion intensity. Range: 1.0-8.0, step 0.1.
|
|
105
|
+
* Default: 8.0 for regular models, 5.0 for speed lora (lightx2v) except s2v and animate which use 8.0
|
|
102
106
|
*/
|
|
103
107
|
shift?: number;
|
|
108
|
+
/**
|
|
109
|
+
* TeaCache optimization threshold for T2V and I2V models.
|
|
110
|
+
* Range: 0.0-1.0. 0.0 = disabled.
|
|
111
|
+
* Recommended: 0.15 for T2V (~1.5x speedup), 0.2 for I2V (conservative quality-focused)
|
|
112
|
+
*/
|
|
113
|
+
teacacheThreshold?: number;
|
|
104
114
|
/**
|
|
105
115
|
* Reference image for WAN video workflows.
|
|
106
116
|
* Maps to: startImage (i2v), characterImage (animate), referenceImage (s2v)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Projects/types/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Projects/types/index.ts"],"names":[],"mappings":";;;AAqNA,sCAEC;AAED,sCAEC;AAxND,mDAA6D;AAkCpD,kGAlCS,iCAAiB,OAkCT;AAjC1B,uDAAmE;AAiCvC,oGAjCR,qCAAmB,OAiCQ;AAgL/C,SAAgB,aAAa,CAAC,MAAqB;IACjD,OAAO,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC;AACjC,CAAC;AAED,SAAgB,aAAa,CAAC,MAAqB;IACjD,OAAO,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC;AACjC,CAAC"}
|
package/dist/Projects/utils.js
CHANGED
package/dist/lib/validation.d.ts
CHANGED
|
@@ -13,4 +13,9 @@ interface NumberValidationOptions {
|
|
|
13
13
|
export declare function validateNumber(value: any, { min, max, propertyName, defaultValue }?: NumberValidationOptions): number;
|
|
14
14
|
export declare function validateSampler(value?: string): string | null;
|
|
15
15
|
export declare function validateScheduler(value?: string): string | null;
|
|
16
|
+
/**
|
|
17
|
+
* Validate teacacheThreshold for T2V and I2V models.
|
|
18
|
+
* Range: 0.0-1.0. 0.0 = disabled.
|
|
19
|
+
*/
|
|
20
|
+
export declare function validateTeacacheThreshold(value?: number): number | undefined;
|
|
16
21
|
export {};
|
package/dist/lib/validation.js
CHANGED
|
@@ -5,6 +5,7 @@ exports.validateVideoSize = validateVideoSize;
|
|
|
5
5
|
exports.validateNumber = validateNumber;
|
|
6
6
|
exports.validateSampler = validateSampler;
|
|
7
7
|
exports.validateScheduler = validateScheduler;
|
|
8
|
+
exports.validateTeacacheThreshold = validateTeacacheThreshold;
|
|
8
9
|
const SamplerParams_1 = require("../Projects/types/SamplerParams");
|
|
9
10
|
const SchedulerParams_1 = require("../Projects/types/SchedulerParams");
|
|
10
11
|
function validateCustomImageSize(value) {
|
|
@@ -67,4 +68,21 @@ function validateScheduler(value) {
|
|
|
67
68
|
}
|
|
68
69
|
throw new Error(`Invalid scheduler: ${value}. Supported options: ${Object.keys(SchedulerParams_1.SupportedSchedulers).join(', ')}`);
|
|
69
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Validate teacacheThreshold for T2V and I2V models.
|
|
73
|
+
* Range: 0.0-1.0. 0.0 = disabled.
|
|
74
|
+
*/
|
|
75
|
+
function validateTeacacheThreshold(value) {
|
|
76
|
+
if (value === undefined || value === null) {
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
const num = Number(value);
|
|
80
|
+
if (isNaN(num)) {
|
|
81
|
+
throw new Error(`teacacheThreshold must be a number, got ${value}`);
|
|
82
|
+
}
|
|
83
|
+
if (num < 0.0 || num > 1.0) {
|
|
84
|
+
throw new Error(`teacacheThreshold must be between 0.0 and 1.0 (got ${num})`);
|
|
85
|
+
}
|
|
86
|
+
return num;
|
|
87
|
+
}
|
|
70
88
|
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/lib/validation.ts"],"names":[],"mappings":";;AAGA,0DAEC;AAMD,8CAEC;AASD,wCA4BC;AAED,0CAaC;AAED,8CAaC;
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/lib/validation.ts"],"names":[],"mappings":";;AAGA,0DAEC;AAMD,8CAEC;AASD,wCA4BC;AAED,0CAaC;AAED,8CAaC;AAMD,8DAYC;AAlGD,mEAA6F;AAC7F,uEAAqF;AAErF,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;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,KAAU,EAAE,YAAgC;IAC5E,OAAO,cAAc,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,YAAY,EAAE,EAAE,CAAC,CAAC;AACpF,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;AAED,SAAgB,eAAe,CAAC,KAAc;IAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAA,4BAAY,EAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAA,yBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,iCAAiB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,IAAI,KAAK,CACb,oBAAoB,KAAK,wBAAwB,MAAM,CAAC,IAAI,CAAC,iCAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7F,CAAC;AACJ,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAAc;IAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAA,4BAAY,EAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAA,6BAAW,EAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,qCAAmB,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,IAAI,KAAK,CACb,sBAAsB,KAAK,wBAAwB,MAAM,CAAC,IAAI,CAAC,qCAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjG,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,KAAc;IACtD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,2CAA2C,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,sDAAsD,GAAG,GAAG,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/package.json
CHANGED
|
@@ -11,7 +11,8 @@ import {
|
|
|
11
11
|
validateCustomImageSize,
|
|
12
12
|
validateSampler,
|
|
13
13
|
validateScheduler,
|
|
14
|
-
validateVideoSize
|
|
14
|
+
validateVideoSize,
|
|
15
|
+
validateTeacacheThreshold
|
|
15
16
|
} from '../lib/validation';
|
|
16
17
|
import { getVideoWorkflowType, isVideoModel, VIDEO_WORKFLOW_ASSETS } from './utils';
|
|
17
18
|
import { ApiError } from '../ApiClient';
|
|
@@ -26,7 +27,19 @@ function validateVideoWorkflowAssets(params: VideoProjectParams): void {
|
|
|
26
27
|
|
|
27
28
|
const requirements = VIDEO_WORKFLOW_ASSETS[workflowType];
|
|
28
29
|
if (!requirements) return;
|
|
29
|
-
|
|
30
|
+
|
|
31
|
+
// Special case for i2v: at least ONE of referenceImage or referenceImageEnd required
|
|
32
|
+
if (workflowType === 'i2v') {
|
|
33
|
+
if (!params.referenceImage && !params.referenceImageEnd) {
|
|
34
|
+
throw new ApiError(400, {
|
|
35
|
+
status: 'error',
|
|
36
|
+
errorCode: 0,
|
|
37
|
+
message: 'i2v workflow requires at least one of referenceImage or referenceImageEnd. Please provide this asset.'
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Check for missing required assets and forbidden assets
|
|
30
43
|
for (const [asset, requirement] of Object.entries(requirements)) {
|
|
31
44
|
const assetKey = asset as keyof VideoProjectParams;
|
|
32
45
|
const hasAsset = !!params[assetKey];
|
|
@@ -220,6 +233,12 @@ function applyVideoParams(inputKeyframe: Record<string, any>, params: VideoProje
|
|
|
220
233
|
if (params.shift !== undefined) {
|
|
221
234
|
keyFrame.shift = params.shift;
|
|
222
235
|
}
|
|
236
|
+
if (params.teacacheThreshold !== undefined) {
|
|
237
|
+
const validatedThreshold = validateTeacacheThreshold(params.teacacheThreshold);
|
|
238
|
+
if (validatedThreshold !== undefined) {
|
|
239
|
+
keyFrame.teacacheThreshold = validatedThreshold;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
223
242
|
|
|
224
243
|
// Validate and set video dimensions (minimum 480px for Wan 2.2 models)
|
|
225
244
|
if (params.width && params.height) {
|
|
@@ -67,6 +67,8 @@ export interface BaseProjectParams {
|
|
|
67
67
|
steps?: number;
|
|
68
68
|
/**
|
|
69
69
|
* Guidance scale. For most Stable Diffusion models, optimal value is 7.5.
|
|
70
|
+
* For video models: Regular models range 0.7-8.0, LoRA version (lightx2v) range 0.7-1.6, step 0.01.
|
|
71
|
+
* This maps to `guidanceScale` in the keyFrame for both image and video models.
|
|
70
72
|
*/
|
|
71
73
|
guidance?: number;
|
|
72
74
|
/**
|
|
@@ -107,9 +109,17 @@ export interface VideoProjectParams extends BaseProjectParams {
|
|
|
107
109
|
*/
|
|
108
110
|
fps?: number;
|
|
109
111
|
/**
|
|
110
|
-
* Shift parameter for video diffusion models
|
|
112
|
+
* Shift parameter for video diffusion models.
|
|
113
|
+
* Controls motion intensity. Range: 1.0-8.0, step 0.1.
|
|
114
|
+
* Default: 8.0 for regular models, 5.0 for speed lora (lightx2v) except s2v and animate which use 8.0
|
|
111
115
|
*/
|
|
112
116
|
shift?: number;
|
|
117
|
+
/**
|
|
118
|
+
* TeaCache optimization threshold for T2V and I2V models.
|
|
119
|
+
* Range: 0.0-1.0. 0.0 = disabled.
|
|
120
|
+
* Recommended: 0.15 for T2V (~1.5x speedup), 0.2 for I2V (conservative quality-focused)
|
|
121
|
+
*/
|
|
122
|
+
teacacheThreshold?: number;
|
|
113
123
|
/**
|
|
114
124
|
* Reference image for WAN video workflows.
|
|
115
125
|
* Maps to: startImage (i2v), characterImage (animate), referenceImage (s2v)
|
package/src/Projects/utils.ts
CHANGED
package/src/lib/validation.ts
CHANGED
|
@@ -79,3 +79,21 @@ export function validateScheduler(value?: string) {
|
|
|
79
79
|
`Invalid scheduler: ${value}. Supported options: ${Object.keys(SupportedSchedulers).join(', ')}`
|
|
80
80
|
);
|
|
81
81
|
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Validate teacacheThreshold for T2V and I2V models.
|
|
85
|
+
* Range: 0.0-1.0. 0.0 = disabled.
|
|
86
|
+
*/
|
|
87
|
+
export function validateTeacacheThreshold(value?: number): number | undefined {
|
|
88
|
+
if (value === undefined || value === null) {
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
const num = Number(value);
|
|
92
|
+
if (isNaN(num)) {
|
|
93
|
+
throw new Error(`teacacheThreshold must be a number, got ${value}`);
|
|
94
|
+
}
|
|
95
|
+
if (num < 0.0 || num > 1.0) {
|
|
96
|
+
throw new Error(`teacacheThreshold must be between 0.0 and 1.0 (got ${num})`);
|
|
97
|
+
}
|
|
98
|
+
return num;
|
|
99
|
+
}
|