@slatesvideo/shared 0.5.0 → 0.5.1
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/clients/cloud.d.ts +7 -7
- package/dist/operations/index.js +98 -75
- package/dist/skills/content.js +8 -8
- package/package.json +1 -1
- package/skills/slates-cost-discipline.md +13 -11
- package/skills/slates-direct-response-ad.md +2 -2
- package/skills/slates-edit-and-iterate.md +1 -1
- package/skills/slates-model-selection.md +2 -2
- package/skills/slates-prompting-lip-sync.md +12 -12
- package/skills/slates-prompting-motion-transfer.md +11 -11
- package/skills/slates-storyboard-from-script.md +1 -1
- package/skills/slates-vision-feedback-loop.md +1 -1
|
@@ -9,9 +9,9 @@ Two engines. Kling is the cheap utility lane (dedicated lip-sync endpoints, 5-se
|
|
|
9
9
|
|
|
10
10
|
| Flow | Source | Engine/Model | Cost | Use case |
|
|
11
11
|
|------|--------|-------|-----------|----------|
|
|
12
|
-
| Re-dub | video clip | kling-lip-sync-video |
|
|
13
|
-
| Avatar standard | still image | ai-avatar/v2/standard |
|
|
14
|
-
| Avatar pro | still image | ai-avatar/v2/pro |
|
|
12
|
+
| Re-dub | video clip | kling-lip-sync-video | ~4 credits / 5s | Replace dialogue on an existing talking head |
|
|
13
|
+
| Avatar standard | still image | ai-avatar/v2/standard | ~14 credits / 5s | Animate a portrait into a talking avatar |
|
|
14
|
+
| Avatar pro | still image | ai-avatar/v2/pro | ~29 credits / 5s | Higher facial fidelity for hero shots |
|
|
15
15
|
| **Seedance native** | image or video | `engine=seedance-2` | per second (`seedance-2-face-*`; video sources bill input+output seconds) | **Premium**: natural delivery, whole-body performance, voice cloned from a video source, audio included |
|
|
16
16
|
|
|
17
17
|
Pick engine + `sourceType` deliberately — they decide the pricing tier and the underlying endpoint.
|
|
@@ -34,7 +34,7 @@ Everything below applies to the **Kling** engine.
|
|
|
34
34
|
Use **video** (re-dub) when:
|
|
35
35
|
- A talking-head clip already exists (Slates-generated, recorded, or imported)
|
|
36
36
|
- The mouth/face is already moving and only the audio needs to change
|
|
37
|
-
-
|
|
37
|
+
- ~4 credits is hard to beat for short dialogue replacement
|
|
38
38
|
|
|
39
39
|
Use **avatar** when:
|
|
40
40
|
- Only a still portrait exists
|
|
@@ -127,9 +127,9 @@ Default `"."` is fine if you have nothing useful to add.
|
|
|
127
127
|
**Use pro** when:
|
|
128
128
|
- Final ads where the avatar's face fills the screen
|
|
129
129
|
- The character is named / branded — identity drift kills the take
|
|
130
|
-
- You're already paying
|
|
130
|
+
- You're already paying tens of credits for the surrounding video pipeline
|
|
131
131
|
|
|
132
|
-
Don't default to pro. The
|
|
132
|
+
Don't default to pro. The ~15-credit delta per take adds up across iteration.
|
|
133
133
|
|
|
134
134
|
## Common failure modes
|
|
135
135
|
|
|
@@ -145,17 +145,17 @@ Don't default to pro. The $0.44 delta per take adds up across iteration.
|
|
|
145
145
|
|
|
146
146
|
## Cost discipline
|
|
147
147
|
|
|
148
|
-
- Video re-dub at
|
|
149
|
-
- Avatar standard at
|
|
150
|
-
- Avatar pro at
|
|
148
|
+
- Video re-dub at ~4 credits is the cheapest dialogue iteration in the entire Slates stack — use it for voice A/B testing
|
|
149
|
+
- Avatar standard at ~14 credits is fine for medium use
|
|
150
|
+
- Avatar pro at ~29 credits trips the confirm gate — explicit user OK required every time
|
|
151
151
|
- All 5s. There is no shorter option.
|
|
152
152
|
|
|
153
153
|
## Workflow patterns
|
|
154
154
|
|
|
155
155
|
**Voice A/B test (cheap):**
|
|
156
|
-
1. Generate one base talking-head video clip with Veo or Seedance (
|
|
156
|
+
1. Generate one base talking-head video clip with Veo or Seedance (~40 credits)
|
|
157
157
|
2. Run `slates_generate_lip_sync` with `sourceType: 'video'` against 3–5 different `ttsVoice` values
|
|
158
|
-
3. Total cost:
|
|
158
|
+
3. Total cost: ~40 + (5 × ~4) ≈ 60 credits to compare voices
|
|
159
159
|
|
|
160
160
|
**Brand avatar from a single portrait:**
|
|
161
161
|
1. Generate or upload the hero portrait (face fills frame, eyes open, neutral mouth)
|
|
@@ -171,7 +171,7 @@ Don't default to pro. The $0.44 delta per take adds up across iteration.
|
|
|
171
171
|
|
|
172
172
|
Lip-sync is mechanical — the model re-syncs the chosen source to the chosen audio. The confirm response carries the source asset's code so you can announce it in chat.
|
|
173
173
|
|
|
174
|
-
- ✅ "Lip-syncing **IMG-A12 — Founder Portrait** to the new line.
|
|
174
|
+
- ✅ "Lip-syncing **IMG-A12 — Founder Portrait** to the new line. ~29 credits on avatar-pro. Confirm?"
|
|
175
175
|
- ❌ "Using the founder image..." (which? Three exist.)
|
|
176
176
|
|
|
177
177
|
Don't second-guess the source. If the output is wrong, iterate on source choice or audio, not on a refinement prompt (there isn't one).
|
|
@@ -9,11 +9,11 @@ Take a still **target image** (your character) and a **source video** (the motio
|
|
|
9
9
|
|
|
10
10
|
| Engine | Cost | Use case |
|
|
11
11
|
|------|-----------|----------|
|
|
12
|
-
| Kling std (`kling-mc-std-5s`) |
|
|
13
|
-
| Kling pro (`kling-mc-pro-5s`) |
|
|
12
|
+
| Kling std (`kling-mc-std-5s`) | ~32 credits / 5s | General motion transfer, budget lane |
|
|
13
|
+
| Kling pro (`kling-mc-pro-5s`) | ~42 credits / 5s | Cleaner anatomy, better identity preservation |
|
|
14
14
|
| **Seedance 2.0** (`motionModel=seedance-2`) | per second of input+output (`seedance-2-face-vref-*`) | **Premium lane** — single-pass generation with the driving clip as a native conditioning signal: better motion fidelity, native audio, prompt-directed |
|
|
15
15
|
|
|
16
|
-
All tiers trip the
|
|
16
|
+
All tiers trip the confirm gate. User OK required every time. (Prices are approximate — `slates_estimate_generation_cost` returns the exact credit total.)
|
|
17
17
|
|
|
18
18
|
## Seedance engine (premium single-pass)
|
|
19
19
|
|
|
@@ -80,18 +80,18 @@ Switch to `image` when the target image's composition is the brand asset and the
|
|
|
80
80
|
|
|
81
81
|
## Tier choice — std vs pro
|
|
82
82
|
|
|
83
|
-
**std (
|
|
83
|
+
**std (~32 credits)** for:
|
|
84
84
|
- Drafts, motion exploration, blocking
|
|
85
85
|
- Group scenes where the character isn't a hero shot
|
|
86
86
|
- When the budget is tight and the motion is the focus
|
|
87
87
|
|
|
88
|
-
**pro (
|
|
88
|
+
**pro (~42 credits)** for:
|
|
89
89
|
- Final hero takes
|
|
90
90
|
- Branded characters where identity drift = unacceptable
|
|
91
91
|
- Anatomically complex motion (limbs crossing, fast direction changes)
|
|
92
92
|
- Anime / cartoon target images — pro handles non-realistic styles better
|
|
93
93
|
|
|
94
|
-
Don't default to pro. The
|
|
94
|
+
Don't default to pro. The ~10-credit delta compounds fast across iteration.
|
|
95
95
|
|
|
96
96
|
## Prompt usage (optional)
|
|
97
97
|
|
|
@@ -126,7 +126,7 @@ Leave it empty if you don't have a specific atmospheric note.
|
|
|
126
126
|
2. Find driving footage — a clean reference video of the dance you want
|
|
127
127
|
3. Upload both as project assets
|
|
128
128
|
4. Run motion transfer with `motionModel: 'kling-mc-pro'`, `characterOrientation: 'video'`
|
|
129
|
-
5. Total cost:
|
|
129
|
+
5. Total cost: ~42 credits per 5s take
|
|
130
130
|
|
|
131
131
|
**Subtle motion on a hero portrait:**
|
|
132
132
|
1. Use the locked hero portrait as the target image
|
|
@@ -143,15 +143,15 @@ Leave it empty if you don't have a specific atmospheric note.
|
|
|
143
143
|
## Cost discipline
|
|
144
144
|
|
|
145
145
|
- 5 seconds, no shorter option
|
|
146
|
-
- Both tiers trip the
|
|
147
|
-
- Iteration is expensive: 4 takes at pro
|
|
146
|
+
- Both tiers trip the confirm gate — every call needs explicit user OK
|
|
147
|
+
- Iteration is expensive: 4 takes at pro ≈ 168 credits. Lock framing + driving video before tier-up to pro.
|
|
148
148
|
- Always run a single std take first to validate the motion + framing combo before committing to pro
|
|
149
149
|
|
|
150
150
|
## Confirm gate: cost + codes, no inline preview
|
|
151
151
|
|
|
152
|
-
Motion transfer is mechanical — the model deterministically applies source motion to target image. Both tiers trip the
|
|
152
|
+
Motion transfer is mechanical — the model deterministically applies source motion to target image. Both tiers trip the confirm gate; the response includes the asset codes for source and target so you can announce them in chat.
|
|
153
153
|
|
|
154
|
-
- ✅ "Transferring motion from **VID-V3** onto **IMG-A12 — Detective Closeup**.
|
|
154
|
+
- ✅ "Transferring motion from **VID-V3** onto **IMG-A12 — Detective Closeup**. ~42 credits, confirm?"
|
|
155
155
|
- ❌ "Using the walk video and the detective image..." (multiple of each in the project.)
|
|
156
156
|
|
|
157
157
|
Don't second-guess the assets the user picked — the model executes the transfer. If the output is wrong, iterate on motion source or target choice, not on a refinement prompt.
|
|
@@ -33,7 +33,7 @@ Ask: **"Generate frame images now? (y/N)"**
|
|
|
33
33
|
|
|
34
34
|
### 3. Generate frames if requested
|
|
35
35
|
For each frame:
|
|
36
|
-
- Estimate cost (`slates_estimate_generation_cost`, `count = total frames`). Confirm with user if total >
|
|
36
|
+
- Estimate cost (`slates_estimate_generation_cost`, `count = total frames`). Confirm with user if total > ~17 credits.
|
|
37
37
|
- Generate sequentially, with character/environment/style references attached when present in the project (`slates_list_characters`, `slates_list_environments`).
|
|
38
38
|
- Each result returns inline. Evaluate. If wrong, refine prompt + regenerate (charge once, not multiple).
|
|
39
39
|
- Bind to the frame via `slates_add_frame`.
|
|
@@ -47,7 +47,7 @@ The code is the FORMAL reference. The label is human texture. Use both: `IMG-A12
|
|
|
47
47
|
|
|
48
48
|
- Track total credits spent across the loop. Surface to the user every 3 iterations.
|
|
49
49
|
- Stop after 3 failed iterations on the same prompt — escalate to the user with what you tried and what's not working. The slot machine never converges.
|
|
50
|
-
- For high-cost generations (
|
|
50
|
+
- For high-cost generations (above ~17 credits), confirm before *every* attempt, not just the first.
|
|
51
51
|
|
|
52
52
|
## When to break the loop
|
|
53
53
|
|