@wavespeed/cli 0.4.32 → 0.4.33

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/README.md CHANGED
@@ -121,7 +121,7 @@ wavespeed extend video "the camera keeps rising" --video @./clip.mp4 --json
121
121
  | | Default | Alternatives (`-m`) |
122
122
  |---|---|---|
123
123
  | Image | `seedream-5-5` | `seedream-5-pro`, `gpt-image-2.6`, `gpt-image-2.5`, `nano-banana-2.1`, `nano-banana-pro`, `nano-banana-2`, `gpt-image-2` |
124
- | Video | `seedance-2.5-flash` | `seedance-2.5`, `seedance-2.5-turbo`, `kling-4.0`, `wan-3.0`, `wan-3.0-prime`, `minimax-h3` (cheap and fast, native stereo audio, 768p by default), Seedance 2.0 tiers |
124
+ | Video | `seedance-2.5-flash` | `seedance-2.5-flash-turbo`, `seedance-2.5`, `seedance-2.5-turbo`, `kling-4.0`, `wan-3.0`, `wan-3.0-prime`, `minimax-h3` (cheap and fast, native stereo audio, 768p by default), Seedance 2.0 tiers |
125
125
 
126
126
  For everything else (audio, 3D, upscaling, a specific endpoint), find the model with `wavespeed models <query>` and call it with `wavespeed run <model-id>`.
127
127
 
@@ -39,11 +39,13 @@ const seedance = (id, label, base, turbo, v25) => ({
39
39
  durations: v25 ? [4, 30] : [4, 15], aspectRatios: SEEDANCE_ASPECTS, audio: true,
40
40
  maxRefs: v25 ? { images: 30, videos: 10, audios: 10 } : { images: 9, videos: 3, audios: 3 },
41
41
  });
42
- // Flash generates natively at 480p / 720p; it has no turbo or extend endpoint, and takes fewer references than 2.5.
43
- const seedanceFlash = () => ({
44
- id: 'seedance-2.5-flash', label: 'Seedance 2.5 Flash', family: 'seedance-2.5', base: 'bytedance/seedance-2.5-flash', turbo: false,
45
- modes: ['generate', 'edit'], resolutions: ['480p', '720p'], defaultResolution: '720p',
46
- durations: [4, 30], aspectRatios: SEEDANCE_ASPECTS, audio: true, maxRefs: { images: 10, videos: 5, audios: 5 },
42
+ // Flash: generated natively at 480p / 720p; 1080p and 4k are upscaled from 720p (mov stops at 720p). The turbo tier takes
43
+ // 720p / 1080p only. At most 10 images, 5 videos and 5 audios, and no extend endpoint.
44
+ const seedanceFlash = (id, label, turbo) => ({
45
+ id, label, family: 'seedance-2.5', base: 'bytedance/seedance-2.5-flash', turbo, modes: ['generate', 'edit'],
46
+ resolutions: turbo ? TURBO_RES : ALL_RES, defaultResolution: '720p',
47
+ durations: [4, 30], aspectRatios: SEEDANCE_ASPECTS, audio: true,
48
+ maxRefs: { images: 10, videos: 5, audios: 5 },
47
49
  });
48
50
  const wan = (id, label, base) => ({
49
51
  id, label, family: 'wan-3.0', base, turbo: false, modes: ['generate', 'edit', 'extend'],
@@ -52,7 +54,8 @@ const wan = (id, label, base) => ({
52
54
  });
53
55
  /** In menu order; the first is the default. */
54
56
  export const VIDEO_MODELS = {
55
- 'seedance-2.5-flash': seedanceFlash(),
57
+ 'seedance-2.5-flash': seedanceFlash('seedance-2.5-flash', 'Seedance 2.5 Flash', false),
58
+ 'seedance-2.5-flash-turbo': seedanceFlash('seedance-2.5-flash-turbo', 'Seedance 2.5 Flash Turbo', true),
56
59
  'seedance-2.5': seedance('seedance-2.5', 'Seedance 2.5', 'bytedance/seedance-2.5', false, true),
57
60
  'seedance-2.5-turbo': seedance('seedance-2.5-turbo', 'Seedance 2.5 Turbo', 'bytedance/seedance-2.5', true, true),
58
61
  'seedance-2.0': seedance('seedance-2.0', 'Seedance 2.0', 'bytedance/seedance-2.0', false, false),
@@ -195,7 +195,8 @@ export async function planVideo(args, action, propsOf) {
195
195
  (args.reference_videos?.length ?? 0) > limits.maxRefs.videos ||
196
196
  (args.reference_audios?.length ?? 0) > limits.maxRefs.audios;
197
197
  const ordered = pinned ? [first] : [first, ...VIDEO_MODEL_KEYS.filter((k) => k !== first)];
198
- const keys = !pinned && first === DEFAULT_VIDEO_MODEL && exceeds ? ordered.slice(1) : ordered;
198
+ // Skipping the default skips its turbo sibling too: it takes the same inputs and offers less.
199
+ const keys = !pinned && first === DEFAULT_VIDEO_MODEL && exceeds ? ordered.filter((k) => VIDEO_MODELS[k].base !== limits.base) : ordered;
199
200
  const candidates = [];
200
201
  for (const key of keys) {
201
202
  // H3's native 768p tier is the counterpart of other models' 720p default.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavespeed/cli",
3
- "version": "0.4.32",
3
+ "version": "0.4.33",
4
4
  "description": "WaveSpeed CLI — one command to run any WaveSpeed AI model from your terminal.",
5
5
  "publishConfig": {
6
6
  "access": "public"
package/skills/SKILL.md CHANGED
@@ -34,9 +34,9 @@ They use the same models as the WaveSpeed /chat page and pick the endpoint (text
34
34
  | | Default | Alternatives (`-m` / `model`) |
35
35
  |---|---|---|
36
36
  | Image | `seedream-5-5` (Seedream 5.5) | `seedream-5-pro`, `gpt-image-2.6` (GPT Image 2.6, the model behind ChatGPT Images 2.6; strong at text and photorealism), `gpt-image-2.5`, `nano-banana-2.1`, `nano-banana-pro`, `nano-banana-2`, `gpt-image-2` |
37
- | Video | `seedance-2.5-flash` (Seedance 2.5 Flash: 480p / 720p, no extend) | `seedance-2.5`, `seedance-2.5-turbo`, `kling-4.0`, `wan-3.0`, `wan-3.0-prime`, `minimax-h3` (cheap and fast, native stereo audio; defaults to 768p, its counterpart of 720p), older Seedance 2.0 tiers |
37
+ | Video | `seedance-2.5-flash` (Seedance 2.5 Flash: 480p to 4k, 1080p and 4k upscaled, no extend), `seedance-2.5-flash-turbo` (720p / 1080p) | `seedance-2.5`, `seedance-2.5-turbo`, `kling-4.0`, `wan-3.0`, `wan-3.0-prime`, `minimax-h3` (cheap and fast, native stereo audio; defaults to 768p, its counterpart of 720p), older Seedance 2.0 tiers |
38
38
 
39
- Video resolution is 720p unless the user asks for another (MiniMax H3: 768p). Offer 480p for a cheaper draft.
39
+ Video resolution is 720p unless the user asks for another (MiniMax H3: 768p). Offer 480p for a cheaper draft. Seedance 2.5 Flash is asked for 1080p or 4k like any other model; it makes 720p natively and upscales above that.
40
40
 
41
41
  ## Everything else: the generic run
42
42