@sogni-ai/sogni-intelligence-client 4.4.2 → 4.5.0

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.
Files changed (77) hide show
  1. package/dist/client/SogniClientWrapper.d.ts.map +1 -1
  2. package/dist/client/SogniClientWrapper.js +5 -0
  3. package/dist/client/SogniClientWrapper.js.map +1 -1
  4. package/dist/contracts/hostedToolValidation.d.ts.map +1 -1
  5. package/dist/contracts/hostedToolValidation.js +4 -0
  6. package/dist/contracts/hostedToolValidation.js.map +1 -1
  7. package/dist/contracts/index.d.ts +3 -1
  8. package/dist/contracts/index.d.ts.map +1 -1
  9. package/dist/contracts/index.js +20 -2
  10. package/dist/contracts/index.js.map +1 -1
  11. package/dist/contracts/musicComposition.d.ts +3 -0
  12. package/dist/contracts/musicComposition.d.ts.map +1 -1
  13. package/dist/contracts/musicComposition.js +30 -3
  14. package/dist/contracts/musicComposition.js.map +1 -1
  15. package/dist/contracts/promptLimits.d.ts +74 -0
  16. package/dist/contracts/promptLimits.d.ts.map +1 -0
  17. package/dist/contracts/promptLimits.js +321 -0
  18. package/dist/contracts/promptLimits.js.map +1 -0
  19. package/dist/media/musicSettings.d.ts +1 -1
  20. package/dist/media/videoSettings.d.ts +4 -0
  21. package/dist/media/videoSettings.d.ts.map +1 -1
  22. package/dist/media/videoSettings.js +25 -3
  23. package/dist/media/videoSettings.js.map +1 -1
  24. package/dist/public-skill-runtime/index.d.ts +7 -0
  25. package/dist/public-skill-runtime/index.d.ts.map +1 -1
  26. package/dist/public-skill-runtime/index.js +6 -0
  27. package/dist/public-skill-runtime/index.js.map +1 -1
  28. package/dist/tools/definitions/animate-photo/definition.d.ts.map +1 -1
  29. package/dist/tools/definitions/animate-photo/definition.js +4 -1
  30. package/dist/tools/definitions/animate-photo/definition.js.map +1 -1
  31. package/dist/tools/definitions/generate-music/definition.d.ts.map +1 -1
  32. package/dist/tools/definitions/generate-music/definition.js +5 -2
  33. package/dist/tools/definitions/generate-music/definition.js.map +1 -1
  34. package/dist/tools/definitions/generate-video/definition.d.ts.map +1 -1
  35. package/dist/tools/definitions/generate-video/definition.js +6 -3
  36. package/dist/tools/definitions/generate-video/definition.js.map +1 -1
  37. package/dist/tools/definitions/segment-image/definition.d.ts.map +1 -1
  38. package/dist/tools/definitions/segment-image/definition.js +2 -1
  39. package/dist/tools/definitions/segment-image/definition.js.map +1 -1
  40. package/dist/tools/definitions/sound-to-video/definition.d.ts.map +1 -1
  41. package/dist/tools/definitions/sound-to-video/definition.js +4 -1
  42. package/dist/tools/definitions/sound-to-video/definition.js.map +1 -1
  43. package/dist/tools/definitions/video-to-video/definition.d.ts.map +1 -1
  44. package/dist/tools/definitions/video-to-video/definition.js +4 -1
  45. package/dist/tools/definitions/video-to-video/definition.js.map +1 -1
  46. package/dist/utils/helpers.d.ts.map +1 -1
  47. package/dist/utils/helpers.js +9 -0
  48. package/dist/utils/helpers.js.map +1 -1
  49. package/dist-esm/client/SogniClientWrapper.js +6 -1
  50. package/dist-esm/client/SogniClientWrapper.js.map +1 -1
  51. package/dist-esm/contracts/hostedToolValidation.js +4 -0
  52. package/dist-esm/contracts/hostedToolValidation.js.map +1 -1
  53. package/dist-esm/contracts/index.js +2 -1
  54. package/dist-esm/contracts/index.js.map +1 -1
  55. package/dist-esm/contracts/musicComposition.js +28 -3
  56. package/dist-esm/contracts/musicComposition.js.map +1 -1
  57. package/dist-esm/contracts/promptLimits.js +307 -0
  58. package/dist-esm/contracts/promptLimits.js.map +1 -0
  59. package/dist-esm/media/videoSettings.js +23 -2
  60. package/dist-esm/media/videoSettings.js.map +1 -1
  61. package/dist-esm/public-skill-runtime/index.js +6 -0
  62. package/dist-esm/public-skill-runtime/index.js.map +1 -1
  63. package/dist-esm/tools/definitions/animate-photo/definition.js +4 -1
  64. package/dist-esm/tools/definitions/animate-photo/definition.js.map +1 -1
  65. package/dist-esm/tools/definitions/generate-music/definition.js +5 -2
  66. package/dist-esm/tools/definitions/generate-music/definition.js.map +1 -1
  67. package/dist-esm/tools/definitions/generate-video/definition.js +6 -3
  68. package/dist-esm/tools/definitions/generate-video/definition.js.map +1 -1
  69. package/dist-esm/tools/definitions/segment-image/definition.js +2 -1
  70. package/dist-esm/tools/definitions/segment-image/definition.js.map +1 -1
  71. package/dist-esm/tools/definitions/sound-to-video/definition.js +4 -1
  72. package/dist-esm/tools/definitions/sound-to-video/definition.js.map +1 -1
  73. package/dist-esm/tools/definitions/video-to-video/definition.js +4 -1
  74. package/dist-esm/tools/definitions/video-to-video/definition.js.map +1 -1
  75. package/dist-esm/utils/helpers.js +9 -0
  76. package/dist-esm/utils/helpers.js.map +1 -1
  77. package/package.json +2 -2
