@sogni-ai/sogni-client 5.83.0 → 5.84.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 (51) hide show
  1. package/AGENTS.md +7 -2
  2. package/CHANGELOG.md +15 -0
  3. package/README.md +33 -5
  4. package/dist/Chat/_hostedToolsManifest.generated.js +15 -6
  5. package/dist/Chat/_hostedToolsManifest.generated.js.map +1 -1
  6. package/dist/Chat/hostedToolValidator.js +24 -2
  7. package/dist/Chat/hostedToolValidator.js.map +1 -1
  8. package/dist/Chat/tools.js +1 -1
  9. package/dist/Chat/tools.js.map +1 -1
  10. package/dist/Projects/createJobRequestMessage.js +49 -23
  11. package/dist/Projects/createJobRequestMessage.js.map +1 -1
  12. package/dist/Projects/types/index.d.ts +20 -13
  13. package/dist/Projects/types/index.js.map +1 -1
  14. package/dist/Projects/utils/index.d.ts +24 -6
  15. package/dist/Projects/utils/index.js +34 -9
  16. package/dist/Projects/utils/index.js.map +1 -1
  17. package/dist/index.d.ts +2 -2
  18. package/dist/index.js +5 -2
  19. package/dist/index.js.map +1 -1
  20. package/dist/lib/validation.js +1 -0
  21. package/dist/lib/validation.js.map +1 -1
  22. package/dist/version.d.ts +1 -1
  23. package/dist/version.js +1 -1
  24. package/dist-esm/Chat/_hostedToolsManifest.generated.js +15 -6
  25. package/dist-esm/Chat/_hostedToolsManifest.generated.js.map +1 -1
  26. package/dist-esm/Chat/hostedToolValidator.js +24 -2
  27. package/dist-esm/Chat/hostedToolValidator.js.map +1 -1
  28. package/dist-esm/Chat/tools.js +1 -1
  29. package/dist-esm/Chat/tools.js.map +1 -1
  30. package/dist-esm/Projects/createJobRequestMessage.js +50 -24
  31. package/dist-esm/Projects/createJobRequestMessage.js.map +1 -1
  32. package/dist-esm/Projects/types/index.js.map +1 -1
  33. package/dist-esm/Projects/utils/index.js +31 -8
  34. package/dist-esm/Projects/utils/index.js.map +1 -1
  35. package/dist-esm/index.js +2 -2
  36. package/dist-esm/index.js.map +1 -1
  37. package/dist-esm/lib/validation.js +1 -0
  38. package/dist-esm/lib/validation.js.map +1 -1
  39. package/dist-esm/version.js +1 -1
  40. package/llms-full.txt +37 -10
  41. package/llms.txt +31 -6
  42. package/package.json +4 -2
  43. package/src/Chat/_hostedToolsManifest.generated.ts +15 -6
  44. package/src/Chat/hostedToolValidator.ts +30 -2
  45. package/src/Chat/tools.ts +1 -1
  46. package/src/Projects/createJobRequestMessage.ts +54 -26
  47. package/src/Projects/types/index.ts +20 -13
  48. package/src/Projects/utils/index.ts +36 -8
  49. package/src/index.ts +6 -0
  50. package/src/lib/validation.ts +1 -0
  51. package/src/version.ts +1 -1
