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

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/dist/index.js CHANGED
@@ -12,13 +12,14 @@ import { AmbiguousSubmitError, errorMessageForUser, missingKeyError, providerLab
12
12
  import { resolveFfmpeg, resolveFfprobe, resolveGplFfmpeg } from './ffmpeg.js';
13
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
+ import { assemblePrompt, validateFilmPrompt, validateShotPrompt } from './prompt.js';
15
16
  import { arkAdapter } from './providers/ark.js';
16
17
  import { dashscopeAdapter } from './providers/dashscope.js';
17
18
  import { klingAdapter } from './providers/kling.js';
18
19
  import { minimaxAdapter } from './providers/minimax.js';
19
20
  import { newapiAdapter } from './providers/newapi.js';
20
21
  import { openrouterAdapter } from './providers/openrouter.js';
21
- import { requestFingerprint } from './providers/request.js';
22
+ import { normalizeReferenceAssets, referenceAssetPreflightError, requestFingerprint, } from './providers/request.js';
22
23
  import { CancelledError, pollTask, RateLimiter } from './providers/task.js';
23
24
  import { runRender } from './render.js';
24
25
  import { hasCjkFont } from './text-layer.js';
@@ -64,12 +65,76 @@ function boundDetails(details) {
64
65
  return { truncated: true };
65
66
  }
66
67
  }
