@amaster.ai/pi-video-gen 0.1.7 → 0.1.9

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 (52) hide show
  1. package/README.md +25 -3
  2. package/dist/config.d.ts +8 -1
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +39 -11
  5. package/dist/config.js.map +1 -1
  6. package/dist/errors.d.ts.map +1 -1
  7. package/dist/errors.js +1 -0
  8. package/dist/errors.js.map +1 -1
  9. package/dist/frame-input.d.ts +2 -0
  10. package/dist/frame-input.d.ts.map +1 -0
  11. package/dist/frame-input.js +63 -0
  12. package/dist/frame-input.js.map +1 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +25 -14
  15. package/dist/index.js.map +1 -1
  16. package/dist/providers/ark.js +2 -2
  17. package/dist/providers/ark.js.map +1 -1
  18. package/dist/providers/dashscope.js +2 -2
  19. package/dist/providers/dashscope.js.map +1 -1
  20. package/dist/providers/kling.js +2 -2
  21. package/dist/providers/kling.js.map +1 -1
  22. package/dist/providers/minimax.d.ts +27 -0
  23. package/dist/providers/minimax.d.ts.map +1 -0
  24. package/dist/providers/minimax.js +181 -0
  25. package/dist/providers/minimax.js.map +1 -0
  26. package/dist/providers/models.d.ts +6 -0
  27. package/dist/providers/models.d.ts.map +1 -1
  28. package/dist/providers/models.js +33 -7
  29. package/dist/providers/models.js.map +1 -1
  30. package/dist/providers/newapi.js +2 -2
  31. package/dist/providers/newapi.js.map +1 -1
  32. package/dist/providers/openrouter.js +2 -2
  33. package/dist/providers/openrouter.js.map +1 -1
  34. package/dist/providers/task.d.ts +4 -0
  35. package/dist/providers/task.d.ts.map +1 -1
  36. package/dist/providers/task.js +14 -2
  37. package/dist/providers/task.js.map +1 -1
  38. package/dist/render.d.ts.map +1 -1
  39. package/dist/render.js +5 -5
  40. package/dist/render.js.map +1 -1
  41. package/dist/timeline-render.d.ts.map +1 -1
  42. package/dist/timeline-render.js +44 -50
  43. package/dist/timeline-render.js.map +1 -1
  44. package/dist/timeline.d.ts +2 -1
  45. package/dist/timeline.d.ts.map +1 -1
  46. package/dist/timeline.js +2 -1
  47. package/dist/timeline.js.map +1 -1
  48. package/dist/types.d.ts +6 -4
  49. package/dist/types.d.ts.map +1 -1
  50. package/package.json +7 -7
  51. package/skills/video-gen/SKILL.md +22 -12
  52. package/skills/video-gen/evals.json +65 -0
package/README.md CHANGED
@@ -15,6 +15,7 @@ that orchestrates the full shot-book workflow together with
15
15
  | `ark` (Volcengine Ark) | Seedance 2.0 standard / fast / mini | ✅ built-in |
16
16
  | `dashscope` (Alibaba) | HappyHorse 1.1 / 1.0 (t2v/i2v/r2v auto-routed) | ✅ built-in |
17
17
  | `kling` (Kuaishou) | Kling 3.0 Turbo / 3.0 Omni (API 2.0) | ✅ built-in |
18
+ | `minimax` | MiniMax-H3 (v2 API) | ✅ built-in |
18
19
  | `openrouter` | google/veo-3.1 (+ custom models) | ✅ built-in |
19
20
  | `newapi` | self-hosted NewAPI relay (Kling / Jimeng / Vidu / Gemini channels) | ✅ via `customProviders` — `baseUrl` **required** |
20
21
  | custom | your own endpoints | ✅ via `customProviders` |
@@ -32,7 +33,7 @@ Global settings (`~/.pi/agent/settings.json`):
32
33
  ```jsonc
33
34
  {
34
35
  "pi-video-gen": {
35
- "defaultModel": "seedance", // alias of doubao-seedance-2-0-260128
36
+ "defaultModel": "seedance-2.0", // alias of doubao-seedance-2-0-260128
36
37
  "providers": {
37
38
  "ark": { "apiKey": "${ARK_API_KEY}" } // Volcengine Ark key
38
39
  },
@@ -44,7 +45,12 @@ Global settings (`~/.pi/agent/settings.json`):
44
45
 
45
46
  **Custom providers** (same idea as pi-image-gen's — point any Ark-compatible
46
47
  endpoint at your own models; string models get conservative capabilities,
47
- object models declare them):
48
+ object models declare them). When a custom model's `id` names a built-in
49
+ model (e.g. `"MiniMax-H3"` behind your relay), the built-in capability table
50
+ and defaults are inherited automatically — undeclared `capabilities`,
51
+ `defaultResolution`/`defaultAspectRatio`/`defaultDurationSec` fall back to
52
+ the registry values instead of the conservative 720p/16:9 profile, and any
53
+ field you do declare overrides the inherited one:
48
54
 
49
55
  ```jsonc
