@slatesvideo/shared 0.5.6 → 0.5.7
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.d.ts +1 -1
- package/dist/index.js +4 -1
- package/dist/operations/index.d.ts +43 -36
- package/dist/operations/index.js +289 -262
- package/dist/prompts/model-facts.d.ts +42 -0
- package/dist/prompts/model-facts.js +88 -18
- package/dist/prompts/prompting-tips.d.ts +1 -1
- package/dist/prompts/prompting-tips.js +108 -99
- package/dist/prompts/reference-composer.d.ts +21 -3
- package/dist/prompts/reference-composer.js +80 -10
- package/dist/skills/content.js +7 -7
- package/exports/slates-prompt-builder/generated/SKILL.md +2 -2
- package/exports/slates-prompt-builder/generated/reference-seedance.md +12 -1
- package/exports/slates-prompt-builder/generated/slates-prompt-builder-manifest.json +8 -8
- package/exports/slates-prompt-builder/generated/slates-prompt-builder.skill +0 -0
- package/package.json +1 -1
- package/skills/slates-model-selection.md +21 -19
- package/skills/slates-prompting-elevenlabs.md +16 -78
- package/skills/slates-prompting-lip-sync.md +12 -14
- package/skills/slates-prompting-motion-transfer.md +18 -14
- package/skills/slates-prompting-seed-audio.md +2 -2
- package/skills/slates-prompting-seedance-2-5.md +215 -0
- package/skills/slates-prompting-seedance.md +17 -1
- package/skills/slates-prompting-suno.md +0 -110
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,6 @@ export { SlatesDesktopClient, type DesktopHealth } from './clients/desktop.js';
|
|
|
4
4
|
export { SKILLS } from './skills/content.js';
|
|
5
5
|
export * as operations from './operations/index.js';
|
|
6
6
|
export { ALL_OPERATIONS, VIDEO_MODELS, AUDIO_MODELS, defaultContext, type Operation, type OperationContext, type OperationResult } from './operations/index.js';
|
|
7
|
-
export { MODEL_FACTS, getModelFact, type ModelFact } from './prompts/model-facts.js';
|
|
7
|
+
export { MODEL_FACTS, getModelFact, multimodalRefSummary, multimodalRefModels, SEEDANCE_TASK_INTENT_WORDS, seedanceTaskIntentWords, type ModelFact, } from './prompts/model-facts.js';
|
|
8
8
|
export { PROMPTING_TIPS, getPromptingTips, type PromptingTipsEntry, type PromptingTipCard, type PromptingTipsKey } from './prompts/prompting-tips.js';
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,10 @@ export { ALL_OPERATIONS, VIDEO_MODELS, AUDIO_MODELS, defaultContext } from './op
|
|
|
7
7
|
// Model routing/prompting facts — the SSOT the desktop Studio Agent system
|
|
8
8
|
// prompt derives its MODEL ROUTING doctrine from (kind: image | video | audio,
|
|
9
9
|
// default/premium/niche notes). Edit model-facts.ts, never prose copies.
|
|
10
|
-
export { MODEL_FACTS, getModelFact
|
|
10
|
+
export { MODEL_FACTS, getModelFact, multimodalRefSummary, multimodalRefModels,
|
|
11
|
+
// Mirrored in slate/src/shared/pricing.ts — see the constant's own header for
|
|
12
|
+
// why the mirror exists and why it must never drive a prompt rewrite.
|
|
13
|
+
SEEDANCE_TASK_INTENT_WORDS, seedanceTaskIntentWords, } from './prompts/model-facts.js';
|
|
11
14
|
// Per-model prompting tips — the SSOT for the desktop "See prompting tips"
|
|
12
15
|
// modals. The desktop renders these; it never hand-writes tips content.
|
|
13
16
|
export { PROMPTING_TIPS, getPromptingTips } from './prompts/prompting-tips.js';
|
|
@@ -32,7 +32,6 @@ export declare const estimateGenerationCost: Operation<{
|
|
|
32
32
|
model: string;
|
|
33
33
|
quantity?: number;
|
|
34
34
|
duration?: number;
|
|
35
|
-
characters?: number;
|
|
36
35
|
videoResolution?: '480p' | '720p' | '1080p' | '4k';
|
|
37
36
|
resolution?: '1k' | '2k' | '3k' | '4k';
|
|
38
37
|
quality?: 'medium' | 'high';
|
|
@@ -182,7 +181,7 @@ export declare const editImage: Operation<{
|
|
|
182
181
|
confirm?: boolean;
|
|
183
182
|
background?: boolean;
|
|
184
183
|
}>;
|
|
185
|
-
export declare const VIDEO_MODELS: readonly ["kling-v3.0-std", "kling-v3.0-pro", "kling-v3.0-omni", "veo-3.1-fast", "veo-3.1-standard", "seedance-2", "omni-flash"];
|
|
184
|
+
export declare const VIDEO_MODELS: readonly ["kling-v3.0-std", "kling-v3.0-pro", "kling-v3.0-omni", "veo-3.1-fast", "veo-3.1-standard", "seedance-2", "seedance-2.5", "omni-flash"];
|
|
186
185
|
type VideoModel = (typeof VIDEO_MODELS)[number];
|
|
187
186
|
export declare function videoCostKey(input: {
|
|
188
187
|
model: VideoModel;
|
|
@@ -198,7 +197,16 @@ export declare function videoCostKey(input: {
|
|
|
198
197
|
}): string;
|
|
199
198
|
export declare function klingEditCostKey(model: 'kling-v3.0-omni-edit' | 'kling-v3.0-omni-pro-edit', duration: number): string;
|
|
200
199
|
export declare function omniFlashEditCostKey(duration: number): string;
|
|
201
|
-
|
|
200
|
+
/** Seedance 2.5 source-clip bounds for the edit task type. */
|
|
201
|
+
export declare const SEEDANCE_25_EDIT_MIN_SECONDS = 4;
|
|
202
|
+
export declare const SEEDANCE_25_EDIT_MAX_SECONDS = 30;
|
|
203
|
+
export declare function seedanceEditCostKey(input: {
|
|
204
|
+
duration: number;
|
|
205
|
+
videoResolution?: '480p' | '720p';
|
|
206
|
+
seedanceFace?: boolean;
|
|
207
|
+
seedanceRealFace?: boolean;
|
|
208
|
+
}): string;
|
|
209
|
+
export declare const AUDIO_MODELS: readonly ["seed-audio", "eleven-sfx"];
|
|
202
210
|
export type AudioModel = (typeof AUDIO_MODELS)[number];
|
|
203
211
|
/**
|
|
204
212
|
* Per-surface bounds and defaults.
|
|
@@ -224,15 +232,10 @@ export declare const SEED_AUDIO_DEFAULT_SECONDS = 15;
|
|
|
224
232
|
export declare const ELEVEN_SFX_MIN_SECONDS = 1;
|
|
225
233
|
export declare const ELEVEN_SFX_MAX_SECONDS = 22;
|
|
226
234
|
export declare const ELEVEN_SFX_DEFAULT_SECONDS = 4;
|
|
227
|
-
export declare const ELEVEN_V3_MAX_CHARACTERS = 5000;
|
|
228
|
-
export declare const SUNO_MIN_SECONDS = 10;
|
|
229
|
-
export declare const SUNO_MAX_SECONDS = 360;
|
|
230
235
|
export declare function audioCostKey(input: {
|
|
231
236
|
model: AudioModel;
|
|
232
237
|
/** seed-audio + eleven-sfx: the REQUESTED duration in seconds (ceiled). */
|
|
233
238
|
durationSeconds?: number;
|
|
234
|
-
/** eleven-v3: character count of the text to speak (ceiled to 100-char buckets). */
|
|
235
|
-
characters?: number;
|
|
236
239
|
}): string;
|
|
237
240
|
export declare const generateVideo: Operation<{
|
|
238
241
|
prompt: string;
|
|
@@ -250,6 +253,9 @@ export declare const generateVideo: Operation<{
|
|
|
250
253
|
videoReferenceAssetId?: string;
|
|
251
254
|
videoReferenceSeconds?: number;
|
|
252
255
|
audioReferenceAssetId?: string;
|
|
256
|
+
videoReferenceAssetIds?: string[];
|
|
257
|
+
videoReferenceSecondsEach?: number[];
|
|
258
|
+
audioReferenceAssetIds?: string[];
|
|
253
259
|
sound?: boolean;
|
|
254
260
|
audioLanguage?: 'EN' | 'ZH' | 'JA' | 'KO' | 'ES';
|
|
255
261
|
generateMusic?: boolean;
|
|
@@ -266,8 +272,6 @@ export declare const generateAudio: Operation<{
|
|
|
266
272
|
prompt: string;
|
|
267
273
|
durationSeconds?: number;
|
|
268
274
|
voice?: string;
|
|
269
|
-
stability?: number;
|
|
270
|
-
languageCode?: string;
|
|
271
275
|
speed?: number;
|
|
272
276
|
volume?: number;
|
|
273
277
|
pitch?: number;
|
|
@@ -276,15 +280,6 @@ export declare const generateAudio: Operation<{
|
|
|
276
280
|
promptInfluence?: number;
|
|
277
281
|
audioReferenceAssetIds?: string[];
|
|
278
282
|
imageReferenceAssetId?: string;
|
|
279
|
-
sunoModel?: 'V4' | 'V4_5' | 'V4_5PLUS' | 'V4_5ALL' | 'V5' | 'V5_5';
|
|
280
|
-
customMode?: boolean;
|
|
281
|
-
instrumental?: boolean;
|
|
282
|
-
style?: string;
|
|
283
|
-
title?: string;
|
|
284
|
-
negativeTags?: string;
|
|
285
|
-
vocalGender?: 'm' | 'f';
|
|
286
|
-
styleWeight?: number;
|
|
287
|
-
weirdnessConstraint?: number;
|
|
288
283
|
background?: boolean;
|
|
289
284
|
confirm?: boolean;
|
|
290
285
|
}>;
|
|
@@ -300,14 +295,6 @@ export declare const generateLipSync: Operation<{
|
|
|
300
295
|
audioFilePath?: string;
|
|
301
296
|
avatarModel?: 'avatar-standard' | 'avatar-pro';
|
|
302
297
|
klingProvider?: 'fal' | 'kling';
|
|
303
|
-
engine?: 'kling' | 'seedance-2';
|
|
304
|
-
videoResolution?: '480p' | '720p' | '1080p' | '4k';
|
|
305
|
-
aspectRatio?: string;
|
|
306
|
-
seedanceFace?: boolean;
|
|
307
|
-
seedanceRealFace?: boolean;
|
|
308
|
-
realFaceConsent?: boolean;
|
|
309
|
-
sourceSeconds?: number;
|
|
310
|
-
audioSeconds?: number;
|
|
311
298
|
background?: boolean;
|
|
312
299
|
confirm?: boolean;
|
|
313
300
|
}>;
|
|
@@ -315,17 +302,10 @@ export declare const generateMotionTransfer: Operation<{
|
|
|
315
302
|
projectId: string;
|
|
316
303
|
sourceVideoAssetId: string;
|
|
317
304
|
targetImageAssetId: string;
|
|
318
|
-
motionModel?: 'kling-mc-std' | 'kling-mc-pro'
|
|
305
|
+
motionModel?: 'kling-mc-std' | 'kling-mc-pro';
|
|
319
306
|
characterOrientation?: 'video' | 'image';
|
|
320
307
|
prompt?: string;
|
|
321
308
|
klingProvider?: 'fal' | 'kling';
|
|
322
|
-
duration?: number;
|
|
323
|
-
videoResolution?: '480p' | '720p' | '1080p' | '4k';
|
|
324
|
-
aspectRatio?: string;
|
|
325
|
-
seedanceFace?: boolean;
|
|
326
|
-
seedanceRealFace?: boolean;
|
|
327
|
-
realFaceConsent?: boolean;
|
|
328
|
-
sourceVideoSeconds?: number;
|
|
329
309
|
background?: boolean;
|
|
330
310
|
confirm?: boolean;
|
|
331
311
|
}>;
|
|
@@ -333,10 +313,12 @@ export declare const editVideo: Operation<{
|
|
|
333
313
|
projectId: string;
|
|
334
314
|
sourceVideoAssetId: string;
|
|
335
315
|
prompt: string;
|
|
336
|
-
model?: 'kling-v3.0-omni-edit' | 'kling-v3.0-omni-pro-edit' | 'omni-flash-edit';
|
|
316
|
+
model?: 'kling-v3.0-omni-edit' | 'kling-v3.0-omni-pro-edit' | 'omni-flash-edit' | 'seedance-2.5-edit';
|
|
337
317
|
characterAssetIds?: string[];
|
|
338
318
|
styleAssetIds?: string[];
|
|
339
319
|
keepAudio?: boolean;
|
|
320
|
+
videoResolution?: '480p' | '720p';
|
|
321
|
+
seedanceFace?: boolean;
|
|
340
322
|
background?: boolean;
|
|
341
323
|
confirm?: boolean;
|
|
342
324
|
}>;
|
|
@@ -504,6 +486,31 @@ export declare const updateFrame: Operation<{
|
|
|
504
486
|
frameType?: 'first' | 'last' | 'ingredient' | null;
|
|
505
487
|
motionPrompt?: string | null;
|
|
506
488
|
}>;
|
|
489
|
+
/**
|
|
490
|
+
* Batch form of `slates_update_frame`.
|
|
491
|
+
*
|
|
492
|
+
* Writing a scene's worth of frames — motion prompts, shot labels — is ONE
|
|
493
|
+
* logical edit. Doing it as N `slates_update_frame` calls costs N LLM
|
|
494
|
+
* round-trips and makes the desktop refetch the whole storyboard N times for a
|
|
495
|
+
* single intent. This is also where the storyboard's deleted "generate motion
|
|
496
|
+
* prompts" button's capability went: the agent can be told "redo scene 3,
|
|
497
|
+
* handheld", which that fixed-shape button never could.
|
|
498
|
+
*
|
|
499
|
+
* Hits `POST /agent/frames/batch-update`, which validates every id BEFORE the
|
|
500
|
+
* first write and emits one broadcast for the batch.
|
|
501
|
+
*/
|
|
502
|
+
export declare const batchUpdateFrames: Operation<{
|
|
503
|
+
updates: {
|
|
504
|
+
frameId: string;
|
|
505
|
+
shotLabel?: string;
|
|
506
|
+
notes?: string;
|
|
507
|
+
assetId?: string | null;
|
|
508
|
+
sceneId?: string | null;
|
|
509
|
+
position?: number;
|
|
510
|
+
frameType?: 'first' | 'last' | 'ingredient' | null;
|
|
511
|
+
motionPrompt?: string | null;
|
|
512
|
+
}[];
|
|
513
|
+
}>;
|
|
507
514
|
export declare const deleteFrame: Operation<{
|
|
508
515
|
frameId: string;
|
|
509
516
|
}>;
|