@sogni-ai/sogni-client 5.19.3 → 5.20.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 (44) hide show
  1. package/AGENTS.md +5 -4
  2. package/CHANGELOG.md +28 -0
  3. package/README.md +9 -6
  4. package/dist/ApiClient/WebSocketClient/events.d.ts +1 -1
  5. package/dist/Chat/_hostedToolsManifest.generated.js +238 -55
  6. package/dist/Chat/_hostedToolsManifest.generated.js.map +1 -1
  7. package/dist/Chat/modelRouting.d.ts +3 -2
  8. package/dist/Chat/modelRouting.js +26 -5
  9. package/dist/Chat/modelRouting.js.map +1 -1
  10. package/dist/Projects/createJobRequestMessage.js +222 -8
  11. package/dist/Projects/createJobRequestMessage.js.map +1 -1
  12. package/dist/Projects/index.d.ts +2 -0
  13. package/dist/Projects/index.js +24 -1
  14. package/dist/Projects/index.js.map +1 -1
  15. package/dist/Projects/types/index.d.ts +45 -1
  16. package/dist/Projects/types/index.js.map +1 -1
  17. package/dist/Projects/utils/index.d.ts +12 -4
  18. package/dist/Projects/utils/index.js +25 -6
  19. package/dist/Projects/utils/index.js.map +1 -1
  20. package/dist/version.d.ts +1 -1
  21. package/dist/version.js +1 -1
  22. package/dist-esm/Chat/_hostedToolsManifest.generated.js +238 -55
  23. package/dist-esm/Chat/_hostedToolsManifest.generated.js.map +1 -1
  24. package/dist-esm/Chat/modelRouting.js +26 -6
  25. package/dist-esm/Chat/modelRouting.js.map +1 -1
  26. package/dist-esm/Projects/createJobRequestMessage.js +223 -9
  27. package/dist-esm/Projects/createJobRequestMessage.js.map +1 -1
  28. package/dist-esm/Projects/index.js +24 -1
  29. package/dist-esm/Projects/index.js.map +1 -1
  30. package/dist-esm/Projects/types/index.js.map +1 -1
  31. package/dist-esm/Projects/utils/index.js +24 -6
  32. package/dist-esm/Projects/utils/index.js.map +1 -1
  33. package/dist-esm/version.js +1 -1
  34. package/llms-full.txt +12 -0
  35. package/llms.txt +4 -0
  36. package/package.json +4 -3
  37. package/src/ApiClient/WebSocketClient/events.ts +1 -1
  38. package/src/Chat/_hostedToolsManifest.generated.ts +238 -55
  39. package/src/Chat/modelRouting.ts +29 -6
  40. package/src/Projects/createJobRequestMessage.ts +228 -3
  41. package/src/Projects/index.ts +24 -2
  42. package/src/Projects/types/index.ts +47 -1
  43. package/src/Projects/utils/index.ts +25 -6
  44. package/src/version.ts +1 -1
package/AGENTS.md CHANGED
@@ -71,7 +71,7 @@ Public chat and workflow media rules:
71
71
 
72
72
  ## Overview
73
73
 