50
56
  {
@@ -96,6 +102,22 @@ ambiguous submits are parked for manual resolution rather than auto-retried:
96
102
  }
97
103
  ```
98
104
 
105
+ **MiniMax notes** (v2 API, [create](https://platform.minimax.io/docs/api-reference/video-generation-v2-create) / [query](https://platform.minimax.io/docs/api-reference/video-generation-v2-query)):
106
+ MiniMax-H3 speaks a multimodal task API — prompt + frames ride in one
107
+ `content` array with `first_frame` / `last_frame` / `reference_image` roles
108
+ (first/last frames and reference images are mutually exclusive; a last frame
109
+ requires a first frame). Resolution is `768P` or `2K`, duration 4–15s, ratio
110
+ `16:9|4:3|1:1|3:4|9:16|21:9` — required and non-adaptive for text-to-video,
111
+ ignored (forced adaptive) once a first frame is present. There is no audio
112
+ toggle, no idempotency key and no documented cancel endpoint, so ambiguous
113
+ submits are parked for manual resolution rather than auto-retried. Auth is a
114
+ plain Bearer key (`providers.minimax.apiKey`, env `MINIMAX_API_KEY`), and keys
115
+ are region-locked: the default endpoint is international
116
+ `api.minimax.io` — mainland-China keys need `providers.minimax.baseUrl` set
117
+ to `https://api.minimaxi.com` (and vice versa a 401 means wrong region).
118
+ Result URLs are time-limited; clips are downloaded immediately, and tasks
119
+ stay queryable for 7 days.
120
+
99
121
  **Kling notes** (verified against kling.ai/document-api via browser, 2026-07):
100
122
  current Kling API 2.0 uses a plain API key (`providers.kling.apiKey`, env
101
123
  `KLING_API_KEY`) — the JWT ak/sk scheme is legacy. The model lives in the URL
@@ -142,7 +164,7 @@ the binaries.
142
164
 
143
165
  | Tool | What it does |
144
166
  |---|---|
145
- | `video_compose` | **Local video assembly, no paid models.** C0 (`compose-input.json`): lossless concat of existing compatible mp4 clips with ordered, all-track ffprobe stream precheck. Timeline (`timeline-input.json`): promo from mixed images/video clips + text overlays + Edge TTS narration + image motion + xfade transitions + soft or burned subtitles + source-video audio + optional BGM — local render, near-zero cost. Video segments use a fixed numeric `durationSec`, optional `trimStartSec`, `fit`, and `sourceAudio`; narration that does not fit the selected video window is rejected. Image segments also support `durationSec: "auto"` and kenburns/pan/zoom motion. Timeline TTS failures stop by default; set `ttsFailureMode: "silent-subtitles"` only for an explicit silent-audio degradation that preserves subtitles. An accepted degradation stays cached for that immutable job; the C0 final video and all reusable Timeline artifacts are regular job-local files bound to manifest hashes. |
167
+ | `video_compose` | **Local video assembly, no paid video models.** C0 (`compose-input.json`) concatenates compatible clips. Timeline media, overlays, transitions, subtitles, source audio, and BGM render locally. Narration is an explicit network feature: setting `voice` to `edge-tts:<voice-name>` sends narration text to Microsoft Edge TTS. |
146
168
  | `video_generate` | One short clip from a prompt (+ optional first/last frame images). Paid, minutes per clip. Interrupted after receiving a task id? Resume with the returned `jobId`; an ambiguous submit is parked and never resubmitted automatically. |
147
169
  | `video_render` | Multi-shot film from `<jobDir>/render-input.json`: snapshots + hashes all frames, submits one paid task per shot (resume-aware, finished shots never re-bill), downloads clips, ffmpeg-concats into `final_video.mp4`. |
148
170
  | `video_capabilities` | Read-only: active model's capability table + registered models. Call before composing prompts or shot books. |
