@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.
@@ -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 | $0.11 / 5s | Replace dialogue on an existing talking head |
13
- | Avatar standard | still image | ai-avatar/v2/standard | $0.42 / 5s | Animate a portrait into a talking avatar |
14
- | Avatar pro | still image | ai-avatar/v2/pro | $0.86 / 5s | Higher facial fidelity for hero shots |
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
- - $0.11 is hard to beat for short dialogue replacement
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 $1+ for the surrounding video pipeline
130
+ - You're already paying tens of credits for the surrounding video pipeline
131
131
 
132
- Don't default to pro. The $0.44 delta per take adds up across iteration.
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 $0.11 is the cheapest dialogue iteration in the entire Slates stack — use it for voice A/B testing
149
- - Avatar standard at $0.42 is fine for medium use
150
- - Avatar pro at $0.86 trips the >$0.50 confirm gate — explicit user OK required every time
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 (~$1.20)
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: $1.20 + (5 × $0.11) = $1.75 to compare voices
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. $0.86 on avatar-pro. Confirm?"
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`) | $0.95 / 5s | General motion transfer, budget lane |
13
- | Kling pro (`kling-mc-pro-5s`) | $1.26 / 5s | Cleaner anatomy, better identity preservation |
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 >$0.50 confirm gate. User OK required every time.
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 ($0.95)** for:
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 ($1.26)** for:
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 $0.31 delta compounds fast across iteration.
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: $1.26 per 5s take
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 >$0.50 confirm gate — every call needs explicit user OK
147
- - Iteration is expensive: 4 takes at pro = $5.04. Lock framing + driving video before tier-up to 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 >$0.50 confirm gate; the response includes the asset codes for source and target so you can announce them in chat.
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**. $1.26, confirm?"
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 > $0.50.
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 (`> $0.50`), confirm before *every* attempt, not just the first.
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