@wavespeed/mcp 1.2.12 → 1.2.14

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.
@@ -39,10 +39,11 @@ 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: 480p / 720p only, at most 10 images, 5 videos and 5 audios; no turbo tier and no extend endpoint.
43
- const seedanceFlash = (id, label, base) => ({
44
- id, label, family: 'seedance-2.5', base, turbo: false, modes: ['generate', 'edit'],
45
- resolutions: ['480p', '720p'], defaultResolution: '720p',
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. The standard tier extends; its turbo tier has no extend endpoint.
44
+ const seedanceFlash = (id, label, turbo) => ({
45
+ id, label, family: 'seedance-2.5', base: 'bytedance/seedance-2.5-flash', turbo, modes: turbo ? ['generate', 'edit'] : ['generate', 'edit', 'extend'],
46
+ resolutions: turbo ? TURBO_RES : ALL_RES, defaultResolution: '720p',
46
47
  durations: [4, 30], aspectRatios: SEEDANCE_ASPECTS, audio: true,
47
48
  maxRefs: { images: 10, videos: 5, audios: 5 },
48
49
  });
@@ -53,7 +54,8 @@ const wan = (id, label, base) => ({
53
54
  });
54
55
  /** In menu order; the first is the default. */
55
56
  export const VIDEO_MODELS = {
56
- 'seedance-2.5-flash': seedanceFlash('seedance-2.5-flash', 'Seedance 2.5 Flash', 'bytedance/seedance-2.5-flash'),
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),
57
59
  'seedance-2.5': seedance('seedance-2.5', 'Seedance 2.5', 'bytedance/seedance-2.5', false, true),
58
60
  'seedance-2.5-turbo': seedance('seedance-2.5-turbo', 'Seedance 2.5 Turbo', 'bytedance/seedance-2.5', true, true),
59
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/dist/server.js CHANGED
@@ -438,7 +438,7 @@ export function createServer() {
438
438
  const plan = await planVideo(args, 'edit', catalogProps);
439
439
  return runPlan(plan, { estimate_only: raw.estimate_only, wait_seconds: raw.wait_seconds }, extra, uploaded);
440
440
  });
441
- server.tool('extend_video', `Continue an existing video with new footage after its end, with the same models as the WaveSpeed /chat page. Turbo models cannot extend. ${REFS}`, {
441
+ server.tool('extend_video', `Continue an existing video with new footage after its end, with the same models as the WaveSpeed /chat page (Seedance 2.5 Flash included). Turbo models, Flash Turbo too, cannot extend. ${REFS}`, {
442
442
  prompt: z.string().min(1).describe('What happens next.'),
443
443
  video: z.string().describe('The video to continue (URL or "@./path").'),
444
444
  last_frame: z.string().optional().describe('Optional image the continuation should end on.'),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavespeed/mcp",
3
- "version": "1.2.12",
3
+ "version": "1.2.14",
4
4
  "description": "WaveSpeed MCP server — run any model on the live WaveSpeed catalog (image, video, audio, 3D) with schema introspection, local-file upload, and price quotes.",
5
5
  "type": "module",
6
6
  "bin": {