@@ -0,0 +1,74 @@
1
+ export type PromptLimitTokenizer = 'umt5' | 't5xxl' | 'clip' | 'minimax-music3';
2
+ export interface CharacterPromptLimit {
3
+ unit: 'characters';
4
+ max: number;
5
+ cjkWeight?: number;
6
+ }
7
+ export interface TokenPromptLimit {
8
+ unit: 'tokens';
9
+ max: number;
10
+ tokenizer: PromptLimitTokenizer;
11
+ addedTokens: number;
12
+ }
13
+ export type PromptFieldLimit = CharacterPromptLimit | TokenPromptLimit;
14
+ export type PromptLimitFamily = 'wan2.2' | 'flux-schnell' | 'chroma' | 'minimax-h3' | 'wan3' | 'gpt-image' | 'happyhorse' | 'seedance' | 'ace-step' | 'minimax-music3' | 'sam3';
15
+ export interface PromptLengthAdvisory {
16
+ englishWords: number;
17
+ chineseCharacters: number;
18
+ }
19
+ export interface GenerationPromptLimits {
20
+ family: PromptLimitFamily;
21
+ modelName: string;
22
+ prompt?: PromptFieldLimit;
23
+ negativePrompt?: PromptFieldLimit;
24
+ lyrics?: PromptFieldLimit;
25
+ promptWithLyrics?: PromptFieldLimit;
26
+ advisory?: PromptLengthAdvisory;
27
+ instruction: string;
28
+ }
29
+ export type PromptLimitField = 'prompt' | 'negativePrompt' | 'lyrics' | 'promptWithLyrics';
30
+ export interface GenerationPromptText {
31
+ prompt?: string | null;
32
+ stylePrompt?: string | null;
33
+ negativePrompt?: string | null;
34
+ lyrics?: string | null;
35
+ }
36
+ export interface PromptLimitViolation {
37
+ field: PromptLimitField;
38
+ unit: 'characters' | 'tokens';
39
+ max: number;
40
+ measured: number;
41
+ exact: boolean;
42
+ characters: number;
43
+ message: string;
44
+ }
45
+ export declare const PROMPT_TOO_LONG_ERROR_CODE = 4102;
46
+ export declare class PromptTooLongError extends Error {
47
+ readonly modelId: string;
48
+ readonly violations: readonly PromptLimitViolation[];
49
+ readonly code = 4102;
50
+ constructor(modelId: string, violations: readonly PromptLimitViolation[]);
51
+ }
52
+ export declare function resolvePromptLimitFamily(modelId: string | null | undefined): PromptLimitFamily | null;
53
+ export declare function resolveGenerationPromptLimits(modelId: string | null | undefined): GenerationPromptLimits | null;
54
+ export declare function promptLimitInstruction(modelId: string | null | undefined): string | null;
55
+ export declare function promptTokenLowerBound(limit: TokenPromptLimit, text: string): number;
56
+ export interface PromptFieldMeasurement {
57
+ measured: number;
58
+ exact: boolean;
59
+ characters: number;
60
+ }
61
+ export declare function measurePromptField(limit: PromptFieldLimit, text: string): PromptFieldMeasurement;
62
+ export declare function checkGenerationPromptLimits(modelId: string | null | undefined, text: GenerationPromptText): PromptLimitViolation[];
63
+ export declare function assertGenerationPromptWithinLimits(modelId: string | null | undefined, text: GenerationPromptText): void;
64
+ export declare function promptLimitRepairInstruction(modelId: string | null | undefined, violations: readonly PromptLimitViolation[]): string;
65
+ export declare function promptLengthAdvisory(modelId: string | null | undefined, prompt: string | null | undefined): string | null;
66
+ export declare const VIDEO_PROMPT_LENGTH_LIMITS_GUIDANCE = "PROMPT LENGTH LIMITS (an over-limit request is refused, never cut): MiniMax H3 at most 7,000 characters; HappyHorse at most 5,000 (each Chinese, Japanese, or Korean character counts as 2); Wan 3 at most 20,000; Wan 2.2 at most 4,096 tokens (about 3,000 English words) for the prompt and for negativePrompt. Seedance keeps the most detail under 1,000 English words or 500 Chinese characters. Stay well under these; condense wording instead of dropping required content.";
67
+ export declare const MUSIC_TEXT_LENGTH_LIMITS_GUIDANCE = "LENGTH LIMITS (an over-limit request is refused, never cut): ACE-Step accepts at most 4,096 characters of prompt and at most 4,096 characters of lyrics, tags and line breaks included; MiniMax Music 3 (music3) reads at most 5,000 tokens of prompt and lyrics together (about 3,500 English words). Keep ACE-Step lyrics under 3,500 characters.";
68
+ export declare const SAM3_TEXT_LENGTH_GUIDANCE = "SAM 3 reads at most 32 tokens, its start and end tokens included: use a short noun phrase of at most 20 words.";
69
+ export interface ToolArgumentPromptLimitViolation extends PromptLimitViolation {
70
+ argument: string;
71
+ modelId: string;
72
+ }
73
+ export declare function checkToolArgumentPromptLimits(toolName: string, args: Record<string, unknown>): ToolArgumentPromptLimitViolation[];
74
+ //# sourceMappingURL=promptLimits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promptLimits.d.ts","sourceRoot":"","sources":["../../src/contracts/promptLimits.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,321 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SAM3_TEXT_LENGTH_GUIDANCE = exports.MUSIC_TEXT_LENGTH_LIMITS_GUIDANCE = exports.VIDEO_PROMPT_LENGTH_LIMITS_GUIDANCE = exports.PromptTooLongError = exports.PROMPT_TOO_LONG_ERROR_CODE = void 0;
4
+ exports.resolvePromptLimitFamily = resolvePromptLimitFamily;
5
+ exports.resolveGenerationPromptLimits = resolveGenerationPromptLimits;
6
+ exports.promptLimitInstruction = promptLimitInstruction;
7
+ exports.promptTokenLowerBound = promptTokenLowerBound;
8
+ exports.measurePromptField = measurePromptField;
9
+ exports.checkGenerationPromptLimits = checkGenerationPromptLimits;
10
+ exports.assertGenerationPromptWithinLimits = assertGenerationPromptWithinLimits;
11
+ exports.promptLimitRepairInstruction = promptLimitRepairInstruction;
12
+ exports.promptLengthAdvisory = promptLengthAdvisory;
13
+ exports.checkToolArgumentPromptLimits = checkToolArgumentPromptLimits;
14
+ exports.PROMPT_TOO_LONG_ERROR_CODE = 4102;
15
+ class PromptTooLongError extends Error {
16
+ constructor(modelId, violations) {
17
+ super(`This prompt is too long for the model. ${violations.map(v => v.message).join(' ')}`);
18
+ this.modelId = modelId;
19
+ this.violations = violations;
20
+ this.code = exports.PROMPT_TOO_LONG_ERROR_CODE;
21
+ this.name = 'PromptTooLongError';
22
+ }
23
+ }
24
+ exports.PromptTooLongError = PromptTooLongError;
25
+ const fmt = (value) => Math.round(value).toLocaleString('en-US');
26
+ const ENGLISH_CHARS_PER_TOKEN = 4;
27
+ const WAN22_INSTRUCTION = 'LENGTH LIMIT: Wan 2.2 reads at most 4,096 text tokens (about 3,000 English words or 4,000 Chinese characters), for the prompt and for the negative prompt; keep each under 2,000 English words or 3,000 Chinese characters. Never cut a prompt to fit; rewrite it shorter.';
28
+ const T5_INSTRUCTION = (name) => `LENGTH LIMIT: ${name} reads at most 4,096 text tokens (about 3,000 English words); keep the prompt under 2,000 words. Never cut a prompt to fit; rewrite it shorter.`;
29
+ const LIMITS = {
30
+ 'wan2.2': {
31
+ modelName: 'Wan 2.2',
32
+ prompt: { unit: 'tokens', max: 4096, tokenizer: 'umt5', addedTokens: 1 },
33
+ negativePrompt: { unit: 'tokens', max: 4096, tokenizer: 'umt5', addedTokens: 1 },
34
+ instruction: WAN22_INSTRUCTION,
35
+ },
36
+ 'flux-schnell': {
37
+ modelName: 'Flux.1 Schnell',
38
+ prompt: { unit: 'tokens', max: 4096, tokenizer: 't5xxl', addedTokens: 1 },
39
+ negativePrompt: { unit: 'tokens', max: 4096, tokenizer: 't5xxl', addedTokens: 1 },
40
+ instruction: T5_INSTRUCTION('Flux.1 Schnell'),
41
+ },
42
+ chroma: {
43
+ modelName: 'Chroma',
44
+ prompt: { unit: 'tokens', max: 4096, tokenizer: 't5xxl', addedTokens: 1 },
45
+ negativePrompt: { unit: 'tokens', max: 4096, tokenizer: 't5xxl', addedTokens: 1 },
46
+ instruction: T5_INSTRUCTION('Chroma'),
47
+ },
48
+ 'minimax-h3': {
49
+ modelName: 'MiniMax H3',
50
+ prompt: { unit: 'characters', max: 7000 },
51
+ instruction: 'LENGTH LIMIT: MiniMax H3 accepts at most 7,000 characters; keep the whole prompt under 6,000 characters. Never cut a prompt to fit; rewrite it shorter.',
52
+ },
53
+ wan3: {
54
+ modelName: 'Wan 3',
55
+ prompt: { unit: 'characters', max: 20000 },
56
+ instruction: 'LENGTH LIMIT: Wan 3 accepts at most 20,000 characters; keep the prompt under 17,000 characters. Never cut a prompt to fit; rewrite it shorter.',
57
+ },
58
+ 'gpt-image': {
59
+ modelName: 'GPT Image',
60
+ prompt: { unit: 'characters', max: 32000 },
61
+ instruction: 'LENGTH LIMIT: GPT Image accepts at most 32,000 characters; keep the prompt under 27,000 characters. Never cut a prompt to fit; rewrite it shorter.',
62
+ },
63
+ happyhorse: {
64
+ modelName: 'HappyHorse',
65
+ prompt: { unit: 'characters', max: 5000, cjkWeight: 2 },
66
+ instruction: 'LENGTH LIMIT: HappyHorse accepts at most 5,000 characters, and each Chinese, Japanese, or Korean character counts as 2; keep the prompt under 4,200 characters (2,100 CJK characters). Never cut a prompt to fit; rewrite it shorter.',
67
+ },
68
+ seedance: {
69
+ modelName: 'Seedance',
70
+ advisory: { englishWords: 1000, chineseCharacters: 500 },
71
+ instruction: 'LENGTH: Seedance keeps the most detail with English prompts under 1,000 words or Chinese prompts under 500 characters; longer prompts are accepted but may lose detail.',
72
+ },
73
+ 'ace-step': {
74
+ modelName: 'ACE-Step',
75
+ prompt: { unit: 'characters', max: 4096 },
76
+ lyrics: { unit: 'characters', max: 4096 },
77
+ instruction: 'LENGTH LIMIT: ACE-Step accepts at most 4,096 characters of caption/tags and at most 4,096 characters of lyrics, section tags and line breaks included; keep the lyrics under 3,500 characters. Never cut lyrics to fit; write fewer or shorter sections.',
78
+ },
79
+ 'minimax-music3': {
80
+ modelName: 'MiniMax Music 3',
81
+ promptWithLyrics: { unit: 'tokens', max: 5000, tokenizer: 'minimax-music3', addedTokens: 8 },
82
+ instruction: 'LENGTH LIMIT: MiniMax Music 3 reads at most 5,000 tokens of caption and lyrics together; keep them under 2,500 English words (or 3,000 Chinese characters) combined. Never cut lyrics to fit; write fewer or shorter sections.',
83
+ },
84
+ sam3: {
85
+ modelName: 'SAM 3',
86
+ prompt: { unit: 'tokens', max: 32, tokenizer: 'clip', addedTokens: 2 },
87
+ instruction: 'LENGTH LIMIT: SAM 3 reads at most 32 tokens, its start and end tokens included; name the object in a short noun phrase of at most 20 words.',
88
+ },
89
+ };
90
+ function normalizeModelId(modelId) {
91
+ return modelId
92
+ .trim()
93
+ .toLowerCase()
94
+ .replace(/[\s_.]+/g, '-')
95
+ .replace(/-+/g, '-');
96
+ }
97
+ const FAMILY_PATTERNS = [
98
+ ['wan3', /^wan3(?:-0)?(?:-|$)/],
99
+ ['wan2.2', /^(?:wan22|wan-2-2|wan-v2-2)(?:-|$)|^wan-s2v$/],
100
+ ['minimax-h3', /^minimax-h3(?:-|$)/],
101
+ ['minimax-music3', /^(?:minimax-music-?3|music3)(?:-|$)/],
102
+ ['happyhorse', /^happyhorse(?:-|$)/],
103
+ ['seedance', /^(?:dreamina-)?seedance/],
104
+ ['gpt-image', /^gpt-image-2(?:-|$)/],
105
+ ['flux-schnell', /^flux-?1?-schnell(?:-|$)/],
106
+ ['chroma', /^chroma/],
107
+ ['ace-step', /^ace-step(?:-|$)/],
108
+ ['sam3', /^sam3(?:-|$)/],
109
+ ];
110
+ function resolvePromptLimitFamily(modelId) {
111
+ if (typeof modelId !== 'string' || !modelId.trim())
112
+ return null;
113
+ const normalized = normalizeModelId(modelId);
114
+ for (const [family, pattern] of FAMILY_PATTERNS) {
115
+ if (pattern.test(normalized))
116
+ return family;
117
+ }
118
+ return null;
119
+ }
120
+ function resolveGenerationPromptLimits(modelId) {
121
+ const family = resolvePromptLimitFamily(modelId);
122
+ return family ? { family, ...LIMITS[family] } : null;
123
+ }
124
+ function promptLimitInstruction(modelId) {
125
+ return resolveGenerationPromptLimits(modelId)?.instruction ?? null;
126
+ }
127
+ const CJK_CERTAIN = /[\u4e00-\u9fff]/g;
128
+ const CJK_POSSIBLE = /[\u3000-\u303f\u3040-\u30ff\u3100-\u312f\u3130-\u318f\u31f0-\u31ff\u3400-\u4dbf\uac00-\ud7af\uf900-\ufaff\uff00-\uffef]|[\ud840-\ud87f][\udc00-\udfff]/;
129
+ function countWords(text) {
130
+ return text.split(/\s+/).filter(Boolean).length;
131
+ }
132
+ const VISIBLE = /[\p{L}\p{N}\p{P}\p{S}]/u;
133
+ function countVisibleWords(text) {
134
+ return text.split(/\s+/).filter(word => VISIBLE.test(word)).length;
135
+ }
136
+ const CLIP_PIECES = /'s|'t|'re|'ve|'m|'ll|'d|\p{L}+|\p{N}|[^\s\p{L}\p{N}]+/gu;
137
+ const LETTER_RUNS_AND_DIGITS = /\p{L}+|\p{N}/gu;
138
+ function countMatches(text, pattern) {
139
+ return text.match(pattern)?.length ?? 0;
140
+ }
141
+ function promptTokenLowerBound(limit, text) {
142
+ if (!text)
143
+ return 0;
144
+ let pieces;
145
+ switch (limit.tokenizer) {
146
+ case 'clip':
147
+ pieces = countMatches(text.toLowerCase().replace(/\s+/g, ' ').trim(), CLIP_PIECES);
148
+ break;
149
+ case 'minimax-music3':
150
+ pieces = countMatches(text, LETTER_RUNS_AND_DIGITS);
151
+ break;
152
+ default:
153
+ pieces = countVisibleWords(text);
154
+ }
155
+ return pieces + limit.addedTokens;
156
+ }
157
+ function measurePromptField(limit, text) {
158
+ const characters = text.length;
159
+ if (limit.unit === 'characters') {
160
+ const weight = limit.cjkWeight ?? 1;
161
+ if (weight === 1)
162
+ return { measured: characters, exact: true, characters };
163
+ const certain = text.match(CJK_CERTAIN)?.length ?? 0;
164
+ const measured = characters + certain * (weight - 1);
165
+ const stripped = text.replace(CJK_CERTAIN, '');
166
+ return { measured, exact: !CJK_POSSIBLE.test(stripped), characters };
167
+ }
168
+ return { measured: promptTokenLowerBound(limit, text), exact: false, characters };
169
+ }
170
+ const FIELD_LABELS = {
171
+ prompt: 'prompt',
172
+ negativePrompt: 'negative prompt',
173
+ lyrics: 'lyrics',
174
+ promptWithLyrics: 'prompt and lyrics together',
175
+ };
176
+ function violationMessage(field, limit, measurement, modelName) {
177
+ const label = FIELD_LABELS[field];
178
+ const verb = field === 'lyrics' || field === 'promptWithLyrics' ? 'are' : 'is';
179
+ const subject = `Your ${label}`;
180
+ if (field === 'promptWithLyrics') {
181
+ return `Your lyrics alone are at least ${fmt(measurement.measured)} tokens (${fmt(measurement.characters)} characters) with the model's template; ${modelName} reads at most ${fmt(limit.max)} tokens of caption and lyrics together. Shorten them and submit again.`;
182
+ }
183
+ if (limit.unit === 'characters') {
184
+ const weighted = limit.cjkWeight && limit.cjkWeight !== 1
185
+ ? ` (each Chinese, Japanese, or Korean character counts as ${limit.cjkWeight})`
186
+ : '';
187
+ return `${subject} ${verb} ${fmt(measurement.measured)} characters${weighted}; ${modelName} accepts at most ${fmt(limit.max)}. Shorten it and submit again.`;
188
+ }
189
+ return `${subject} ${verb} at least ${fmt(measurement.measured)} tokens (${fmt(measurement.characters)} characters); ${modelName} reads at most ${fmt(limit.max)} tokens, roughly ${fmt(limit.max * ENGLISH_CHARS_PER_TOKEN)} characters of English. Shorten it and submit again.`;
190
+ }
191
+ function encodedPositivePrompt(prompt, stylePrompt) {
192
+ const style = typeof stylePrompt === 'string' ? stylePrompt.trim() : '';
193
+ return style ? `${prompt}, ${style}` : prompt;
194
+ }
195
+ function checkGenerationPromptLimits(modelId, text) {
196
+ const limits = resolveGenerationPromptLimits(modelId);
197
+ if (!limits)
198
+ return [];
199
+ const prompt = typeof text.prompt === 'string' ? text.prompt : '';
200
+ const lyrics = typeof text.lyrics === 'string' ? text.lyrics : '';
201
+ const negativePrompt = typeof text.negativePrompt === 'string' ? text.negativePrompt : '';
202
+ const fields = [
203
+ [
204
+ 'prompt',
205
+ limits.prompt,
206
+ limits.prompt?.unit === 'tokens' ? encodedPositivePrompt(prompt, text.stylePrompt) : prompt,
207
+ ],
208
+ ['negativePrompt', limits.negativePrompt, negativePrompt],
209
+ ['lyrics', limits.lyrics, lyrics],
210
+ ['promptWithLyrics', limits.promptWithLyrics, lyrics],
211
+ ];
212
+ const violations = [];
213
+ for (const [field, limit, value] of fields) {
214
+ if (!limit || !value)
215
+ continue;
216
+ const measurement = measurePromptField(limit, value);
217
+ if (measurement.measured <= limit.max)
218
+ continue;
219
+ violations.push({
220
+ field,
221
+ unit: limit.unit,
222
+ max: limit.max,
223
+ measured: measurement.measured,
224
+ exact: measurement.exact,
225
+ characters: measurement.characters,
226
+ message: violationMessage(field, limit, measurement, limits.modelName),
227
+ });
228
+ }
229
+ return violations;
230
+ }
231
+ function assertGenerationPromptWithinLimits(modelId, text) {
232
+ const violations = checkGenerationPromptLimits(modelId, text);
233
+ if (violations.length > 0)
234
+ throw new PromptTooLongError(String(modelId), violations);
235
+ }
236
+ function promptLimitRepairInstruction(modelId, violations) {
237
+ const modelName = resolveGenerationPromptLimits(modelId)?.modelName ?? 'The model';
238
+ const details = violations.map(v => {
239
+ const label = FIELD_LABELS[v.field];
240
+ const target = Math.floor((v.max * 0.8) / 10) * 10;
241
+ return v.unit === 'characters'
242
+ ? `the ${label} came to ${fmt(v.measured)} characters; ${modelName} accepts at most ${fmt(v.max)}, so aim under ${fmt(target)}`
243
+ : `the ${label} came to at least ${fmt(v.measured)} tokens; ${modelName} reads at most ${fmt(v.max)} tokens, so aim under ${fmt(target)}`;
244
+ });
245
+ return `LENGTH REPAIR REQUIRED: ${details.join('; ')}. Rewrite the whole result shorter while keeping its required structure, every exact quoted span, and the user's intent. Do not cut it off mid-sentence or drop required sections; condense wording instead.`;
246
+ }
247
+ function promptLengthAdvisory(modelId, prompt) {
248
+ const limits = resolveGenerationPromptLimits(modelId);
249
+ if (!limits?.advisory || typeof prompt !== 'string' || !prompt)
250
+ return null;
251
+ const chinese = prompt.match(CJK_CERTAIN)?.length ?? 0;
252
+ const words = countWords(prompt.replace(CJK_CERTAIN, ' '));
253
+ if (chinese > limits.advisory.chineseCharacters) {
254
+ return `This ${limits.modelName} prompt has ${fmt(chinese)} Chinese characters; ${limits.modelName} keeps the most detail under ${fmt(limits.advisory.chineseCharacters)}.`;
255
+ }
256
+ if (words > limits.advisory.englishWords) {
257
+ return `This ${limits.modelName} prompt has ${fmt(words)} words; ${limits.modelName} keeps the most detail under ${fmt(limits.advisory.englishWords)}.`;
258
+ }
259
+ return null;
260
+ }
261
+ exports.VIDEO_PROMPT_LENGTH_LIMITS_GUIDANCE = 'PROMPT LENGTH LIMITS (an over-limit request is refused, never cut): MiniMax H3 at most 7,000 characters; HappyHorse at most 5,000 (each Chinese, Japanese, or Korean character counts as 2); Wan 3 at most 20,000; Wan 2.2 at most 4,096 tokens (about 3,000 English words) for the prompt and for negativePrompt. Seedance keeps the most detail under 1,000 English words or 500 Chinese characters. Stay well under these; condense wording instead of dropping required content.';
262
+ exports.MUSIC_TEXT_LENGTH_LIMITS_GUIDANCE = 'LENGTH LIMITS (an over-limit request is refused, never cut): ACE-Step accepts at most 4,096 characters of prompt and at most 4,096 characters of lyrics, tags and line breaks included; MiniMax Music 3 (music3) reads at most 5,000 tokens of prompt and lyrics together (about 3,500 English words). Keep ACE-Step lyrics under 3,500 characters.';
263
+ exports.SAM3_TEXT_LENGTH_GUIDANCE = 'SAM 3 reads at most 32 tokens, its start and end tokens included: use a short noun phrase of at most 20 words.';
264
+ const PROMPT_LIMITED_TOOLS = new Set([
265
+ 'generate_video',
266
+ 'animate_photo',
267
+ 'sound_to_video',
268
+ 'video_to_video',
269
+ 'extend_video',
270
+ 'replace_video_segment',
271
+ 'generate_image',
272
+ 'edit_image',
273
+ 'generate_music',
274
+ 'segment_image',
275
+ ]);
276
+ function toolCallPromptLimitModel(toolName, args) {
277
+ if (!PROMPT_LIMITED_TOOLS.has(toolName))
278
+ return null;
279
+ const text = (value) => (typeof value === 'string' && value.trim() ? value : null);
280
+ switch (toolName) {
281
+ case 'segment_image':
282
+ return 'sam3';
283
+ case 'generate_music': {
284
+ const model = text(args.model);
285
+ if (!model)
286
+ return null;
287
+ return model === 'turbo' || model === 'sft' ? 'ace-step' : model;
288
+ }
289
+ default:
290
+ return text(args.videoModel) ?? text(args.model);
291
+ }
292
+ }
293
+ function checkToolArgumentPromptLimits(toolName, args) {
294
+ const modelId = toolCallPromptLimitModel(toolName, args);
295
+ if (!modelId || !resolveGenerationPromptLimits(modelId))
296
+ return [];
297
+ const str = (value) => (typeof value === 'string' ? value : undefined);
298
+ const violations = [];
299
+ const add = (argument, found) => {
300
+ for (const violation of found) {
301
+ const name = violation.field === 'prompt' ? argument
302
+ : violation.field === 'promptWithLyrics' ? 'lyrics'
303
+ : violation.field;
304
+ violations.push({ ...violation, argument: name, modelId });
305
+ }
306
+ };
307
+ const promptArgument = toolName === 'segment_image' ? 'text' : 'prompt';
308
+ add(promptArgument, checkGenerationPromptLimits(modelId, {
309
+ prompt: str(args[promptArgument]),
310
+ negativePrompt: str(args.negativePrompt),
311
+ lyrics: str(args.lyrics),
312
+ }));
313
+ if (Array.isArray(args.prompts)) {
314
+ args.prompts.forEach((entry, index) => {
315
+ if (typeof entry === 'string')
316
+ add(`prompts[${index}]`, checkGenerationPromptLimits(modelId, { prompt: entry }));
317
+ });
318
+ }
319
+ return violations;
320
+ }
321
+ //# sourceMappingURL=promptLimits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promptLimits.js","sourceRoot":"","sources":["../../src/contracts/promptLimits.ts"],"names":[],"mappings":"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"}
@@ -109,7 +109,7 @@ export declare const MUSIC_KEY_SCALES: readonly ["", "A major", "A minor", "A# m
109
109
  export declare const MUSIC_LANGUAGES: readonly ["unknown", "en", "es", "fr", "de", "it", "pt", "ru", "ja", "ko", "zh", "ar", "hi", "nl", "pl", "sv", "tr", "vi", "th", "id", "cs", "da", "fi", "el", "he", "hu", "no", "ro", "sk", "uk", "bg", "hr", "lt", "sr", "ca", "is", "ms", "tl", "bn", "fa", "ne", "pa", "sw", "ta", "te", "ur", "az", "ht", "la", "sa", "yue"];
110
110
  export declare const LANGUAGE_LABELS: Record<string, string>;
111
111
  export declare const MUSIC_LANGUAGE_OPTIONS: {
112
- value: "unknown" | "id" | "en" | "es" | "fr" | "de" | "it" | "pt" | "ru" | "ja" | "ko" | "zh" | "ar" | "hi" | "nl" | "pl" | "sv" | "tr" | "vi" | "th" | "cs" | "da" | "fi" | "el" | "he" | "hu" | "no" | "ro" | "sk" | "uk" | "bg" | "hr" | "lt" | "sr" | "ca" | "is" | "ms" | "tl" | "bn" | "fa" | "ne" | "pa" | "sw" | "ta" | "te" | "ur" | "az" | "ht" | "la" | "sa" | "yue";
112
+ value: "unknown" | "id" | "is" | "en" | "es" | "fr" | "de" | "it" | "pt" | "ru" | "ja" | "ko" | "zh" | "ar" | "hi" | "nl" | "pl" | "sv" | "tr" | "vi" | "th" | "cs" | "da" | "fi" | "el" | "he" | "hu" | "no" | "ro" | "sk" | "uk" | "bg" | "hr" | "lt" | "sr" | "ca" | "ms" | "tl" | "bn" | "fa" | "ne" | "pa" | "sw" | "ta" | "te" | "ur" | "az" | "ht" | "la" | "sa" | "yue";
113
113
  label: string;
114
114
  }[];
115
115
  export declare const KEY_SCALE_LABELS: Record<string, string>;
@@ -43,6 +43,10 @@ export declare const LTX25_DEV_WORKFLOW_MODELS: Record<Ltx25Workflow, Ltx25Concr
43
43
  export declare function getLtx25WorkflowModelIdForQuality(workflow: Ltx25Workflow, _qualityTier?: VideoQualityTier | undefined): Ltx25ConcreteModelId;
44
44
  export declare function getLtx25ModelNameForQuality(workflowName: string, _qualityTier?: VideoQualityTier | undefined): string;
45
45
  export declare function getLtx25StepsForQuality(_qualityTier?: VideoQualityTier | undefined): number;
46
+ export declare const WAN22_MAX_VIDEO_PIXELS = 1048576;
47
+ export declare const WAN22_MIN_VIDEO_SIDE = 480;
48
+ export declare const WAN22_MAX_VIDEO_SIDE = 1536;
49
+ export declare function getWan22VideoSizeRefusal(width: number, height: number): string | null;
46
50
  export declare const VIDEO_MODEL_CONFIGS: Record<VideoModelId, VideoModelConfig>;
47
51
  export declare const MINIMAX_H3_TWO_STAGE_MODEL_IDS: readonly string[];
48
52
  export type MinimaxH3AudioGuideMode = "ia2v" | "flfa2v" | "a2v";
@@ -1 +1 @@
1
- {"version":3,"file":"videoSettings.d.ts","sourceRoot":"","sources":["../../src/media/videoSettings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"videoSettings.d.ts","sourceRoot":"","sources":["../../src/media/videoSettings.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,OAAO,GACP,OAAO,GACP,oBAAoB,GACpB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,GAChB,sBAAsB,GACtB,sBAAsB,GACtB,wBAAwB,GACxB,sBAAsB,GACtB,6BAA6B,GAC7B,6BAA6B,GAC7B,+BAA+B,GAC/B,oCAAoC,GACpC,oCAAoC,GACpC,sCAAsC,GACtC,8BAA8B,GAC9B,gCAAgC,GAChC,6BAA6B,GAC7B,qCAAqC,GACrC,uCAAuC,GACvC,oCAAoC,GACpC,uBAAuB,GACvB,gCAAgC,GAChC,WAAW,GACX,gBAAgB,GAChB,aAAa,GACb,oBAAoB,GACpB,oBAAoB,GACpB,oBAAoB,GACpB,cAAc,GACd,oBAAoB,CAAC;AACzB,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;AACrD,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAC3D,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;AACnE,MAAM,MAAM,oBAAoB,GAC5B,8BAA8B,GAC9B,8BAA8B,GAC9B,8BAA8B,GAC9B,+BAA+B,GAC/B,wBAAwB,GACxB,wBAAwB,GACxB,wBAAwB,GACxB,yBAAyB,GACzB,8BAA8B,GAC9B,wBAAwB,CAAC;AAE7B,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IAEd,GAAG,EAAE,MAAM,CAAC;IAKZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAMhC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAKnE,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAK7D,CAAC;AAEF,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,aAAa,EACvB,WAAW,GAAE,gBAAgB,GAAG,SAAkB,GACjD,MAAM,CAIR;AAED,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,MAAM,EACpB,WAAW,GAAE,gBAAgB,GAAG,SAAkB,GACjD,MAAM,CAIR;AAED,wBAAgB,uBAAuB,CACrC,WAAW,GAAE,gBAAgB,GAAG,SAAkB,GACjD,MAAM,CAER;AAED,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,aAAa,EAAE,oBAAoB,CAMvF,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,aAAa,EAAE,oBAAoB,CAMjF,CAAC;AAEF,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,aAAa,EACvB,YAAY,GAAE,gBAAgB,GAAG,SAAkB,GAClD,oBAAoB,CAKtB;AAED,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,gBAAgB,GAAG,SAAkB,GAClD,MAAM,CAER;AAED,wBAAgB,uBAAuB,CACrC,YAAY,GAAE,gBAAgB,GAAG,SAAkB,GAClD,MAAM,CAER;AAOD,eAAO,MAAM,sBAAsB,UAAY,CAAC;AAChD,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,oBAAoB,OAAO,CAAC;AASzC,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuBrF;AAED,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,YAAY,EAAE,gBAAgB,CA4vBtE,CAAC;AASF,eAAO,MAAM,8BAA8B,EAAE,SAAS,MAAM,EAkB1D,CAAC;AAGH,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAOhE,eAAO,MAAM,uCAAuC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOnF,CAAC;AAGH,eAAO,MAAM,gCAAgC,EAAE,SAAS,MAAM,EAG5D,CAAC;AAGH,eAAO,MAAM,oCAAoC,EAAG,CAAU,CAAC;AAG/D,MAAM,WAAW,2BAA2B;IAE1C,QAAQ,CAAC,gBAAgB,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;IAE7C,QAAQ,CAAC,eAAe,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAE1C,QAAQ,CAAC,kBAAkB,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;CAChD;AASD,eAAO,MAAM,gCAAgC,EAAE,SAAS,2BAA2B,EAIxE,CAAC;AAGZ,eAAO,MAAM,8CAA8C,EAAG,IAAa,CAAC;AAkB5E,wBAAgB,gCAAgC,CAC9C,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GACxC,2BAA2B,CAAC,iBAAiB,CAAC,CAWhD;AAiBD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,uBAAuB,GAAG,IAAI,CAI1G;AAGD,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAExF;AAQD,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,MAAM,EACf,MAAM,EAAE;IAAE,aAAa,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,GACxD,MAAM,GAAG,IAAI,CAsBf;AAGD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAGtF;AAOD,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQnC;AAGD,eAAO,MAAM,mBAAmB,EAAG,cAAuB,CAAC;AAC3D,eAAO,MAAM,4BAA4B,EAAG,oBAA6B,CAAC;AAC1E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AACvD,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAEjD,CAAC;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAEpD,CAAC;AACH,eAAO,MAAM,qBAAqB;;;;;;;;EAQhC,CAAC;AAWH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AACnD,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,uBAAuB;IAEtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAE9B,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;IAEjB,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;IAEzB,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAKtD,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAE5C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAEpC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAE/B,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAE/B,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;CACxB;AAGD,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAUvD,CAAC;AAEH,eAAO,MAAM,sBAAsB,EAAE,SAAS,oBAAoB,EAGhE,CAAC;AAEH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CA4ClF,CAAC;AAGL,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAIhD,CAAC;AAEH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,uBAAuB,GAAG,IAAI,CAGhC;AAGD,eAAO,MAAM,mBAAmB,EAAE,YAAsB,CAAC;AAWzD,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,YAAkC,EAC3C,WAAW,GAAE,gBAAgB,GAAG,SAAkB,GACjD,gBAAgB,CAgBlB;AAGD,eAAO,MAAM,YAAY;;;;;;;CAmBxB,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;CAWxB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,qBAAqB,CAAC;AAYpE,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,MAAM,EACzB,OAAO,GAAE,YAAkC,EAC3C,WAAW,CAAC,EAAE,MAAM,GACnB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAyGnC;AA6BD,wBAAgB,oBAAoB,CAClC,QAAQ,GAAE,MAAU,EACpB,OAAO,GAAE,YAAkC,EAC3C,WAAW,GAAE,gBAAgB,GAAG,SAAkB,GACjD,MAAM,CAaR"}
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VIDEO_QUALITY_PRESETS = exports.VIDEO_CONFIG = exports.DEFAULT_VIDEO_MODEL = exports.HAPPYHORSE_MODEL_IDS = exports.HAPPYHORSE_VIDEO_MODELS = exports.HAPPYHORSE_RESOLUTIONS = exports.HAPPYHORSE_SUPPORTED_RATIOS = exports.WAN3_REFERENCE_LIMITS = exports.WAN3_RESOLUTIONS = exports.WAN3_SUPPORTED_RATIOS = exports.WAN3_ENHANCED_VIDEO_MODEL_ID = exports.WAN3_VIDEO_MODEL_ID = exports.MINIMAX_H3_TWO_STAGE_DEFAULT_TARGET_RESOLUTION = exports.MINIMAX_H3_TWO_STAGE_RESOLUTIONS = exports.MINIMAX_H3_TWO_STAGE_DELIVERED_SCALE = exports.MINIMAX_H3_AUDIO_GUIDE_MODEL_IDS = exports.MINIMAX_H3_AUDIO_GUIDE_SOCKET_MODEL_IDS = exports.MINIMAX_H3_TWO_STAGE_MODEL_IDS = exports.VIDEO_MODEL_CONFIGS = exports.LTX25_DEV_WORKFLOW_MODELS = exports.LTX25_DISTILLED_WORKFLOW_MODELS = exports.LTX23_DEV_MODEL_IDS = exports.LTX23_DISTILLED_MODEL_IDS = void 0;
3
+ exports.VIDEO_QUALITY_PRESETS = exports.VIDEO_CONFIG = exports.DEFAULT_VIDEO_MODEL = exports.HAPPYHORSE_MODEL_IDS = exports.HAPPYHORSE_VIDEO_MODELS = exports.HAPPYHORSE_RESOLUTIONS = exports.HAPPYHORSE_SUPPORTED_RATIOS = exports.WAN3_REFERENCE_LIMITS = exports.WAN3_RESOLUTIONS = exports.WAN3_SUPPORTED_RATIOS = exports.WAN3_ENHANCED_VIDEO_MODEL_ID = exports.WAN3_VIDEO_MODEL_ID = exports.MINIMAX_H3_TWO_STAGE_DEFAULT_TARGET_RESOLUTION = exports.MINIMAX_H3_TWO_STAGE_RESOLUTIONS = exports.MINIMAX_H3_TWO_STAGE_DELIVERED_SCALE = exports.MINIMAX_H3_AUDIO_GUIDE_MODEL_IDS = exports.MINIMAX_H3_AUDIO_GUIDE_SOCKET_MODEL_IDS = exports.MINIMAX_H3_TWO_STAGE_MODEL_IDS = exports.VIDEO_MODEL_CONFIGS = exports.WAN22_MAX_VIDEO_SIDE = exports.WAN22_MIN_VIDEO_SIDE = exports.WAN22_MAX_VIDEO_PIXELS = exports.LTX25_DEV_WORKFLOW_MODELS = exports.LTX25_DISTILLED_WORKFLOW_MODELS = exports.LTX23_DEV_MODEL_IDS = exports.LTX23_DISTILLED_MODEL_IDS = void 0;
4
4
  exports.getLtx23WorkflowModelIdForQuality = getLtx23WorkflowModelIdForQuality;
5
5
  exports.getLtx23ModelNameForQuality = getLtx23ModelNameForQuality;
6
6
  exports.getLtx23StepsForQuality = getLtx23StepsForQuality;
7
7
  exports.getLtx25WorkflowModelIdForQuality = getLtx25WorkflowModelIdForQuality;
8
8
  exports.getLtx25ModelNameForQuality = getLtx25ModelNameForQuality;
9
9
  exports.getLtx25StepsForQuality = getLtx25StepsForQuality;
10
+ exports.getWan22VideoSizeRefusal = getWan22VideoSizeRefusal;
10
11
  exports.minimaxH3TwoStageCanvasShortEdge = minimaxH3TwoStageCanvasShortEdge;
11
12
  exports.minimaxH3AudioGuideMode = minimaxH3AudioGuideMode;
12
13
  exports.isMinimaxH3AudioGuideModelId = isMinimaxH3AudioGuideModelId;
@@ -66,6 +67,26 @@ function getLtx25ModelNameForQuality(workflowName, _qualityTier = "fast") {
66
67
  function getLtx25StepsForQuality(_qualityTier = "fast") {
67
68
  return 8;
68
69
  }
70
+ exports.WAN22_MAX_VIDEO_PIXELS = 1048576;
71
+ exports.WAN22_MIN_VIDEO_SIDE = 480;
72
+ exports.WAN22_MAX_VIDEO_SIDE = 1536;
73
+ function getWan22VideoSizeRefusal(width, height) {
74
+ const fmt = (value) => value.toLocaleString("en-US");
75
+ const w = Number(width) || 0;
76
+ const h = Number(height) || 0;
77
+ const valid = `Choose 1024×1024, 1280×720, 720×1280, or any other size of at most ${fmt(exports.WAN22_MAX_VIDEO_PIXELS)} pixels, ` +
78
+ `with each side between ${exports.WAN22_MIN_VIDEO_SIDE} and ${exports.WAN22_MAX_VIDEO_SIDE}.`;
79
+ if (w && h && w * h > exports.WAN22_MAX_VIDEO_PIXELS) {
80
+ return (`Wan 2.2 cannot render this video size. ${w}×${h} is ${fmt(w * h)} pixels; ` +
81
+ `Wan 2.2 renders at most ${fmt(exports.WAN22_MAX_VIDEO_PIXELS)} pixels per frame (1024×1024). ${valid}`);
82
+ }
83
+ const outOfRange = [["width", w], ["height", h]].find(([, side]) => side && (side < exports.WAN22_MIN_VIDEO_SIDE || side > exports.WAN22_MAX_VIDEO_SIDE));
84
+ if (outOfRange) {
85
+ return (`Wan 2.2 cannot render this video size. A ${outOfRange[0]} of ${outOfRange[1]} is outside ` +
86
+ `Wan 2.2's ${exports.WAN22_MIN_VIDEO_SIDE}–${exports.WAN22_MAX_VIDEO_SIDE} pixel range. ${valid}`);
87
+ }
88
+ return null;
89
+ }
69
90
  exports.VIDEO_MODEL_CONFIGS = {
70
91
  wan22: {
71
92
  model: "wan_v2.2-14b-fp8_i2v_lightx2v",
@@ -74,8 +95,9 @@ exports.VIDEO_MODEL_CONFIGS = {
74
95
  steps: 6,
75
96
  guidance: 5.0,
76
97
  dimensionDivisor: 16,
77
- minDimension: 480,
78
- maxDimension: 1536,
98
+ minDimension: exports.WAN22_MIN_VIDEO_SIDE,
99
+ maxDimension: exports.WAN22_MAX_VIDEO_SIDE,
100
+ maxPixels: exports.WAN22_MAX_VIDEO_PIXELS,
79
101
  sampler: "euler",
80
102
  scheduler: "simple",
81
103
  shift: 8.0,