68
+ /**
69
+ * Parse `--key value` / `--key "quoted value"` flags for `/video-gen generate`.
70
+ * Quoted values may escape their delimiter quote (and backslash) with `\`.
71
+ */
72
+ function parseGenerateFlags(text) {
73
+ const flags = {};
74
+ const re = /--([a-z][a-z-]*)\s+("((?:[^"\\]|\\.)*)"|'((?:[^'\\]|\\.)*)'|(\S+))/g;
75
+ let covered = 0;
76
+ for (let m = re.exec(text); m !== null; m = re.exec(text)) {
77
+ const gap = text.slice(covered, m.index).trim();
78
+ if (gap !== '') {
79
+ return { error: `Unrecognized text "${gap}" — use --key "value" flags.` };
80
+ }
81
+ const quoted = m[3] ?? m[4];
82
+ const bare = m[5];
83
+ // A bare value starting with a quote char means an unterminated quote — the
84
+ // quoted alternative needed a closer, so `--visuals "wide` must not slide
85
+ // through as the literal value `"wide` into a paid request.
86
+ if (bare !== undefined && (bare.startsWith('"') || bare.startsWith("'"))) {
87
+ return {
88
+ error: `Unterminated quoted value for --${m[1]} (${bare}…). Close the quote, or escape it as \\${bare[0]}.`,
89
+ };
90
+ }
91
+ flags[m[1]] = quoted !== undefined ? quoted.replace(/\\(["'\\])/g, '$1') : (bare ?? '');
92
+ covered = m.index + m[0].length;
93
+ }
94
+ const tail = text.slice(covered).trim();
95
+ if (tail !== '') {
96
+ return { error: `Unrecognized text "${tail}" — use --key "value" flags.` };
97
+ }
98
+ return { flags };
99
+ }
67
100
  /** Capability-driven schema for video_generate (mirrors pi-image-gen's approach). */
68
101
  function buildGenerateParams(caps) {
69
102
  return Type.Object({
70
- prompt: Type.String({
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").',
72
- }),
103
+ prompt: Type.Optional(Type.Object({
104
+ scene: Type.Optional(Type.String({
105
+ description: 'Setting of the clip. REQUIRED when no firstFrame is passed (text-to-video).',
106
+ })),
107
+ visuals: Type.String({
108
+ description: 'Camera, framing, composition (e.g. "Slow push-in from medium shot to close-up, shallow depth of field").',
109
+ }),
110
+ action: Type.String({ description: 'In-frame action/movement.' }),
111
+ effects: Type.Optional(Type.String({
112
+ description: 'Time-varying visuals a static frame cannot carry: transformations, lighting shifts, particles, atmosphere.',
113
+ })),
114
+ audio: Type.Optional(Type.String({
115
+ description: 'Audio cues when the active model has nativeAudio (e.g. "[Sound Effect] rain; [Speaker] Alice (soft): line").',
116
+ })),
117
+ visibleCharacters: Type.Optional(Type.Array(Type.String(), {
118
+ description: 'Ids of characters (from the characters param) appearing in this clip.',
119
+ })),
120
+ }, {
121
+ description: 'Structured per-shot prompt. Fields are assembled into labeled sections ([Scene]/[Visuals]/[Action]/[Effects]/[Audio]) — write content, not a pre-joined string. Required for a fresh generation; omit when resuming an interrupted job via jobId.',
122
+ })),
123
+ style: Type.Optional(Type.String({
124
+ description: 'Film-level look: genre, quality, render texture (e.g. "cinematic, 8K, shallow DoF, film grain"). REQUIRED when no firstFrame is passed.',
125
+ })),
126
+ characters: Type.Optional(Type.Array(Type.Object({
127
+ id: Type.String(),
128
+ description: Type.String({ description: 'Appearance + outfit.' }),
129
+ }), {
130
+ description: 'Reusable character registry; shots inline a character via prompt.visibleCharacters.',
131
+ })),
132
+ consistency: Type.Optional(Type.String({
133
+ description: 'Consistency directive appended to the prompt (e.g. "Face, hair and outfit stay identical throughout, no morphing or drift").',
134
+ })),
135
+ negative: Type.Optional(Type.String({
136
+ description: 'Negative directive (e.g. "no text, watermarks, or subtitles").',
137
+ })),
73
138
  firstFrame: Type.Optional(Type.String({
74
139
  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.',
75
140
  })),
@@ -80,6 +145,18 @@ function buildGenerateParams(caps) {
80
145
  })),
81
146
  }
82
147
  : {}),
148
+ ...(caps?.referenceAssetModalities?.length
149
+ ? {
150
+ referenceAssets: Type.Optional(Type.Array(Type.Object({
151
+ modality: StringEnum(caps.referenceAssetModalities),
152
+ assetId: Type.String({
153
+ description: 'Asset ID from the current provider account/project. Accepts asset-... or asset://asset-....',
154
+ }),
155
+ }), {
156
+ description: 'Provider-managed trusted assets in prompt-numbering order. In the prompt refer to Image 1, Video 1, or Audio 1; never write the Asset ID.',
157
+ })),
158
+ }
159
+ : {}),
83
160
  durationSec: Type.Optional(Type.Integer({
84
161
  ...(caps ? { minimum: caps.durations[0], maximum: caps.durations[1] } : {}),
85
162
  description: caps
@@ -151,20 +228,27 @@ export default function piVideoGenExtension(pi) {
151
228
  if (!resolved.provider.apiKey) {
152
229
  return errResult(missingKeyError(resolved.provider.style, ENV_VAR_BY_STYLE[resolved.provider.style], resolved.provider.apiKeyPath).message);
153
230
  }
154
- // Map tool params → internal params, applying model defaults. (A raw cast
155
- // here silently DROPPED firstFrame/lastFrame and defaulted resolution,
156
- // duration, ratio and audio — turning paid requests into silent t2v.)
157
- const params = {
158
- prompt: toolParams.prompt,
159
- firstFramePath: toolParams.firstFrame ? resolve(ctx.cwd, toolParams.firstFrame) : undefined,
160
- lastFramePath: toolParams.lastFrame ? resolve(ctx.cwd, toolParams.lastFrame) : undefined,
161
- referenceImagePaths: toolParams.referenceImages?.map((p) => resolve(ctx.cwd, p)),
162
- durationSec: toolParams.durationSec ?? resolved.entry.defaultDurationSec,
163
- aspectRatio: toolParams.aspectRatio ?? resolved.entry.defaultAspectRatio,
164
- resolution: resolved.entry.defaultResolution,
165
- generateAudio: caps.nativeAudio,
166
- };
167
- if (toolParams.lastFrame && !caps.supportsFirstLastFrame) {
231
+ // Trim-normalized once — validation, capability checks and the submit
232
+ // mapping must all agree on whether a frame is present.
233
+ const firstFrame = toolParams.firstFrame?.trim();
234
+ const lastFrame = toolParams.lastFrame?.trim();
235
+ let referenceAssets = [];
236
+ try {
237
+ referenceAssets = normalizeReferenceAssets(toolParams.referenceAssets);
238
+ }
239
+ catch (error) {
240
+ return errResult(errorMessageForUser(error));
241
+ }
242
+ // Structured prompt validation happens only on fresh submits — the resume
243
+ // path (jobId) re-polls a frozen request and never re-reads the prompt.
244
+ if (!toolParams.jobId) {
245
+ const promptError = validateFilmPrompt(toolParams, 'video_generate') ??
246
+ validateShotPrompt(toolParams, toolParams.prompt, { hasFirstFrame: !!firstFrame }, 'prompt');
247
+ if (promptError) {
248
+ return errResult(promptError);
249
+ }
250
+ }
251
+ if (lastFrame && !caps.supportsFirstLastFrame) {
168
252
  return errResult(`The active model (${resolved.entry.id}) does not support last-frame interpolation. Remove lastFrame, or switch models (/video-gen models).`);
169
253
  }
170
254
  if (toolParams.durationSec != null &&
@@ -176,15 +260,23 @@ export default function piVideoGenExtension(pi) {
176
260
  }
177
261
  return errResult(`durationSec must be ${caps.durations[0]}-${caps.durations[1]}s for ${resolved.entry.id} (got ${toolParams.durationSec}).`);
178
262
  }
263
+ // Reject empty-string ratio before the truthy capability check — "" would
264
+ // skip the check yet survive `??` into the fingerprint and paid request.
265
+ if (toolParams.aspectRatio !== undefined && toolParams.aspectRatio.trim() === '') {
266
+ return errResult('aspectRatio must be a non-empty string when passed (e.g. "16:9").');
267
+ }
179
268
  if (toolParams.aspectRatio && !caps.aspectRatios.includes(toolParams.aspectRatio)) {
180
269
  return errResult(`aspectRatio must be one of ${caps.aspectRatios.join(', ')} for ${resolved.entry.id} (got ${toolParams.aspectRatio}).`);
181
270
  }
182
- const totalRefs = (toolParams.firstFrame ? 1 : 0) +
183
- (toolParams.lastFrame ? 1 : 0) +
184
- (toolParams.referenceImages?.length ?? 0);
185
- if (totalRefs > caps.maxReferenceImages) {
186
- return errResult(`Too many reference images (${totalRefs}) — ${resolved.entry.id} accepts at most ${caps.maxReferenceImages} total (frames + references).`);
187
- }
271
+ const referenceError = referenceAssetPreflightError({
272
+ providerStyle: resolved.provider.style,
273
+ modelId: resolved.entry.id,
274
+ capabilities: caps,
275
+ referenceAssets,
276
+ localImageReferences: (firstFrame ? 1 : 0) + (lastFrame ? 1 : 0) + (toolParams.referenceImages?.length ?? 0),
277
+ });
278
+ if (referenceError)
279
+ return errResult(referenceError);
188
280
  const outputDir = resolveOutputDir(settings, ctx.cwd);
189
281
  // Resume path: a job id means "keep polling the persisted handle", never re-submit.
190
282
  if (toolParams.jobId) {
@@ -260,6 +352,22 @@ export default function piVideoGenExtension(pi) {
260
352
  }
261
353
  const jobId = newJobId('gen');
262
354
  const jobDir = ensureSingleJobDir(outputDir, jobId);
355
+ // Map tool params → internal params, applying model defaults. (A raw cast
356
+ // here silently DROPPED firstFrame/lastFrame and defaulted resolution,
357
+ // duration, ratio and audio — turning paid requests into silent t2v.)
358
+ const params = {
359
+ // prompt is present here: fresh submits were validated above, and the
360
+ // resume branch (jobId) has already returned.
361
+ prompt: assemblePrompt(toolParams, toolParams.prompt),
362
+ firstFramePath: firstFrame ? resolve(ctx.cwd, firstFrame) : undefined,
363
+ lastFramePath: lastFrame ? resolve(ctx.cwd, lastFrame) : undefined,
364
+ referenceImagePaths: toolParams.referenceImages?.map((p) => resolve(ctx.cwd, p)),
365
+ referenceAssets,
366
+ durationSec: toolParams.durationSec ?? resolved.entry.defaultDurationSec,
367
+ aspectRatio: toolParams.aspectRatio ?? resolved.entry.defaultAspectRatio,
368
+ resolution: resolved.entry.defaultResolution,
369
+ generateAudio: caps.nativeAudio,
370
+ };
263
371
  params.requestId = jobId;
264
372
  const release = activeJobs.acquire(jobDir);
265
373
  try {
@@ -503,7 +611,7 @@ export default function piVideoGenExtension(pi) {
503
611
  ];
504
612
  if (resolved) {
505
613
  const c = resolved.entry.capabilities;
506
- lines.push(`Provider: ${resolved.provider.style} (key ${resolved.provider.apiKey ? 'ready' : 'MISSING'})`, `Durations: ${c.durations[0]}-${c.durations[1]}s; Resolutions: ${c.resolutions.join('/')}; Aspect ratios: ${c.aspectRatios.join(', ')}`, `Native audio: ${c.nativeAudio ? 'yes' : 'no'}; First+last frame: ${c.supportsFirstLastFrame ? 'yes' : 'no'}; Max reference images: ${c.maxReferenceImages}`);
614
+ lines.push(`Provider: ${resolved.provider.style} (key ${resolved.provider.apiKey ? 'ready' : 'MISSING'})`, `Durations: ${c.durations[0]}-${c.durations[1]}s; Resolutions: ${c.resolutions.join('/')}; Aspect ratios: ${c.aspectRatios.join(', ')}`, `Native audio: ${c.nativeAudio ? 'yes' : 'no'}; First+last frame: ${c.supportsFirstLastFrame ? 'yes' : 'no'}; Max reference images: ${c.maxReferenceImages}`, `Trusted asset references: ${resolved.provider.style === 'ark' ? c.referenceAssetModalities?.join(', ') || 'none' : 'none'}; Max videos: ${c.maxReferenceVideos ?? 0}; Max audios: ${c.maxReferenceAudios ?? 0}`);
507
615
  }
508
616
  lines.push('Registered models:');
509
617
  for (const m of info.models) {
@@ -512,18 +620,25 @@ export default function piVideoGenExtension(pi) {
512
620
  return lines.join('\n');
513
621
  };
514
622
  const registerTools = () => {
515
- const caps = resolveModel(settings)?.entry.capabilities ?? null;
623
+ const active = resolveModel(settings);
624
+ const caps = active?.entry.capabilities ?? null;
625
+ const schemaCaps = caps && active?.provider.style !== 'ark'
626
+ ? { ...caps, referenceAssetModalities: undefined }
627
+ : caps;
516
628
  pi.registerTool({
517
629
  name: 'video_generate',
518
630
  label: 'Generate Video Clip',
519
- description: 'Generate a single short video clip (one shot) from a text prompt, optionally anchored by first/last frame images. Paid, slow (minutes per clip). For multi-shot videos, use the video-gen skill workflow instead of calling this repeatedly.',
520
- parameters: buildGenerateParams(caps),
521
- promptSnippet: 'Generate one short video clip (paid, minutes) via the active video model',
631
+ description: 'Generate a single short video clip (one shot) from a structured prompt, optionally anchored by first/last frames or provider-managed trusted assets. Paid, slow (minutes per clip). For multi-shot videos, use the video-gen skill workflow instead of calling this repeatedly.',
632
+ parameters: buildGenerateParams(schemaCaps),
633
+ promptSnippet: 'Generate one short video clip (paid, minutes) from a structured prompt via the active video model',
522
634
  promptGuidelines: [
523
635
  "Before composing prompts for a video task, call video_capabilities to learn the active model's duration range, aspect ratios, audio support, and first/last-frame support — do not assume.",
636
+ 'Fill the structured prompt fields; never a pre-joined string. visuals + action are always required; style + scene are required when no firstFrame anchors the clip; use effects for transformations or lighting shifts a static frame cannot carry.',
524
637
  'Video generation is paid and slow. State the expected clip count and duration to the user and get explicit confirmation before the first call.',
525
638
  'Only pass lastFrame when the user needs first+last-frame interpolation and the active model supports it.',
526
- 'If a call is interrupted, resume with the returned jobId instead of submitting a new task (avoids double billing).',
639
+ 'For Seedance references containing recognizable real people, use a preset-avatar or authorized-person Asset ID from the current account/project. Pass it through referenceAssets and refer to it in the prompt as Image 1, Video 1, or Audio 1 — never as the Asset ID.',
640
+ 'Treat user approval as scoped to the exact asset list, provider/account context, model, clip count, and duration; ask again when any of those change.',
641
+ 'If a call is interrupted, resume with the returned jobId instead of submitting a new task (avoids double billing); prompt is not needed on resume.',
527
642
  'If submit is reported as ambiguous, do not start another generation until the provider console confirms that no paid task exists.',
528
643
  ],
529
644
  async execute(_toolCallId, params, signal, onUpdate, ctx) {
@@ -563,7 +678,7 @@ export default function piVideoGenExtension(pi) {
563
678
  pi.registerTool({
564
679
  name: 'video_render',
565
680
  label: 'Render Multi-Shot Video',
566
- description: 'Render a multi-shot video from <jobDir>/render-input.json: submits one paid video task per shot (resuming persisted handles on rerun — finished shots never re-bill), downloads clips, and concatenates them into final_video.mp4. Foreground, reports progress; cancelling stops locally (remote tasks may keep billing). Frames must already exist (generate them with image_generate first).',
681
+ description: 'Render a multi-shot video from <jobDir>/render-input.json: each shot requires a local first frame or at least one provider-managed trusted asset. Submits one paid task per shot (resuming persisted handles on rerun), downloads clips, and concatenates them into final_video.mp4.',
567
682
  parameters: Type.Object({
568
683
  renderSpecPath: Type.String({
569
684
  description: 'Path to <jobDir>/render-input.json. The parent directory must live under the video-gen output dir and acts as the (immutable) job. Rerunning the same path resumes; revisions require a NEW job directory.',
@@ -574,8 +689,9 @@ export default function piVideoGenExtension(pi) {
574
689
  }),
575
690
  promptSnippet: 'Render a prepared multi-shot video spec (paid, long-running) into a final mp4',
576
691
  promptGuidelines: [
577
- 'Call ONLY after the user explicitly confirmed rendering: frames ready, shot count and cost magnitude stated.',
578
- 'Generate all frames first via image_generate (pi-image-gen) and record their returned absolute paths in the render spec.',
692
+ 'Call ONLY after the user explicitly confirmed rendering: exact local frames/trusted assets ready, shot count, durations, provider/account context, and cost magnitude stated.',
693
+ 'For each shot, either generate required local frames via image_generate and record their returned paths, or pass current-account provider assets in referenceAssets. Recognizable real-person references sent to Seedance must use preset-avatar or authorized-person assets.',
694
+ 'render-input.json carries structured prompts: film-level style/characters/consistency/negative, per-shot prompt.{scene,visuals,action,effects,audio,visibleCharacters} — the plugin assembles the labeled prompt text; never pre-join a prompt string.',
579
695
  'The spec is immutable per job directory: rerunning the same path resumes identical input; revisions go in a NEW job directory.',
580
696
  'Interrupting stops locally only — remote tasks may keep billing; rerun the same spec path to resume after they finish.',
581
697
  ],
@@ -586,7 +702,7 @@ export default function piVideoGenExtension(pi) {
586
702
  pi.registerTool({
587
703
  name: 'video_capabilities',
588
704
  label: 'Video Model Capabilities',
589
- description: "Read-only: list the active video model's capabilities (duration range, resolutions, aspect ratios, native audio, first/last-frame support) and the registered models. Call before composing video prompts or shot books.",
705
+ description: "Read-only: list the active video model's capabilities (duration range, resolutions, aspect ratios, native audio, first/last-frame support, trusted asset modalities) and the registered models. Call before composing video prompts or shot books.",
590
706
  parameters: Type.Object({}),
591
707
  promptSnippet: 'Show active video model capabilities and registered models',
592
708
  async execute() {
@@ -599,17 +715,78 @@ export default function piVideoGenExtension(pi) {
599
715
  registerTools();
600
716
  });
601
717
  pi.registerCommand('video-gen', {
602
- description: 'pi-video-gen: /video-gen [generate <prompt>|render <spec>|compose <spec>|recover <jobId>|models|reload|doctor]',
718
+ description: 'pi-video-gen: /video-gen [generate --visuals ".." --action ".." [--style .. --scene .. --asset-images asset-...]|render <spec>|compose <spec>|recover <jobId>|models|reload|doctor]',
603
719
  handler: async (args, ctx) => {
604
720
  const tokens = (args ?? '').trim().split(/\s+/).filter(Boolean);
605
721
  const sub = tokens[0];
606
722
  if (sub === 'generate') {
607
- const prompt = tokens.slice(1).join(' ').trim();
608
- if (!prompt) {
609
- ctx.ui.notify('Usage: /video-gen generate <prompt>', 'error');
723
+ const parsed = parseGenerateFlags((args ?? '').trim().slice('generate'.length));
724
+ if ('error' in parsed || Object.keys(parsed.flags).length === 0) {
725
+ ctx.ui.notify(`${'error' in parsed ? `${parsed.error} ` : ''}Usage: /video-gen generate --visuals "..." --action "..." [--style "..."] [--scene "..."] [--effects "..."] [--audio "..."] [--consistency "..."] [--negative "..."] [--first-frame <path>] [--last-frame <path>] [--asset-images <id,id>] [--asset-videos <id,id>] [--asset-audios <id,id>] [--duration <sec>] [--ratio <ratio>]`, 'error');
610
726
  return;
611
727
  }
612
- const result = await runGenerate({ prompt }, ctx, ctx.signal);
728
+ const f = parsed.flags;
729
+ const known = new Set([
730
+ 'style',
731
+ 'scene',
732
+ 'visuals',
733
+ 'action',
734
+ 'effects',
735
+ 'audio',
736
+ 'consistency',
737
+ 'negative',
738
+ 'first-frame',
739
+ 'last-frame',
740
+ 'asset-images',
741
+ 'asset-videos',
742
+ 'asset-audios',
743
+ 'duration',
744
+ 'ratio',
745
+ ]);
746
+ const unknown = Object.keys(f).filter((k) => !known.has(k));
747
+ if (unknown.length > 0) {
748
+ ctx.ui.notify(`Unknown flag(s): ${unknown.map((k) => `--${k}`).join(', ')}.`, 'error');
749
+ return;
750
+ }
751
+ const durationSec = f.duration !== undefined ? Number(f.duration) : undefined;
752
+ if (durationSec !== undefined && !Number.isInteger(durationSec)) {
753
+ ctx.ui.notify(`--duration must be an integer number of seconds (got "${f.duration}").`, 'error');
754
+ return;
755
+ }
756
+ const referenceAssets = [];
757
+ for (const [flag, modality] of [
758
+ ['asset-images', 'image'],
759
+ ['asset-videos', 'video'],
760
+ ['asset-audios', 'audio'],
761
+ ]) {
762
+ if (f[flag] === undefined)
763
+ continue;
764
+ const ids = f[flag].split(',')
765
+ .map((id) => id.trim())
766
+ .filter(Boolean);
767
+ if (ids.length === 0) {
768
+ ctx.ui.notify(`--${flag} must contain at least one Asset ID.`, 'error');
769
+ return;
770
+ }
771
+ referenceAssets.push(...ids.map((assetId) => ({ modality, assetId })));
772
+ }
773
+ const result = await runGenerate({
774
+ style: f.style,
775
+ consistency: f.consistency,
776
+ negative: f.negative,
777
+ prompt: {
778
+ scene: f.scene,
779
+ visuals: f.visuals ?? '',
780
+ action: f.action ?? '',
781
+ effects: f.effects,
782
+ audio: f.audio,
783
+ },
784
+ firstFrame: f['first-frame'],
785
+ lastFrame: f['last-frame'],
786
+ referenceAssets,
787
+ durationSec,
788
+ aspectRatio: f.ratio,
789
+ }, ctx, ctx.signal);
613
790
  ctx.ui.notify(result.content[0].text, result.isError ? 'error' : 'info');
614
791
  return;
615
792
  }
@@ -775,7 +952,7 @@ export default function piVideoGenExtension(pi) {
775
952
  ctx.ui.notify(result.content[0].text, 'info');
776
953
  return;
777
954
  }
778
- ctx.ui.notify('pi-video-gen commands:\n /video-gen generate <prompt> Generate a single clip\n /video-gen render <spec> Render a multi-shot video\n /video-gen compose <spec> Concat clips or render an image/TTS timeline\n /video-gen recover <jobId> Resolve ambiguous shots (reset/adopt)\n /video-gen models List registered models\n /video-gen reload Reload settings\n /video-gen doctor Check environment (ffmpeg, CJK fonts, keys, image_generate, output dir)', 'info');
955
+ ctx.ui.notify('pi-video-gen commands:\n /video-gen generate --visuals ".." --action ".." [--style ".." --scene ".."] Generate a single clip\n /video-gen render <spec> Render a multi-shot video\n /video-gen compose <spec> Concat clips or render an image/TTS timeline\n /video-gen recover <jobId> Resolve ambiguous shots (reset/adopt)\n /video-gen models List registered models\n /video-gen reload Reload settings\n /video-gen doctor Check environment (ffmpeg, CJK fonts, keys, image_generate, output dir)', 'info');
779
956
  },
780
957
  });
781
958
  function runDoctor(ctx) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/jobs/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/jobs/store.ts"],"names":[],"mappings":"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"}
@@ -206,15 +206,13 @@ function validateRenderManifest(raw, path) {
206
206
  if (broken) {
207
207
  throw new VideoGenError(`${safeBasename(path)} is not a valid render manifest (wrong shape). Refusing to resume — move it aside and start a new job. Rerunning as-is would re-bill all shots.`, 'store: manifest shape invalid');
208
208
  }
209
- // frameHashes must actually COVER the shots: an empty or sparse map lets
210
- // resume skip every frozen-frame check and run paid requests on untrusted
211
- // input. Every shot has at least a first frame.
209
+ // Every recorded hash must be valid. Exact coverage cannot be inferred from
210
+ // the manifest alone because asset-only shots have no local frames;
211
+ // runRender compares this map with the immutable spec before any submit.
212
212
  const frameHashEntries = Object.entries(m.frameHashes);
213
- const shotsCount = Object.keys(m.shots).length;
214
- const hashesInvalid = frameHashEntries.length < shotsCount ||
215
- frameHashEntries.some(([, hash]) => typeof hash !== 'string' || !/^[0-9a-f]{64}$/.test(hash));
213
+ const hashesInvalid = frameHashEntries.some(([, hash]) => typeof hash !== 'string' || !/^[0-9a-f]{64}$/.test(hash));
216
214
  if (hashesInvalid) {
217
- throw new VideoGenError(`${safeBasename(path)} has incomplete frame hashes (${frameHashEntries.length} for ${shotsCount} shots). Refusing to resume — the frozen frames cannot be verified.`, 'store: frameHashes invalid');
215
+ throw new VideoGenError(`${safeBasename(path)} has an invalid frame hash. Refusing to resume — the frozen frames cannot be verified.`, 'store: frameHashes invalid');
218
216
  }
219
217
  // Per-shot validation: a shot marked 'submitted' WITHOUT its remote handle
220
218
  // would be re-submitted on resume — a paid duplicate. Refuse truncated