74
- This is the **Sogni SDK for JavaScript/Node.js** - a TypeScript client library for the Sogni Supernet, a DePIN protocol for creative AI inference. The SDK supports image generation (Stable Diffusion, Flux, Z-Image / Z-Image Turbo, Krea 2 Turbo, Krea 2 Identity Edit, Chroma v.46 Flash / v.48 Detail / Chroma1-HD, Qwen image-edit models, GPT Image 2, plus community fine-tunes such as Dark Beast Z-Image Turbo v9, Dark Beast KREA 2, Dark Beast Krea 2 Identity Edit, and One Obsession v22), video generation (WAN 2.2, LTX-2.3, Seedance 2.0, HappyHorse 1.1, MiniMax H3, and MiniMax H3 Turbo), audio generation (ACE-Step 1.5), LLM chat with tool calling, hosted creative tools, durable creative workflows, replay records, and multimodal vision chat (Qwen3.6 35B VLM, default `qwen3.6-35b-a3b-gguf-iq4xs`). The model catalog is discovered dynamically at runtime (`sogni.projects.getAvailableModels()`); model ids listed here are illustrative.
74
+ This is the **Sogni SDK for JavaScript/Node.js** - a TypeScript client library for the Sogni Supernet, a DePIN protocol for creative AI inference. The SDK supports image generation (Stable Diffusion, Flux, Z-Image / Z-Image Turbo, Krea 2 Turbo, Krea 2 Identity Edit, Chroma v.46 Flash / v.48 Detail / Chroma1-HD, Qwen image-edit models, GPT Image 2, plus community fine-tunes such as Dark Beast Z-Image Turbo v9, Dark Beast KREA 2, Dark Beast Krea 2 Identity Edit, and One Obsession v22), video generation (WAN 2.2, Wan 3, LTX-2.3, Seedance 2.0, HappyHorse 1.1, MiniMax H3, and MiniMax H3 Turbo), audio generation (ACE-Step 1.5), LLM chat with tool calling, hosted creative tools, durable creative workflows, replay records, and multimodal vision chat (Qwen3.6 35B VLM, default `qwen3.6-35b-a3b-gguf-iq4xs`). The model catalog is discovered dynamically at runtime (`sogni.projects.getAvailableModels()`); model ids listed here are illustrative.
75
75
 
76
76
  Choosing an image-edit model: pick by what the edit has to preserve, not by step count or quality tier. When a person or character must stay recognisable through the edit — style transfer, makeover, clothing or person swap, face swap, new pose or expression, character sheet — use Krea 2 Identity Edit (`krea2_identity_edit_v1_2`, or `dark_beast_krea2_identity_edit_v1_2` uncensored) with 1-2 context images. For general-purpose editing — photo transforms, in-image text, multi-person changes, combining up to 3 references — use a Qwen image-edit model. A higher-step general-purpose editor does not beat the identity model at a likeness task; it reinterprets the subject instead of preserving it. See `llms.txt` for parameters.
77
77
 
@@ -225,12 +225,13 @@ The SDK supports two families of video models with **fundamentally different FPS
225
225
  - **Frame calculation**: `duration * 16 + 1` (always uses 16, ignores fps)
226
226
  - Example: 5 seconds at 32fps = 81 frames generated → interpolated to 161 output frames
227
227
 
228
- ### External-API Partner Models (Seedance 2.0, Happy Horse 1.1)
228
+ ### External-API Partner Models (Seedance, Happy Horse, Wan 3)
229
229
 
230
- **Seedance 2.0** (`seedance-2-0` / `-mini` / `-fast`) and **Happy Horse 1.1** (`happyhorse-1.1-t2v` / `-i2v` / `-r2v`) run on partner external APIs, not Sogni GPU workers:
231
- - **Spark-only** billing, **fixed 24fps**, and **native audio** (no separate audio params to set).
230
+ **Seedance 2.0**, **Happy Horse 1.1**, and **Wan 3** (`wan3.0-video`) run on partner external APIs, not Sogni GPU workers:
231
+ - **Premium Spark-only** billing and provider-owned fixed frame rates: Seedance/Happy Horse use 24fps, while Wan 3 uses 30fps. All can produce native audio; Wan 3 also supports silent output.
232
232
  - No local diffusion steps — progress is provider/ETA-derived (still a finite 0-100). Results can arrive as direct hosted URLs, preserved on `job.resultUrl` / `job.getResultUrl()`.
233
233
  - **Seedance** accepts image + video + audio references (up to 9 / 3 / 3, 12 total) via `referenceImage*` / `referenceImageUrls` / `referenceVideoUrls` / `referenceAudioUrls`. **Happy Horse** accepts **image-only** references (r2v takes 1-9 images via `referenceImage` / `referenceImageUrls`).
234
+ - **Wan 3** is one fixed-30fps model for 2-30s T2V/I2V/FLF/R2V/A2V/V2V. It accepts up to 10 loose images, 5 videos, and 5 audios, but native frame mode cannot mix with loose references.
234
235
  - Family predicates: `isSeedanceModel()`, `isHappyhorseModel()`, `isExternalApiVideoModel()` in `src/Projects/utils/index.ts`.
235
236
 