package/dist/config.d.ts CHANGED
@@ -1,4 +1,10 @@
1
1
  import type { ResolvedModel, ResolvedProvider, VideoApiStyle, VideoGenSettings } from './types.js';
2
+ /**
3
+ * Fallback model when neither the caller nor settings.defaultModel name one.
4
+ * A full registry id, NOT an alias — aliases can be dropped between versions,
5
+ * the default must not depend on one.
6
+ */
7
+ export declare const DEFAULT_VIDEO_MODEL_ID = "doubao-seedance-2-0-260128";
2
8
  /**
3
9
  * Load `pi-video-gen` settings with the trust boundary applied:
4
10
  * - untrusted project ⇒ the project layer is ignored entirely;
@@ -10,7 +16,8 @@ export declare function loadVideoGenSettings(cwd: string, projectTrusted: boolea
10
16
  export declare function resolveProvider(settings: VideoGenSettings, style: VideoApiStyle): ResolvedProvider;
11
17
  /**
12
18
  * Resolve a model id/alias (defaulting to settings.defaultModel, then
13
- * 'seedance'). Built-in registry wins over custom provider models on conflict.
19
+ * DEFAULT_VIDEO_MODEL_ID). Built-in registry wins over custom provider
20
+ * models on conflict.
14
21
  */
15
22
  export declare function resolveModel(settings: VideoGenSettings, modelId?: string): ResolvedModel | null;
16
23
  /** Registry view for the video_capabilities tool / `/video-gen models`. */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAEV,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AA+OpB;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,gBAAgB,CAmB3F;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,aAAa,GACnB,gBAAgB,CAQlB;AAsDD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAW/F;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CAClF,CA0BA;AAED,qCAAqC;AACrC,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhF"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAIpB;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,+BAA+B,CAAC;AA8OnE;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,gBAAgB,CAmB3F;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,aAAa,GACnB,gBAAgB,CAQlB;AA8FD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAW/F;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CAClF,CA0BA;AAED,qCAAqC;AACrC,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhF"}
package/dist/config.js CHANGED
@@ -4,9 +4,16 @@ import { providerLabel, VideoGenError } from './errors.js';
4
4
  import { ARK_DEFAULT_BASE_URL } from './providers/ark.js';
5
5
  import { DASHSCOPE_DEFAULT_BASE_URL } from './providers/dashscope.js';
6
6
  import { KLING_DEFAULT_BASE_URL } from './providers/kling.js';
7
+ import { MINIMAX_DEFAULT_BASE_URL } from './providers/minimax.js';
7
8
  import { BUILT_IN_VIDEO_MODELS, findBuiltInModel } from './providers/models.js';
8
9
  import { OPENROUTER_DEFAULT_BASE_URL } from './providers/openrouter.js';
9
10
  const SETTINGS_KEY = 'pi-video-gen';
11
+ /**
12
+ * Fallback model when neither the caller nor settings.defaultModel name one.
13
+ * A full registry id, NOT an alias — aliases can be dropped between versions,
14
+ * the default must not depend on one.
15
+ */
16
+ export const DEFAULT_VIDEO_MODEL_ID = 'doubao-seedance-2-0-260128';
10
17
  /**
11
18
  * Keys a project-level settings file may set. Everything else — notably
12
19
  * `providers.*.baseUrl/apiKey` and `ffmpegPath` — is accepted ONLY from the
@@ -23,6 +30,7 @@ const PROVIDER_DEFAULT_BASE_URLS = {
23
30
  kling: KLING_DEFAULT_BASE_URL,
24
31
  dashscope: DASHSCOPE_DEFAULT_BASE_URL,
25
32
  openrouter: OPENROUTER_DEFAULT_BASE_URL,
33
+ minimax: MINIMAX_DEFAULT_BASE_URL,
26
34
  };
27
35
  /** Resolve the effective base URL, failing clearly when the style mandates one. */
28
36
  function requireBaseUrl(style, configured, settingsPath) {
@@ -101,7 +109,7 @@ function validateCapabilities(value, path) {
101
109
  }
102
110
  }
103
111
  }
