@scenerok/sdk 0.27.0 → 0.28.0
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/package.json +1 -1
- package/skills/scenerok/SKILL.md +69 -54
- package/skills/scenerok/references/animations-picker.md +1 -1
- package/skills/scenerok/references/catalog-index.json +2855 -1
- package/skills/scenerok/references/choosing.md +111 -0
- package/skills/scenerok/references/look-and-feel.md +25 -18
- package/skills/scenerok/references/plugins.md +5 -4
- package/skills/scenerok/references/recipes.md +10 -8
- package/skills/scenerok/references/repertoire.md +1493 -0
- package/skills/scenerok/references/shaders-filters.md +1 -1
- package/skills/scenerok/references/vidscript-guide.md +2 -2
- package/skills/scenerok/references/vidscript-strict.md +4 -4
- package/skills/scenerok/references/workflow.md +3 -3
|
@@ -21,7 +21,7 @@ A `filter` line grades everything on screen during its window. Add `target: clip
|
|
|
21
21
|
| `saturation` | Color intensity |
|
|
22
22
|
| `brightness` | Exposure lift/drop |
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
Choose filters like any other tool (`choosing.md`). A grade (`cdl` for warmth or coolness, `vignette` around 0.3) ties mixed pictures together; effect filters (`glitch`, `chromatic`, `blur`) carry a strong look and fight readable text. Each one's look and clashes are in `repertoire.md`.
|
|
25
25
|
|
|
26
26
|
## VFX filters
|
|
27
27
|
|
|
@@ -11,8 +11,8 @@ Contents: Agent quick start · Program structure · Statements (input, output, l
|
|
|
11
11
|
1. **Import every package function** — use `import xai from "@scenerok/xai"`, `import cf from "@scenerok/cloudflare"`, `import eleven from "@elevenlabs/music"`, and `import motion from "@scenerok/basic-animations"` before calling `xai.*`, `cf.*`, `eleven.*`, or `motion.*`.
|
|
12
12
|
2. **Validate early** — `scenerok validate file.vid` (errors show as `Line N:C — message`).
|
|
13
13
|
3. **Music package syntax** — `import eleven from "@elevenlabs/music"`, then call `eleven.music(...)`, `eleven.generateMusic(...)`, or `eleven.composeMusic(...)`.
|
|
14
|
-
4. **
|
|
15
|
-
5. **
|
|
14
|
+
4. **Choose per beat** — name each beat's job, then pick tools with `choosing.md` and `repertoire.md` (what each tool looks like, is for, and fights). `recipes.md` has complete scripts; `look-and-feel.md` has the type scale and safe areas.
|
|
15
|
+
5. **Look at a URL's pictures before choosing** — when the user gives a website or product URL, collect the page's own product images, logo and focused screenshots (`look-and-feel.md` → Sourcing imagery), then decide per beat whether to use them. Don't use a full-page screenshot as a background.
|
|
16
16
|
6. **Probe asset type and dimensions** — before placing real assets, identify image vs video with `file`; inspect width, height, and duration with `ffprobe`, `sips`, or `identify`; then scale from the measured aspect ratio and set explicit `width`, `height`, `x`, and `y`.
|
|
17
17
|
7. **Use still images directly** — `input` supports videos and images. Place still screenshots, logos, and product photos with `video image_input`; the renderer treats images as static clips for the block duration.
|
|
18
18
|
8. **Use the full media plugin toolkit** — choose still generation, text-to-video, image-to-video, reference-to-video, video extension, TTS, and music deliberately. Do not default to only `xai.imagine`.
|
|
@@ -15,9 +15,9 @@ Without the owning import, calls like `xai.imagine`, `cf.video`, `xai.tts`, `ele
|
|
|
15
15
|
|
|
16
16
|
**Never** call package functions without importing the package alias first.
|
|
17
17
|
|
|
18
|
-
## Rule 2:
|
|
18
|
+
## Rule 2: Look at a URL's pictures before you choose
|
|
19
19
|
|
|
20
|
-
When the user gives a product or landing-page URL,
|
|
20
|
+
When the user gives a product or landing-page URL, collect its own pictures (product shots, logos, focused screenshots) before you decide what each beat shows: they are the only pictures that prove anything about the product. Reading only the title and price leaves you choosing without the options. Use focused, legible pieces, never a full-page screenshot as a background, and don't invent claims. How to collect and prepare them: `look-and-feel.md` → Sourcing imagery.
|
|
21
21
|
|
|
22
22
|
## Rule 2.5: Probe real asset type and dimensions before placement
|
|
23
23
|
|
|
@@ -46,7 +46,7 @@ x = (outputWidth - scaledWidth) / 2
|
|
|
46
46
|
y = safeAreaTop
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
Real assets take `animate:` like text does. When a visual should leave softly, split it:
|
|
50
50
|
|
|
51
51
|
```vidscript
|
|
52
52
|
import motion from "@scenerok/basic-animations"
|
|
@@ -211,7 +211,7 @@ let bed = eleven.music("Soft premium ad music", duration: 15, instrumental: true
|
|
|
211
211
|
[0s .. 15s] = filter "saturation", amount: 1.12
|
|
212
212
|
```
|
|
213
213
|
|
|
214
|
-
|
|
214
|
+
Filters are tools like any other: use a grade (`cdl`, `vignette`, or a `lut` from an HTTPS URL) when the pictures need tying together, and an effect (`glitch`, `chromatic`, `blur`) when its look is the point. What each looks like and fights: `repertoire.md`. Each filter has its own parameter name (`saturation` takes `amount`, `blur` takes `radius`); a wrong name is ignored without an error. The table is in `editing-actions.md` → Color and finishing.
|
|
215
215
|
|
|
216
216
|
A `filter` line grades everything in its window. To grade one clip, add `target: clip` or write `clip.Filter("sepia", intensity: 0.6)`.
|
|
217
217
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
1. **Understand the goal** — promo, testimonial, meme, code demo, etc. Pick the closest script in `recipes.md`
|
|
6
6
|
2. **Choose authoring** — VidScript (`.vid`) by default and for every editing action; TypeScript `@scenerok/sdk` (`.ts`, `sdk-guide.md`) only for loops or computed timing
|
|
7
7
|
3. **Plan the structure** — beats of 2.5–4.5 s, each with a picture, copy, and motion (`look-and-feel.md`)
|
|
8
|
-
4. **
|
|
8
|
+
4. **Put the material on the table** — page images, focused screenshots, logo, footage, screen recordings, the exact numbers and words. Generated stills or clips when nothing real exists and the beat needs a picture. You can't choose a picture you never looked at
|
|
9
9
|
5. **Probe and prepare** — `file` / `ffprobe` / `sips` / `identify` (or `loadVideo` / media stdlib); crop and blur stills with ffmpeg; never guess sizes
|
|
10
10
|
6. **Decide the look** — palette, two fonts, and type sizes as `let` values (`look-and-feel.md`)
|
|
11
11
|
7. **Choose plugin modality** — still / t2v / i2v / ref2v / extend / TTS / music (`ai-models.md`, `tts.md`, `music.md`)
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
9. **Validate** — `scenerok validate script.vid` or `scenerok validate scene.ts`
|
|
14
14
|
10. **Deep-validate (VidScript)** — for scripts with TTS/generated media: `scenerok validate script.vid --generate-assets --report-json` (billed; assets cache for the render). SDK plugins generate during `scenerok render` instead. Fix `offCanvas`/`wasShrunk` text, `collisions`, and unintended `audio.overlaps`, then re-validate.
|
|
15
15
|
11. **Render** — `scenerok render script.vid --watch` or `scenerok render scene.ts --watch`
|
|
16
|
-
12. **Look at the render** — pull one frame per beat with ffmpeg
|
|
17
|
-
13. **Deliver** — share the download URL once
|
|
16
|
+
12. **Look at the render** — pull one frame per beat with ffmpeg, open them, and answer the review questions in `SKILL.md`. Fix what you see and render again. `scenerok lint-video <render-id> --cost medium --json` (billed) adds an LLM review of frame grabs
|
|
17
|
+
13. **Deliver** — share the download URL once you can defend each beat
|
|
18
18
|
|
|
19
19
|
## Website URL asset workflow
|
|
20
20
|
|