236
237
  ### Key Files
package/CHANGELOG.md CHANGED
@@ -1,3 +1,31 @@
1
+ # [5.20.0](https://github.com/Sogni-AI/sogni-client/compare/v5.19.5...v5.20.0) (2026-08-25)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **deps:** consume Wan3 protocol ([33ad38b](https://github.com/Sogni-AI/sogni-client/commit/33ad38b428bf34d144c2686e4ecac18533a62b49))
7
+ * **video:** harden Wan3 transport ([c38606b](https://github.com/Sogni-AI/sogni-client/commit/c38606bc0df3d4febd09e8f5b6f9d0141a132ef6))
8
+
9
+
10
+ ### Features
11
+
12
+ * **video:** integrate Alibaba Wan 3 ([30dc496](https://github.com/Sogni-AI/sogni-client/commit/30dc496a2fdcb9529b8694b60161bd4e62b27232))
13
+ * **video:** merge Wan3 integration ([1545413](https://github.com/Sogni-AI/sogni-client/commit/154541329bb6ec773f4f0fcc191a24fd26cbd2cc))
14
+
15
+ ## [5.19.5](https://github.com/Sogni-AI/sogni-client/compare/v5.19.4...v5.19.5) (2026-08-25)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * **release:** commit lockfile version updates ([3cb78c4](https://github.com/Sogni-AI/sogni-client/commit/3cb78c4b30f24cbc8da3884cab11bc812804d8b0))
21
+
22
+ ## [5.19.4](https://github.com/Sogni-AI/sogni-client/compare/v5.19.3...v5.19.4) (2026-08-25)
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * **projects:** harden confirmed cancellation ([b508820](https://github.com/Sogni-AI/sogni-client/commit/b508820b4f9c8476dcf0db96963668a0ff133d97))
28
+
1
29
  ## [5.19.3](https://github.com/Sogni-AI/sogni-client/compare/v5.19.2...v5.19.3) (2026-08-25)
2
30
 
3
31
 
package/README.md CHANGED
@@ -746,7 +746,7 @@ export interface ControlNetParams {
746
746
  }
747
747
  ```
748
748
 
749
- ## Video Generation (WAN 2.2, LTX-2.3, Seedance 2.0 & Happy Horse 1.1)
749
+ ## Video Generation (WAN 2.2, Wan 3, LTX-2.3, Seedance & Happy Horse)
750
750
 
751
751
  The Sogni SDK supports advanced video generation workflows powered by **Wan 2.2 14B FP8** models. These models are available on the `fast` network and support various video generation workflows.
752
752
 
@@ -794,6 +794,7 @@ Example model IDs:
794
794
  - `happyhorse-1.1-t2v` (Happy Horse 1.1 Text-to-Video, external API, image-only references)
795
795
  - `happyhorse-1.1-i2v` (Happy Horse 1.1 Image-to-Video, external API, one first-frame image)
796
796
  - `happyhorse-1.1-r2v` (Happy Horse 1.1 Reference-to-Video, external API, 1-9 reference images)
797
+ - `wan3.0-video` (Wan 3 unified multimodal video, external API, 2-30s, 480P/720P/1080P, fixed 30fps)
797
798
 
798
799
  The repository does not bundle sample prompts or input media for the 10Eros model. Creators
799
800
  who choose to use it must provide their own prompt and image to
@@ -804,8 +805,8 @@ who choose to use it must provide their own prompt and image to
804
805
 
805
806
  When creating video projects, you can specify:
806
807
 
807
- - `duration` - Duration in seconds. WAN supports 1-10s, LTX 2.5 supports 2-20s, LTX 2.3 supports 4-20s, Seedance 2.0 supports 4-15s, and Seedance 2.5 supports 4-30s.
808
- - `fps` - Frames per second. WAN supports 16/32 output, LTX 2.x supports 1-60 native FPS, Seedance is fixed at 24fps.
808
+ - `duration` - Duration in seconds. WAN 2.2 supports 1-10s, Wan 3 supports 2-30s, LTX 2.5 supports 2-20s, LTX 2.3 supports 4-20s, Seedance 2.0 supports 4-15s, and Seedance 2.5 supports 4-30s.
809
+ - `fps` - Frames per second. WAN 2.2 supports 16/32 output, Wan 3 is fixed at 30fps, LTX 2.x supports 1-60 native FPS, and Seedance is fixed at 24fps.
809
810
  - `frames` - Number of frames. Prefer `duration`; the SDK calculates model-correct frame counts.
810
811
  - `width` - Video width in pixels
811
812
  - `height` - Video height in pixels
@@ -814,9 +815,9 @@ When creating video projects, you can specify:
814
815
  - `referenceImage` - Reference image for workflows that require it (i2v, s2v, animate-move, animate-replace)
815
816
  - `referenceVideo` - Reference video for animate and v2v workflows
816
817
  - `referenceAudio` - Reference audio for sound-to-video workflow
817
- - `referenceImageUrls` - Loose image context URLs for Seedance and Happy Horse (Happy Horse r2v takes 1-9 reference images here); Seedance 2.0 accepts 9 image assets and Seedance 2.5 accepts 30
818
- - `referenceVideoUrls` - Seedance-only video context URLs; Seedance 2.0 accepts 3 video assets and Seedance 2.5 accepts 10
819
- - `referenceAudioUrls` - Seedance-only audio context URLs; Seedance 2.0 accepts 3 audio assets and Seedance 2.5 accepts 10
818
+ - `referenceImageUrls` - Loose image context URLs for Seedance, Happy Horse, and Wan 3; Wan 3 accepts up to 10
819
+ - `referenceVideoUrls` - Loose video context URLs for Seedance and Wan 3; Wan 3 accepts up to 5
820
+ - `referenceAudioUrls` - Loose audio context URLs for Seedance and Wan 3; Wan 3 accepts up to 5
820
821
  - `seedanceTaskType` - Seedance 2.5 loose-reference operation: `reference`, `edit`, or `extend`. Edit and extend require a reference video.
821
822
  - `hasVideoInput` - Estimate-only flag for `estimateVideoCost`; set this when estimating a canonical Seedance video-input job without passing `referenceVideo`/`referenceVideoUrls`
822
823
  - `referenceImageCount` - Optional estimate-only count of image references the video job will submit; models whose pricing does not use it ignore it
@@ -825,6 +826,8 @@ Seedance 2.0 can combine image, video, and audio reference assets in one externa
825
826
 
826
827
  Seedance 2.5 raises the reference limits to 30 images, 10 videos, 10 audios, and 50 total files, and it permits audio-only loose-reference generation. Its frame-conditioned, edit, and extend operations inherit source aspect ratio. Send `seedanceTaskType: 'edit'` for source-video edits and `seedanceTaskType: 'extend'` for continuation; the Sogni vendor adapter applies Seedance 2.5's required adaptive ratio and provider-selected edit duration. Use `reference` when media supplies creative guidance for a newly generated video. Loose-reference requests require an explicit task type.
827
828
 
829
+ Wan 3 uses the single exact model ID `wan3.0-video` for text, first-frame, first+last-frame, loose-reference, audio-driven, and video-edit/extend workflows. It accepts fixed or smart 2-30 second output at 480P/720P/1080P and fixed 30fps, with `adaptive`, `16:9`, `4:3`, `1:1`, `3:4`, or `9:16` ratio. Native audio defaults on; provider prompt expansion and watermarking are independently controllable. It accepts up to 10 loose images, 5 videos, and 5 audios, plus either one public document or one webpage. Native first/last frames cannot be mixed with loose media or document/web context. In English prompts, identify loose assets as `Image 1`, `Video 1`, and `Audio 1`, numbered independently by type. Extension requires `ratio: 'adaptive'` and an explicit continuation prompt. Wan 3 has no `negativePrompt` request field and is Premium Spark-only.
830
+
828
831
  ### Text-to-Video Example
829
832
 
830
833
  ```javascript
@@ -237,7 +237,7 @@ export type ToastMessage = {
237
237
  };
238
238
  export type ArtistCancelConfirmation = {
239
239
  didCancel: boolean;
240
- error_message: string;
240
+ error_message?: string;
241
241
  jobID: string;
242
242
  };
243
243
  export type JobTokensData = {