104
- const WIRE_FORMATS = ['ark', 'kling', 'dashscope', 'openrouter', 'newapi'];
112
+ const WIRE_FORMATS = ['ark', 'kling', 'dashscope', 'openrouter', 'newapi', 'minimax'];
105
113
  function validateCustomProviders(value) {
106
114
  if (value === undefined)
107
115
  return;
@@ -212,9 +220,13 @@ export function resolveProvider(settings, style) {
212
220
  }
213
221
  /**
214
222
  * Conservative capabilities for custom models declared as a bare string (or
215
- * with a partial capabilities object): text-to-video + first frame only, no
216
- * audio, no last-frame interpolation, 720p/16:9. Declare full capabilities in
217
- * the custom model object to lift these.
223
+ * with a partial capabilities object) whose id matches NO built-in registry
224
+ * entry: text-to-video + first frame only, no audio, no last-frame
225
+ * interpolation, 720p/16:9. Declare full capabilities in the custom model
226
+ * object to lift these. When the id DOES name a built-in model (e.g.
227
+ * "MiniMax-H3" behind a relay), the built-in capability table is the base
228
+ * instead — the remote contract is known, so resolution/duration/ratio
229
+ * defaults come from the registry.
218
230
  */
219
231
  const CONSERVATIVE_CUSTOM_CAPABILITIES = {
220
232
  maxReferenceImages: 1,
@@ -224,6 +236,14 @@ const CONSERVATIVE_CUSTOM_CAPABILITIES = {
224
236
  nativeAudio: false,
225
237
  supportsFirstLastFrame: false,
226
238
  };
239
+ /**
240
+ * Default-value inheritance for custom models: an explicit settings value
241
+ * wins; then the built-in registry default (only while it stays valid against
242
+ * the merged capabilities); finally the caller-supplied fallback.
243
+ */
244
+ function inheritDefault(explicit, builtIn, isValid, fallback) {
245
+ return explicit ?? (builtIn !== undefined && isValid(builtIn) ? builtIn : fallback);
246
+ }
227
247
  function resolveCustomModel(settings, wanted) {
228
248
  const needle = wanted.trim().toLowerCase();
229
249
  for (const [providerName, cp] of Object.entries(settings.customProviders ?? {})) {
@@ -233,16 +253,23 @@ function resolveCustomModel(settings, wanted) {
233
253
  (model.alias != null && model.alias.toLowerCase() === needle);
234
254
  if (!matches)
235
255
  continue;
236
- const capabilities = { ...CONSERVATIVE_CUSTOM_CAPABILITIES, ...(model.capabilities ?? {}) };
256
+ const builtIn = findBuiltInModel(model.id);
257
+ const capabilities = {
258
+ ...(builtIn?.capabilities ?? CONSERVATIVE_CUSTOM_CAPABILITIES),
259
+ ...(model.capabilities ?? {}),
260
+ };
261
+ const defaultResolution = inheritDefault(model.defaultResolution, builtIn?.defaultResolution, (v) => capabilities.resolutions.includes(v), capabilities.resolutions[0]);
262
+ const defaultAspectRatio = inheritDefault(model.defaultAspectRatio, builtIn?.defaultAspectRatio, (v) => capabilities.aspectRatios.includes(v), capabilities.aspectRatios[0]);
263
+ const defaultDurationSec = inheritDefault(model.defaultDurationSec, builtIn?.defaultDurationSec, (v) => v >= capabilities.durations[0] && v <= capabilities.durations[1], capabilities.durations[0]);
237
264
  return {
238
265
  entry: {
239
266
  id: model.id,
240
267
  aliases: model.alias ? [model.alias] : [],
241
268
  provider: cp.api,
242
269
  capabilities,
243
- defaultResolution: model.defaultResolution ?? capabilities.resolutions[0],
244
- defaultAspectRatio: model.defaultAspectRatio ?? capabilities.aspectRatios[0],
245
- defaultDurationSec: model.defaultDurationSec ?? capabilities.durations[0],
270
+ defaultResolution,
271
+ defaultAspectRatio,
272
+ defaultDurationSec,
246
273
  },
247
274
  remoteId: model.id,
248
275
  provider: {
@@ -258,10 +285,11 @@ function resolveCustomModel(settings, wanted) {
258
285
  }
259
286
  /**
260
287
  * Resolve a model id/alias (defaulting to settings.defaultModel, then
261
- * 'seedance'). Built-in registry wins over custom provider models on conflict.
288
+ * DEFAULT_VIDEO_MODEL_ID). Built-in registry wins over custom provider
289
+ * models on conflict.
262
290
  */
263
291
  export function resolveModel(settings, modelId) {
264
- const wanted = modelId ?? settings.defaultModel ?? 'seedance';
292
+ const wanted = modelId ?? settings.defaultModel ?? DEFAULT_VIDEO_MODEL_ID;
265
293
  const entry = findBuiltInModel(wanted);
266
294
  if (entry) {
267
295
  return {
@@ -274,7 +302,7 @@ export function resolveModel(settings, modelId) {
274
302
  }
275
303
  /** Registry view for the video_capabilities tool / `/video-gen models`. */
276
304
  export function listModelRegistry(settings) {
277
- const wanted = settings.defaultModel ?? 'seedance';
305
+ const wanted = settings.defaultModel ?? DEFAULT_VIDEO_MODEL_ID;
278
306
  const active = resolveModel(settings, wanted);
279
307
  return {
280
308
  activeId: active?.entry.id ?? wanted,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;;GAOG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAChB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAKhD;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;CAAG;AAE1D,6EAA6E;AAC7E,qBAAa,sBAAuB,SAAQ,aAAa;CAAG;AAE5D,2EAA2E;AAC3E,qBAAa,qBAAsB,SAAQ,aAAa;IACtD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;gBACrB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;CAIzE;AAED,gFAAgF;AAChF,qBAAa,uBAAwB,SAAQ,aAAa;CAAG;AAE7D,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGnD;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAG1D;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO7C;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAUD,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAE1D;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,MAAM,EACd,UAAU,SAA2C,GACpD,aAAa,CAKf;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,aAAa,CAiBf;AAED,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAKhF"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;;GAOG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAChB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAKhD;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;CAAG;AAE1D,6EAA6E;AAC7E,qBAAa,sBAAuB,SAAQ,aAAa;CAAG;AAE5D,2EAA2E;AAC3E,qBAAa,qBAAsB,SAAQ,aAAa;IACtD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;gBACrB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;CAIzE;AAED,gFAAgF;AAChF,qBAAa,uBAAwB,SAAQ,aAAa;CAAG;AAE7D,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGnD;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAG1D;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO7C;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAWD,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAE1D;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,MAAM,EACd,UAAU,SAA2C,GACpD,aAAa,CAKf;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,aAAa,CAiBf;AAED,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAKhF"}
package/dist/errors.js CHANGED
@@ -70,6 +70,7 @@ const PROVIDER_LABELS = {
70
70
  dashscope: 'DashScope',
71
71
  openrouter: 'OpenRouter',
72
72
  newapi: 'NewAPI',
73
+ minimax: 'MiniMax',
73
74
  };
74
75
  export function providerLabel(style) {
75
76
  return PROVIDER_LABELS[style];
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function readApprovedFrame(sourcePath: string, cwd: string): Promise<Buffer>;
2
+ //# sourceMappingURL=frame-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame-input.d.ts","sourceRoot":"","sources":["../src/frame-input.ts"],"names":[],"mappings":"AA2BA,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwDxF"}
@@ -0,0 +1,63 @@
1
+ import { constants } from 'node:fs';
2
+ import { lstat, open, realpath } from 'node:fs/promises';
3
+ import { isAbsolute, relative, resolve, sep } from 'node:path';
4
+ import { VideoGenError } from './errors.js';
5
+ const MAX_FRAME_BYTES = 20 * 1024 * 1024;
6
+ function isInside(relativePath) {
7
+ return (relativePath === '' ||
8
+ (relativePath !== '..' && !relativePath.startsWith(`..${sep}`) && !isAbsolute(relativePath)));
9
+ }
10
+ function isSupportedImage(bytes) {
11
+ return ((bytes.length >= 8 &&
12
+ Buffer.from(bytes.subarray(0, 8)).equals(Buffer.from([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]))) ||
13
+ (bytes.length >= 3 && bytes[0] === 0xff && bytes[1] === 0xd8 && bytes[2] === 0xff) ||
14
+ (bytes.length >= 12 &&
15
+ Buffer.from(bytes.subarray(0, 4)).toString('ascii') === 'RIFF' &&
16
+ Buffer.from(bytes.subarray(8, 12)).toString('ascii') === 'WEBP'));
17
+ }
18
+ export async function readApprovedFrame(sourcePath, cwd) {
19
+ const absolute = resolve(cwd, sourcePath);
20
+ const lexicalRoot = resolve(cwd);
21
+ const lexicalRelative = relative(lexicalRoot, absolute);
22
+ if (!isInside(lexicalRelative)) {
23
+ throw new VideoGenError('Reference frame must be inside the approved project directory.', 'frame: outside cwd');
24
+ }
25
+ const info = await lstat(absolute).catch(() => null);
26
+ if (!info)
27
+ throw new VideoGenError('Reference frame is not readable.', 'frame: unreadable');
28
+ if (info.isSymbolicLink()) {
29
+ throw new VideoGenError('Reference frame must not be a symlink.', 'frame: symlink');
30
+ }
31
+ if (!info.isFile()) {
32
+ throw new VideoGenError('Reference frame must be a regular file.', 'frame: not regular');
33
+ }
34
+ if (info.size > MAX_FRAME_BYTES) {
35
+ throw new VideoGenError('Reference frame exceeds the size ceiling.', 'frame: too large');
36
+ }
37
+ const root = await realpath(cwd);
38
+ const file = await open(absolute, constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0));
39
+ try {
40
+ const openedInfo = await file.stat();
41
+ if (!openedInfo.isFile() || openedInfo.size > MAX_FRAME_BYTES) {
42
+ throw new VideoGenError('Reference frame is invalid or too large.', 'frame: invalid');
43
+ }
44
+ const canonical = await realpath(absolute);
45
+ const canonicalInfo = await lstat(canonical);
46
+ const canonicalRelative = relative(root, canonical);
47
+ if (!isInside(canonicalRelative)) {
48
+ throw new VideoGenError('Reference frame must be inside the approved project directory.', 'frame: outside cwd');
49
+ }
50
+ if (openedInfo.dev !== canonicalInfo.dev || openedInfo.ino !== canonicalInfo.ino) {
51
+ throw new VideoGenError('Reference frame changed while it was being validated.', 'frame: changed during validation');
52
+ }
53
+ const bytes = await file.readFile();
54
+ if (!isSupportedImage(bytes)) {
55
+ throw new VideoGenError('Reference frame is not a valid image (png, jpg, or webp required).', 'frame: invalid image');
56
+ }
57
+ return bytes;
58
+ }
59
+ finally {
60
+ await file.close();
61
+ }
62
+ }
63
+ //# sourceMappingURL=frame-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame-input.js","sourceRoot":"","sources":["../src/frame-input.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,YAAY,EAGlB,MAAM,iCAAiC,CAAC;AAsJzC,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA29BlE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,YAAY,EAGlB,MAAM,iCAAiC,CAAC;AA2JzC,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAw+BlE"}
package/dist/index.js CHANGED
@@ -1,20 +1,21 @@
1
- import { COPYFILE_EXCL } from 'node:constants';
2
1
  import { createHash } from 'node:crypto';
3
2
  import { existsSync, mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
4
- import { copyFile, readFile, rename } from 'node:fs/promises';
3
+ import { open, readFile, rename } from 'node:fs/promises';
5
4
  import { extname, join, resolve } from 'node:path';
6
5
  import { isProjectTrusted } from '@amaster.ai/pi-shared/settings';
7
6
  import { StringEnum } from '@earendil-works/pi-ai';
8
7
  import { truncateHead, } from '@earendil-works/pi-coding-agent';
9
8
  import { Type } from 'typebox';
10
9
  import { runCompose } from './compose.js';
11
- import { listModelRegistry, loadVideoGenSettings, resolveModel, resolveOutputDir, } from './config.js';
10
+ import { DEFAULT_VIDEO_MODEL_ID, listModelRegistry, loadVideoGenSettings, resolveModel, resolveOutputDir, } from './config.js';
12
11
  import { AmbiguousSubmitError, errorMessageForUser, missingKeyError, providerLabel, RemoteTaskFailedError, RemoteTaskNotFoundError, redactUrl, toLogSummary, } from './errors.js';
13
12
  import { resolveFfmpeg, resolveFfprobe, resolveGplFfmpeg } from './ffmpeg.js';
13
+ import { readApprovedFrame } from './frame-input.js';
14
14
  import { ActiveJobs, assertSafeId, ensureSingleJobDir, loadRenderJob, loadSingleJob, newJobId, readJsonFile, resolveJobDirInsideOutput, saveRenderJob, saveSingleJob, singleJobDir, writeJsonAtomic, } from './jobs/store.js';
15
15
  import { arkAdapter } from './providers/ark.js';
16
16
  import { dashscopeAdapter } from './providers/dashscope.js';
17
17
  import { klingAdapter } from './providers/kling.js';
18
+ import { minimaxAdapter } from './providers/minimax.js';
18
19
  import { newapiAdapter } from './providers/newapi.js';
19
20
  import { openrouterAdapter } from './providers/openrouter.js';
20
21
  import { requestFingerprint } from './providers/request.js';
@@ -27,6 +28,7 @@ const ADAPTERS = {
27
28
  ark: arkAdapter,
28
29
  dashscope: dashscopeAdapter,
29
30
  kling: klingAdapter,
31
+ minimax: minimaxAdapter,
30
32
  newapi: newapiAdapter,
31
33
  openrouter: openrouterAdapter,
32
34
  };
@@ -34,6 +36,7 @@ const ENV_VAR_BY_STYLE = {
34
36
  ark: 'ARK_API_KEY',
35
37
  dashscope: 'DASHSCOPE_API_KEY',
36
38
  kling: 'KLING_API_KEY',
39
+ minimax: 'MINIMAX_API_KEY',
37
40
  newapi: 'NEWAPI_API_KEY',
38
41
  openrouter: 'OPENROUTER_API_KEY',
39
42
  };
@@ -68,12 +71,12 @@ function buildGenerateParams(caps) {
68
71
  description: 'Text prompt for the clip. Describe subject, motion, and camera. When the active model has nativeAudio, append audio cues (e.g. "[Sound Effect] rain; [Speaker] Alice (soft): line").',
69
72
  }),
70
73
  firstFrame: Type.Optional(Type.String({
71
- description: 'Path to a first-frame reference image (png/jpg/webp), absolute or relative to the session cwd.',
74
+ description: 'Path to a regular png/jpg/webp first-frame image inside the session cwd. The path may be absolute or relative; symlinks and paths outside cwd are rejected.',
72
75
  })),
73
76
  ...(caps?.supportsFirstLastFrame
74
77
  ? {
75
78
  lastFrame: Type.Optional(Type.String({
76
- description: 'Path to a last-frame reference image for first+last-frame interpolation.',
79
+ description: 'Path to a regular png/jpg/webp last-frame image inside the session cwd for first+last-frame interpolation.',
77
80
  })),
78
81
  }
79
82
  : {}),
@@ -105,7 +108,8 @@ export default function piVideoGenExtension(pi) {
105
108
  * record its content hash — a paid task must be provably tied to the exact
106
109
  * image BYTES submitted, not just a path (decision 19②⑤⑧).
107
110
  */
108
- const snapshotFrame = async (jobDir, sourcePath, label) => {
111
+ const snapshotFrame = async (jobDir, sourcePath, label, cwd) => {
112
+ const bytes = await readApprovedFrame(sourcePath, cwd);
109
113
  const ext = extname(sourcePath) || '.png';
110
114
  const rel = join('assets', `${label}${ext}`);
111
115
  const dest = join(jobDir, rel);
@@ -114,7 +118,13 @@ export default function piVideoGenExtension(pi) {
114
118
  for (let i = 0;; i++) {
115
119
  const candidate = `${dest}.tmp-${process.pid}-${i}`;
116
120
  try {
117
- await copyFile(sourcePath, candidate, COPYFILE_EXCL);
121
+ const file = await open(candidate, 'wx');
122
+ try {
123
+ await file.writeFile(bytes);
124
+ }
125
+ finally {
126
+ await file.close();
127
+ }
118
128
  tmp = candidate;
119
129
  break;
120
130
  }
@@ -131,7 +141,7 @@ export default function piVideoGenExtension(pi) {
131
141
  const runGenerate = async (toolParams, ctx, signal, onUpdate) => {
132
142
  const resolved = resolveModel(settings);
133
143
  if (!resolved) {
134
- return errResult(`Cannot resolve model "${settings.defaultModel ?? 'seedance'}" against the built-in registry. Run /video-gen models to see available ids and aliases, or fix "pi-video-gen.defaultModel" in settings.`);
144
+ return errResult(`Cannot resolve model "${settings.defaultModel ?? DEFAULT_VIDEO_MODEL_ID}" against the built-in registry. Run /video-gen models to see available ids and aliases, or fix "pi-video-gen.defaultModel" in settings.`);
135
145
  }
136
146
  const caps = resolved.entry.capabilities;
137
147
  const adapter = ADAPTERS[resolved.provider.style];
@@ -258,19 +268,19 @@ export default function piVideoGenExtension(pi) {
258
268
  const frameHashes = {};
259
269
  try {
260
270
  if (params.firstFramePath) {
261
- const snap = await snapshotFrame(jobDir, params.firstFramePath, 'first_frame');
271
+ const snap = await snapshotFrame(jobDir, params.firstFramePath, 'first_frame', ctx.cwd);
262
272
  frameHashes[snap.rel] = snap.hash;
263
273
  params.firstFramePath = join(jobDir, snap.rel);
264
274
  }
265
275
  if (params.lastFramePath) {
266
- const snap = await snapshotFrame(jobDir, params.lastFramePath, 'last_frame');
276
+ const snap = await snapshotFrame(jobDir, params.lastFramePath, 'last_frame', ctx.cwd);
267
277
  frameHashes[snap.rel] = snap.hash;
268
278
  params.lastFramePath = join(jobDir, snap.rel);
269
279
  }
270
280
  if (params.referenceImagePaths?.length) {
271
281
  const frozenRefs = [];
272
282
  for (let i = 0; i < params.referenceImagePaths.length; i++) {
273
- const snap = await snapshotFrame(jobDir, params.referenceImagePaths[i], `ref_${i}`);
283
+ const snap = await snapshotFrame(jobDir, params.referenceImagePaths[i], `ref_${i}`, ctx.cwd);
274
284
  frameHashes[snap.rel] = snap.hash;
275
285
  frozenRefs.push(join(jobDir, snap.rel));
276
286
  }
@@ -278,7 +288,7 @@ export default function piVideoGenExtension(pi) {
278
288
  }
279
289
  }
280
290
  catch {
281
- return errResult('A reference frame is not readable. Use the absolute path returned by image_generate, or an existing png/jpg/webp file.');
291
+ return errResult('A reference frame is not readable. Use an image_generate result inside the session cwd, or an existing png/jpg/webp file under cwd.');
282
292
  }
283
293
  writeJsonAtomic(`${jobDir}/input.json`, { model: resolved.remoteId, ...params });
284
294
  await rateLimiter.acquire(signal);
@@ -446,7 +456,7 @@ export default function piVideoGenExtension(pi) {
446
456
  try {
447
457
  const resolved = resolveModel(settings);
448
458
  if (!resolved) {
449
- return errResult(`Cannot resolve model "${settings.defaultModel ?? 'seedance'}". Run /video-gen models, or fix pi-video-gen.defaultModel.`);
459
+ return errResult(`Cannot resolve model "${settings.defaultModel ?? DEFAULT_VIDEO_MODEL_ID}". Run /video-gen models, or fix pi-video-gen.defaultModel.`);
450
460
  }
451
461
  const adapter = ADAPTERS[resolved.provider.style];
452
462
  if (!adapter) {
@@ -542,6 +552,7 @@ export default function piVideoGenExtension(pi) {
542
552
  'For timeline: each segment contains exactly one image or video. Video uses numeric durationSec with optional trimStartSec, fit, and sourceAudio; image may use auto duration and motion.',
543
553
  'Reuse existing images/screenshots/clips first and generate only missing visuals with image_generate. Put Chinese titles in overlay and use subtitles.mode "burn" when narration subtitles must appear directly in the frames.',
544
554
  'Timeline TTS failures stop by default. Set ttsFailureMode "silent-subtitles" in timeline-input.json only after the user explicitly accepts silent audio with preserved subtitles.',
555
+ 'Narration is not fully local: require an explicit voice such as "edge-tts:zh-CN-YunyangNeural" only after disclosing that narration text is sent to Microsoft Edge TTS.',
545
556
  'Local compute — no paid-model confirmation needed, but tell the user the segment/clip count and planned duration before calling.',
546
557
  'The spec is immutable per job directory: rerunning the same path resumes identical input; changing input means a NEW job directory.',
547
558
  ],
@@ -772,7 +783,7 @@ export default function piVideoGenExtension(pi) {
772
783
  // 1. video provider key + model resolution
773
784
  const resolved = resolveModel(settings);
774
785
  if (!resolved) {
775
- checks.push(`❌ defaultModel "${settings.defaultModel ?? 'seedance'}" not in registry — fix pi-video-gen.defaultModel`);
786
+ checks.push(`❌ defaultModel "${settings.defaultModel ?? DEFAULT_VIDEO_MODEL_ID}" not in registry — fix pi-video-gen.defaultModel`);
776
787
  }
777
788
  else {
778
789
  const label = providerLabel(resolved.provider.style);