@@ -372,15 +372,20 @@ export interface MinimaxH3Keyframe {
372
372
  * two-stage ID (`minimax-h3-fastvideo-omni-int8_r2v_turbo_2stage`) takes the
373
373
  * same request and delivers twice the canvas, with the same 384/544/768 px
374
374
  * canvas choices as the other Two-Stage IDs.
375
+ * - Prism (`minimax-h3-prism-int8_r2v`) is an optional `r2v` model for mature
376
+ * themes with its recipe fixed at 8 Euler steps. It takes the same
377
+ * references, keyframes, catalog LoRAs, frame grid and canvas as the other
378
+ * one-stage `r2v` IDs, at the 768p class only (no two-stage ID). It is
379
+ * subject to server authorization and needs `disableNSFWFilter: true`.
375
380
  * - The `i2v` model accepts `referenceImage`, `referenceImageEnd`, or both, and
376
381
  * requires at least one of them. The `flf2v` model requires both.
377
382
  *
378
383
  * #### MiniMax H3 intermediate keyframes (every workflow except `t2v`)
379
384
  * - `keyframes` pins up to 8 still images at chosen frames between the first
380
- * and last frame. 23 ids accept it (`isMinimaxH3KeyframeModel()`): `i2v` and
385
+ * and last frame. 24 ids accept it (`isMinimaxH3KeyframeModel()`): `i2v` and
381
386
  * `flf2v` on every tier (Standard, Balanced, LightX2V Turbo, FastH3 Turbo and
382
387
  * FastH3 Two-Stage), the six FastH3 Sound to Video ids (`ia2v`, `flfa2v`,
383
- * `a2v`, one- and two-stage) and the seven `r2v` ids. Text-to-video and
388
+ * `a2v`, one- and two-stage) and the eight `r2v` ids. Text-to-video and
384
389
  * every other model reject a non-empty list.
385
390
  * - Each entry is `{ image, frameIndex }`. `frameIndex` is the 0-based pixel
386
391
  * frame at 24 fps (`Math.round(seconds * 24)`): an integer from 1 to
