@slatesvideo/shared 0.5.8 → 0.5.10

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.
@@ -28,7 +28,7 @@
28
28
  },
29
29
  {
30
30
  "path": "src/prompts/model-facts.ts",
31
- "sha256": "b047ebd693dcfbeea352598a56ba405315df0b5287f6b8773388496b20efa3a2"
31
+ "sha256": "998772c92eb0b443007c49a23f11c1ec80d9a0b4a28baacbecfe27cda8acbd21"
32
32
  }
33
33
  ],
34
34
  "outputs": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slatesvideo/shared",
3
- "version": "0.5.8",
3
+ "version": "0.5.10",
4
4
  "description": "Shared operations layer for the Slates MCP server and CLI: auth, cloud/desktop clients, and the single tool surface both consume. Most users want @slatesvideo/mcp-server or @slatesvideo/cli instead.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -18,6 +18,10 @@
18
18
  "./prompts": {
19
19
  "import": "./dist/prompts/index.js",
20
20
  "types": "./dist/prompts/index.d.ts"
21
+ },
22
+ "./model-capabilities": {
23
+ "types": "./dist/prompts/model-capabilities.d.ts",
24
+ "default": "./dist/prompts/model-capabilities.js"
21
25
  }
22
26
  },
23
27
  "files": [
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: slates-model-selection
3
- description: Which model to pick for a given job — the routing doctrine. Read BEFORE choosing any video or image model, before quoting a plan, and before defaulting anywhere. Kling 3.0 is the general-purpose video default; Seedance 2.0 is the premium tier for anything where physics, effects, or scale remotely matter; Seedance 2.5 is a SECOND SEAT beside 2.0 (30s takes, 30 references and timestamp control, but 480p/720p only — never an upgrade); Veo 3.1 is a narrow niche (native synced audio in one gen, 16:9 only) and never the default.
3
+ description: Which model to pick for a given job — the routing doctrine. Read BEFORE choosing any video or image model, before quoting a plan, and before defaulting anywhere. Kling 3.0 is the general-purpose video default; Seedance 2.0 is the premium tier for anything where physics, effects, or scale remotely matter; Seedance 2.5 is a SECOND SEAT beside 2.0 (30s takes, 30 references and timestamp control, but 480p/720p only — never an upgrade); Veo 3.1 is a narrow niche (native synced audio in one gen, 16:9 or 9:16, 4/6/8s) and never the default.
4
4
  ---
5
5
 
6
6
  # Model selection — the routing doctrine
@@ -23,12 +23,12 @@ The tables below are a snapshot. This roster churns constantly (NB2 Lite, Omni F
23
23
 
24
24
  | Job | Model | Why |
25
25
  |---|---|---|
26
- | **General-purpose — the default for most shots** | **Kling 3.0 std** | Cost-effective workhorse. Strong image-to-video: preserves identity, layout, and text from the start frame. Any aspect ratio, 5–15s. |
26
+ | **General-purpose — the default for most shots** | **Kling 3.0 std** | Cost-effective workhorse. Strong image-to-video: preserves identity, layout, and text from the start frame. 16:9 / 9:16 / 1:1, 3–15s. |
27
27
  | Higher visual polish, no physics demands | Kling 3.0 pro | Mid-price fidelity bump on the same strengths. |
28
28
  | Multi-character dialogue / audio co-generation | Kling 3.0 omni | Dialogue syntax, voice direction, language codes, `@element` refs. |
29
29
  | **Anything with remotely important physics** — effects, destruction, water/fire/smoke/cloth, creature motion, scale, complex simultaneous action | **Seedance 2.0** | The premium tier. Physics and effects are its whole edge; up to 9 ingredient refs, first+last frame, native 4K (4K video is Pro-only). |
30
30
  | The premium hero shot a piece hangs on | Seedance 2.0 | Spend where it shows. |
31
- | **One take longer than 15 seconds**, or a shot needing more than 9 image references, or an AUDIO-ONLY reference, or **beats that have to land at a named second** | **Seedance 2.5** | A SECOND SEAT beside 2.0, never an upgrade: 4–30s in one take, 30 image + 10 video + 10 audio references, audio-only refs, and the only Seedance seat that **acts on timestamps** (rules in `slates-prompting-seedance-2-5` § Timestamps) — and **480p/720p ONLY, no 1080p and no 4K on any provider**. If resolution matters at all, stay on 2.0. 🚨 Two live hazards: (a) with references attached, the words *add / remove / replace / change / extend / continue* make it reclassify the request as a video EDIT and fail AFTER the job queues — describe the finished frame, or use `seedance-2.5-edit`; (b) 720p is NOT the cheap seat here — a 30s 720p face gen is 484 credits, more than a 15s 1080p Seedance 2.0 face gen (411), against a 1,000-credit welcome grant. Quote before any take over ~10s. |
31
+ | **One take longer than 15 seconds**, or a shot needing more than 9 image references, or an AUDIO-ONLY reference, or **beats that have to land at a named second** | **Seedance 2.5** | A SECOND SEAT beside 2.0, never an upgrade: 4–30s in one take, 30 image + 10 video + 10 audio references, audio-only refs, and the only Seedance seat that **acts on timestamps** (rules in `slates-prompting-seedance-2-5` § Timestamps) — and **480p or 720p on every route Slates offers, no 1080p and no 4K**. If resolution matters at all, stay on 2.0. 🚨 Two live hazards: (a) with references attached, the words *add / remove / replace / change / extend / continue* make it reclassify the request as a video EDIT and fail AFTER the job queues — describe the finished frame, or use `seedance-2.5-edit`; (b) 720p is NOT the cheap seat here — a 30s 720p face gen is 484 credits, more than a 15s 1080p Seedance 2.0 face gen (411), against a 1,000-credit welcome grant. Quote before any take over ~10s. |
32
32
 
33
33
  ### Named Seedance escalation triggers
34
34
 
@@ -75,10 +75,11 @@ Both tools are **Kling-only**. Every entry in them is a real Kling endpoint that
75
75
  **Rules:**
76
76
 
77
77
  - **Default video = Kling 3.0 std.** Escalate to Seedance the moment the shot has physics/effects weight or is the hero moment — and say why in the plan ("physics-heavy, routing to Seedance").
78
- - **Veo is never the default.** 16:9 only, 4/6/8s only, and it is not the quality pick — treat it as a single-purpose tool for native-synced-audio shots. If audio can be added after (Kling lip-sync, edit stage), prefer Kling or Seedance + audio in post.
79
- - **9:16 vertical → Kling or Seedance.** Veo can't.
78
+ - **Veo is never the default.** 16:9 or 9:16 only, 4/6/8s only (and 8s only at 1080p/4K, or with reference images), and it is not the quality pick — treat it as a single-purpose tool for native-synced-audio shots. If audio can be added after (Kling lip-sync, edit stage), prefer Kling or Seedance + audio in post.
79
+ - **9:16 vertical → Kling or Seedance by preference**, not by necessity: Veo does take 9:16 on the route Slates uses. Route away from it because it is the niche seat, not because it can't.
80
+ - **Ratios and durations are enforced before submit.** `slates_generate_video` validates the aspect ratio, resolution and duration against the model you picked and refuses out-of-set values with the legal list — it will not silently ignore or downgrade them. The authoritative per-model sets are in the op's own param descriptions, which are generated from the capability SSOT; prefer those over any list written in prose here.
80
81
  - **Image-to-video from an NB2 start frame** (the standard pipeline) → Kling by default, Seedance when the motion is physics-heavy. Not Veo.
81
- - **User names a model explicitly → use it.** But if it's a mismatch for the job (crazy physics on Kling std, vertical on Veo), say so in one line and offer the right route before generating.
82
+ - **User names a model explicitly → use it.** But if it's a mismatch for the job (crazy physics on Kling std, a 30s take on anything but Seedance 2.5, 1080p on Seedance 2.5 which has none), say so in one line and offer the right route before generating.
82
83
 
83
84
  ## Image routing
84
85
 
@@ -57,9 +57,9 @@ Per shot: `slates_generate_image` with `referenceAssetIds` pointing at the chara
57
57
  `slates_generate_video` with `firstFrameAssetId` = the bound frame, `background: true`. Submit ALL shots, collect the generationIds, then poll `slates_get_generation_status` every 10-15s (1-5 min per gen; they survive app restarts). This parallelizes a 6-shot film into one wait instead of six.
58
58
 
59
59
  **Model mixing — route per `slates-model-selection`** (details in the per-model guides):
60
- - **Kling V3** (`slates-prompting-kling-v3`): the DEFAULT for most shots — any aspect ratio, 5-15s, strong start-frame adherence; std is the workhorse, Omni for multi-character dialogue.
60
+ - **Kling V3** (`slates-prompting-kling-v3`): the DEFAULT for most shots — 16:9 / 9:16 / 1:1, 3-15s, strong start-frame adherence; std is the workhorse, Omni for multi-character dialogue.
61
61
  - **Seedance 2** (`slates-prompting-seedance`): the PREMIUM tier — any shot where physics/effects/scale remotely matter, plus the hero shot; audio included, first+last frame guidance, native 4K (4K video is Pro-only).
62
- - **Veo 3.1** (`slates-prompting-veo-3`): niche, never the default — only when native synced audio must generate WITH the video in one gen; 16:9 only, 4/6/8s.
62
+ - **Veo 3.1** (`slates-prompting-veo-3`): niche, never the default — only when native synced audio must generate WITH the video in one gen; 16:9 or 9:16, 4/6/8s (8s only at 1080p/4K or with reference images).
63
63
 
64
64
  Failed gen? Check the error via `slates_get_generation_status`, fix the prompt, resubmit that one shot (a retry beyond the plan = announce the delta cost).
65
65
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: slates-prompting-seedance-2-5
3
- description: How to prompt Seedance 2.5 and Seedance 2.5 Edit. Read before calling slates_generate_video with model seedance-2.5, or slates_edit_video with model seedance-2.5-edit. 2.5 is a SECOND SEAT next to 2.0, not an upgrade — it buys 30-second takes, 30 image references, audio-only references and INTEGER-SECOND TIMESTAMPS, and it gives up 1080p and 4K entirely. Timestamps are the one grammar difference that matters: 2.0 ignores them and answers only to shot numbers, 2.5 acts on them. Otherwise it shares 2.0's grammar (read slates-prompting-seedance for subject binding, camera and constraint vocabulary); this file covers what is different, plus the two hazards unique to 2.5 — the prompt-intent task classifier and the cost trap at 720p.
3
+ description: How to prompt Seedance 2.5 and Seedance 2.5 Edit. Read before calling slates_generate_video with model seedance-2.5, or slates_edit_video with model seedance-2.5-edit. 2.5 is a SECOND SEAT next to 2.0, not an upgrade — it buys 30-second takes, 30 image references, audio-only references and INTEGER-SECOND TIMESTAMPS, and it gives up 1080p and 4K — it is 480p or 720p on every route Slates offers. Timestamps are the one grammar difference that matters: 2.0 ignores them and answers only to shot numbers, 2.5 acts on them. Otherwise it shares 2.0's grammar (read slates-prompting-seedance for subject binding, camera and constraint vocabulary); this file covers what is different, plus the two hazards unique to 2.5 — the prompt-intent task classifier and the cost trap at 720p.
4
4
  ---
5
5
 
6
6
  # Seedance 2.5 — prompting
@@ -15,10 +15,11 @@ where 2.0 ignores them.**
15
15
 
16
16
  ## The one fact that decides whether you use it at all
17
17
 
18
- **Seedance 2.5 is 480p or 720p. There is no 1080p and no 4K, on any provider.**
18
+ **Seedance 2.5 is 480p or 720p on every route Slates offers — no 1080p, no 4K.**
19
19
 
20
- That is not a Slates limitation or a tier gate — the model does not produce those resolutions.
21
- So 2.5 does not replace 2.0; it sits beside it:
20
+ Treat that as the current ceiling on our routes, not a claim about the model everywhere. It is not a
21
+ tier gate either: no Slates plan unlocks a higher resolution on 2.5. So 2.5 does not replace 2.0;
22
+ it sits beside it:
22
23
 
23
24
  | | Seedance 2.0 | Seedance 2.5 |
24
25
  |---|---|---|
@@ -101,8 +102,12 @@ real-face route has spent 71% of their welcome grant on one clip.
101
102
 
102
103
  - **Always quote with `slates_estimate_generation_cost` before a take over ~10 seconds,** and say
103
104
  the number out loud before generating.
104
- - **Draft at 480p and 4–8 seconds.** Prove the composition, the motion and the identity first;
105
- spend the length only on the take you already know works.
105
+ - **Find the shot at short LENGTH, not at low resolution.** Length is what moves the price, so cut
106
+ seconds while you are still exploring — 4–8s — and stay at the resolution you actually want.
107
+ **A 480p pass does not de-risk a 720p render.** Generation is stochastic: the 720p run is a
108
+ different take, not the same shot rendered better. So a 480p draft that looks right buys you no
109
+ guarantee, and one that looks wrong may have been fine at 720p — you paid 22 credits to learn
110
+ nothing, when 48 would have bought a real candidate.
106
111
  - **Length is a creative decision, not a default.** 30 seconds is available; it is rarely the right
107
112
  answer for a single shot. Multi-shot storyboards inside one 30s generation are what the length is
108
113
  actually for.
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: slates-prompting-veo-3
3
- description: How to prompt Veo 3.1 (Google). Read before calling slates_generate_video with veo-3.1-fast or veo-3.1-standard. Veo is a NICHE pick, never the default (route per slates-model-selection — Kling is the general default, Seedance the premium tier) — reach for it only when native synchronized audio must generate WITH the video in one gen. 16:9 only. Different cinematography formula than Seedance/Kling. (no subtitles) is mandatory after every dialogue line.
3
+ description: How to prompt Veo 3.1 (Google). Read before calling slates_generate_video with veo-3.1-fast or veo-3.1-standard. Veo is a NICHE pick, never the default (route per slates-model-selection — Kling is the general default, Seedance the premium tier) — reach for it only when native synchronized audio must generate WITH the video in one gen. 16:9 or 9:16, 4/6/8s. Different cinematography formula than Seedance/Kling. (no subtitles) is mandatory after every dialogue line.
4
4
  ---
5
5
 
6
6
  # Veo 3.1 — prompting
7
7
 
8
8
  Google DeepMind's video model. Two tiers: `veo-3.1-fast` (cheaper, quick) and `veo-3.1-standard` (higher quality). 4k variants exist for both (4K video requires Slates Pro).
9
9
 
10
- **Native single-shot duration: 4, 6, or 8 seconds.** Longer durations require chaining clips via Extend / last-frame reuse — quality degrades if naively requested past 8s in a single generation. Aspect ratio: **16:9 only** — `slates_generate_video` locks Veo to 16:9; anything else is ignored or fails. For 9:16 vertical, use Kling or Seedance instead.
10
+ **Native single-shot duration: 4, 6, or 8 seconds** — and **8s only** at 1080p or 4K, or whenever you attach reference images (that endpoint is 8s-fixed). 4s and 6s exist at 720p, text-to-video or single-start-frame only. Longer durations require chaining clips via Extend / last-frame reuse — quality degrades if naively requested past 8s in a single generation. Aspect ratio: **16:9 or 9:16** on the route Slates uses. `slates_generate_video` REFUSES anything outside these before submit and names the legal set — nothing is silently ignored or downgraded.
11
11
 
12
12
  Native synchronized audio at 48kHz: dialogue, SFX, ambient — generated WITH video, not added after.
13
13