@@ -446,8 +451,9 @@ export interface MinimaxH3Keyframe {
446
451
  * - `minimax-h3-ref2va-fp8_r2v` (standard) and
447
452
  * `minimax-h3-ref2va-fp8_r2v_turbo` (four-step Turbo), and
448
453
  * `minimax-h3-ref2va-fp8_r2v_balanced` (eight-step Larry v4 Balanced) condition on labelled reference material
449
- * rather than on frame anchors, as does FastH3 Reference
450
- * (`minimax-h3-fastvideo-omni-int8_r2v_turbo`). The checkpoint accepts up to 9 reference
454
+ * rather than on frame anchors, as do FastH3 Reference
455
+ * (`minimax-h3-fastvideo-omni-int8_r2v_turbo`) and Prism
456
+ * (`minimax-h3-prism-int8_r2v`). The checkpoint accepts up to 9 reference
451
457
  * images, 3 reference videos (24fps, 2-15 seconds each), and 3 reference
452
458
  * audio clips, with at most 12 reference files in total.
453
459
  * - All of those ceilings apply, and at least one visual reference (image or
@@ -510,14 +516,15 @@ export interface VideoProjectParams extends BaseProjectParams {
510
516
  /** Track one selected object across an uploaded video, preserving every source frame. */
511
517
  sam3VideoPrompt?: Sam3VideoPrompt;
512
518
  /**
513
- * FlashVSR delivery resolution on the shorter edge. Source timing and audio are preserved.
514
- * With a FlashVSR `referenceVideo`, `frames`, `fps`, `width` and `height` may be omitted: the
515
- * server adopts the verified source's values. Values that are sent must match the source.
519
+ * FlashVSR or RelayVSR delivery resolution on the shorter edge; 2160 is RelayVSR only. Source
520
+ * timing and audio are preserved. With an upscale `referenceVideo`, `frames`, `fps`, `width` and
521
+ * `height` may be omitted: the server adopts the verified source's values. Values that are sent
522
+ * must match the source.
516
523
  */
517
- upscaleResolution?: 1080 | 1440;
518
- /** FlashVSR detail preference. Defaults to stable (More Stable). */
524
+ upscaleResolution?: 1080 | 1440 | 2160;
525
+ /** FlashVSR detail preference. Defaults to stable (More Stable). RelayVSR refuses it. */
519
526
  detailPreference?: 'stable' | 'sharper';
520
- /** FlashVSR processing speed. Defaults to stable (More Stable). */
527
+ /** FlashVSR processing speed. Defaults to stable (More Stable). RelayVSR refuses it. */
521
528
  processingSpeed?: 'stable' | 'faster';
522
529
  /**
523
530
  * Number of frames to generate. Most requests pass `duration` instead and let
@@ -525,7 +532,7 @@ export interface VideoProjectParams extends BaseProjectParams {
525
532
  * it). Pass `frames` when positions inside the clip must be exact, as with
526
533
  * MiniMax H3 `keyframes`, whose `frameIndex` values must fit the count; H3
527
534
  * takes `124 + n*17` (124, 141, 158, ... 362). When both are passed,
528
- * `duration` wins, except on FlashVSR upscales.
535
+ * `duration` wins, except on video upscales.
529
536
  */
530
537
  frames?: number;
531
538
  /**
@@ -697,7 +704,7 @@ export interface VideoProjectParams extends BaseProjectParams {
697
704
  /**
698
705
  * MiniMax H3 intermediate keyframes: up to 8 still images, each pinned at a
699
706
  * chosen frame between the first and last frame. Accepted by every MiniMax H3
700
- * workflow except text-to-video, 23 ids (`isMinimaxH3KeyframeModel()`):
707
+ * workflow except text-to-video, 24 ids (`isMinimaxH3KeyframeModel()`):
701
708
  * image-to-video (`i2v`), first/last-frame (`flf2v`), Sound to Video (`ia2v`,
702
709
  * `flfa2v`, `a2v`) and Reference to Video (`r2v`). Any other model rejects a
703
710
  * non-empty list, and an empty list is the same as omitting the field.
@@ -1599,7 +1606,7 @@ export interface VideoEstimateRequest {
1599
1606
  includeMonthlyFairUse?: boolean;
1600
1607
  /** Include Priority mode's 1.5× usage in the daily-capacity estimate. */
1601
1608
  priorityMode?: boolean;
1602
- /** FlashVSR source geometry for an estimate. The server verifies the uploaded file at admission. */
1609
+ /** Video upscale source geometry for an estimate. The server verifies the uploaded file at admission. */
1603
1610
  sourceWidth?: number;
1604
1611
  sourceHeight?: number;
1605
1612
  tokenType: TokenType;
@@ -71,7 +71,8 @@ const MINIMAX_H3_VIDEO_MODEL_IDS = new Set([
71
71
  'minimax-h3-ref2va-fp8_r2v_2stage',
72
72
  'minimax-h3-ref2va-fp8_r2v_balanced_2stage',
73
73
  'minimax-h3-fastvideo-omni-int8_r2v_turbo',
74
- 'minimax-h3-fastvideo-omni-int8_r2v_turbo_2stage'
74
+ 'minimax-h3-fastvideo-omni-int8_r2v_turbo_2stage',
75
+ 'minimax-h3-prism-int8_r2v'
75
76
  ]);
76
77
 
77
78
  export function getEnhacementStrength(strength: EnhancementStrength): number {
@@ -111,8 +112,18 @@ export function isVideoSegmentationModel(modelId: string): boolean {
111
112
  /** Standalone, promptless enhancement of a finished video. */
112
113
  export const FLASHVSR_VIDEO_UPSCALE_MODEL_ID = 'flashvsr_v1.1_tiny_long_bf16';
113
114
 
115
+ /** RelayVSR: promptless upscaling at a fixed 2x or 4x, up to 2160p. */
116
+ export const RELAYVSR_X2_VIDEO_UPSCALE_MODEL_ID = 'relayvsr_x2_lightx2v_int8_convrot';
117
+ export const RELAYVSR_X4_VIDEO_UPSCALE_MODEL_ID = 'relayvsr_x4_int8_convrot';
118
+
119
+ export function isRelayVsrModel(modelId: string): boolean {
120
+ return (
121
+ modelId === RELAYVSR_X2_VIDEO_UPSCALE_MODEL_ID || modelId === RELAYVSR_X4_VIDEO_UPSCALE_MODEL_ID
122
+ );
123
+ }
124
+
114
125
  export function isVideoUpscaleModel(modelId: string): boolean {
115
- return modelId === FLASHVSR_VIDEO_UPSCALE_MODEL_ID;
126
+ return modelId === FLASHVSR_VIDEO_UPSCALE_MODEL_ID || isRelayVsrModel(modelId);
116
127
  }
117
128
 
118
129
  /**
@@ -439,13 +450,20 @@ export function isWan3EnhancedModel(modelId: string): boolean {
439
450
  * `minimax-h3-fastvideo-omni-int8_r2v_turbo_2stage` takes the same request
440
451
  * and delivers the clip at exactly twice the canvas, like the Ref2VA
441
452
  * two-stage ids.
453
+ * - Prism: `minimax-h3-prism-int8_r2v`, an optional reference-to-video model
454
+ * for mature themes (a community merge of two Ref2VA finetunes) with its
455
+ * recipe fixed at 8 Euler steps (see `isMinimaxH3PrismModel`). It takes the
456
+ * same references, keyframes, catalog LoRAs and limits as the other one-stage
457
+ * r2v ids at the 768p class only: it has no two-stage id. Server
458
+ * authorization applies, and the Sensitive Content Filter must be off
459
+ * (`disableNSFWFilter: true`).
442
460
  *
443
461
  * All H3 paths share fixed 24fps, guidance 1, and the `124 + n*17` frame grid.
444
462
  * Every path except the FastH3 audio guide generates 32kHz stereo audio
445
463
  * jointly; audio-guide output carries the uploaded audio instead. Standard H3 uses 20 steps;
446
464
  * Balanced uses qualified fixed 8-step acceleration: LightX2V for FL2VA and
447
465
  * Larry v4 for Ref2VA; each Turbo family uses its own 4-step distillation LoRA;
448
- * FastH3 Reference is distilled to a fixed 8 steps.
466
+ * FastH3 Reference is distilled to a fixed 8 steps, and so is Prism.
449
467
  */
450
468
  export function isMinimaxH3Model(modelId: string): boolean {
451
469
  return MINIMAX_H3_VIDEO_MODEL_IDS.has(modelId);
@@ -501,6 +519,15 @@ export function isMinimaxH3AudioGuideModel(modelId: string): boolean {
501
519
  return /^minimax-h3-fastvideo-int8_(?:ia2v|flfa2v|a2v)_turbo(?:_2stage)?$/.test(modelId);
502
520
  }
503
521
 
522
+ /**
523
+ * Check if a model ID is MiniMax H3 Prism (`minimax-h3-prism-int8_r2v`): a
524
+ * one-stage reference-to-video id (`isMinimaxH3ReferenceModel`) whose steps are
525
+ * fixed at 8. It is not a Balanced id: it carries no Larry v4 adapter.
526
+ */
527
+ export function isMinimaxH3PrismModel(modelId: string): boolean {
528
+ return modelId === 'minimax-h3-prism-int8_r2v';
529
+ }
530
+
504
531
  /**
505
532
  * Check if a model ID is one of the 8-step MiniMax H3 Balanced workflows.
506
533
  * FL2VA covers t2v/i2v/flf2v; Ref2VA uses its matching Larry v4 adapter for
@@ -517,8 +544,9 @@ export function isMinimaxH3BalancedModel(modelId: string): boolean {
517
544
  /**
518
545
  * Check if a model ID is the MiniMax H3 Ref2VA multi-reference workflow
519
546
  * (`minimax-h3-ref2va-fp8_r2v`, `..._r2v_turbo`, `..._r2v_balanced`, the
520
- * two-stage `..._r2v_2stage` and `..._r2v_balanced_2stage`, or FastH3
521
- * Reference `minimax-h3-fastvideo-omni-int8_r2v_turbo` and its `_2stage` id).
547
+ * two-stage `..._r2v_2stage` and `..._r2v_balanced_2stage`, FastH3
548
+ * Reference `minimax-h3-fastvideo-omni-int8_r2v_turbo` and its `_2stage` id,
549
+ * or Prism `minimax-h3-prism-int8_r2v`).
522
550
  *
523
551
  * This is the only MiniMax H3 workflow that conditions on more than two input
524
552
  * files, and the only video workflow of any family that carries reference
@@ -541,13 +569,13 @@ export const MINIMAX_H3_MAX_KEYFRAMES = 8;
541
569
  * the worker pins (ComfyUI `MiniMaxH3AddGuide`) at chosen frames between the
542
570
  * first and last frame.
543
571
  *
544
- * Every MiniMax H3 workflow except text-to-video accepts them, 23 ids in all:
572
+ * Every MiniMax H3 workflow except text-to-video accepts them, 24 ids in all:
545
573
  * - image-to-video (`i2v`) and first/last-frame (`flf2v`) on every tier
546
574
  * (Standard, Balanced, LightX2V Turbo, FastH3 Turbo and FastH3 Two-Stage);
547
575
  * - the FastH3 Sound to Video audio guide (`ia2v`, `flfa2v`, `a2v`, one-stage
548
576
  * and two-stage; `isMinimaxH3AudioGuideModel`);
549
- * - Reference to Video (`r2v`: Standard, Turbo, Balanced, FastH3 Reference
550
- * and their three two-stage ids; `isMinimaxH3ReferenceModel`).
577
+ * - Reference to Video (`r2v`: Standard, Turbo, Balanced, FastH3 Reference,
578
+ * Prism and the three two-stage ids; `isMinimaxH3ReferenceModel`).
551
579
  */
552
580
  export function isMinimaxH3KeyframeModel(modelId: string): boolean {
553
581
  if (!isMinimaxH3Model(modelId)) return false;
package/src/index.ts CHANGED
@@ -34,6 +34,8 @@ import {
34
34
  MINIMAX_H3_MAX_KEYFRAMES,
35
35
  PIXAL3D_IMAGE_TO_3D_MODEL_ID,
36
36
  PIXAL3D_MULTIVIEW_IMAGE_TO_3D_MODEL_ID,
37
+ RELAYVSR_X2_VIDEO_UPSCALE_MODEL_ID,
38
+ RELAYVSR_X4_VIDEO_UPSCALE_MODEL_ID,
37
39
  PIXAL3D_ORBIT_VIEW_SLOTS,
38
40
  SAM3_IMAGE_SEGMENT_MODEL_ID,
39
41
  SAM3_VIDEO_SEGMENT_MODEL_ID,
@@ -46,6 +48,7 @@ import {
46
48
  isModelArtifactModel,
47
49
  isPixal3dModel,
48
50
  isPixal3dMultiViewModel,
51
+ isRelayVsrModel,
49
52
  isSegmentationModel,
50
53
  isVideoModel,
51
54
  isVideoUpscaleModel,
@@ -562,6 +565,8 @@ export {
562
565
  PIXAL3D_ORBIT_VIEW_SLOTS,
563
566
  SAM3_IMAGE_SEGMENT_MODEL_ID,
564
567
  SAM3_VIDEO_SEGMENT_MODEL_ID,
568
+ RELAYVSR_X2_VIDEO_UPSCALE_MODEL_ID,
569
+ RELAYVSR_X4_VIDEO_UPSCALE_MODEL_ID,
565
570
  SEEDREAM_5_PRO_UNCENSORED_MODEL_ID,
566
571
  SEEDREAM_5_5_UNCENSORED_MODEL_ID,
567
572
  calculateVideoFrames,
@@ -573,6 +578,7 @@ export {
573
578
  isModelArtifactModel,
574
579
  isPixal3dModel,
575
580
  isPixal3dMultiViewModel,
581
+ isRelayVsrModel,
576
582
  isSegmentationModel,
577
583
  isSeedreamModel,
578
584
  isVideoModel,
@@ -455,6 +455,7 @@ export function isComfyModel(modelId: string): boolean {
455
455
  'flux3_',
456
456
  'rtx_vsr_',
457
457
  'flashvsr_',
458
+ 'relayvsr_',
458
459
  'wan_',
459
460
  'ace_step',
460
461
  'minimax_music3',
package/src/version.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  // AUTO-GENERATED by scripts/generate-version.mjs — do not edit.
2
2
  // Source of truth: package.json version.
3
- export const LIB_VERSION = '5.83.0';
3
+ export const LIB_VERSION = '5.84.0';