@scenerok/cli 1.0.13 → 1.0.14
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
CHANGED
package/skills/shared/SKILL.md
CHANGED
|
@@ -127,6 +127,8 @@ Available plugin APIs:
|
|
|
127
127
|
| `@elevenlabs/music` | `music`, `generateMusic`, `composeMusic` | Background music beds, theme music, instrumental loops |
|
|
128
128
|
| `@scenerok/basic-animations` | `fadeIn`, `fadeOut`, `slideX`, `slideY`, `popIn`, `riseIn`, `swingIn`, `glitchIn`, `float`, `typewriter` | Motion descriptors for `animate:` |
|
|
129
129
|
|
|
130
|
+
Cloudflare video calls share named parameters across providers: `model`, `aspect_ratio`, `duration`, `resolution` or `quality`, `generate_audio`, `negative_prompt`, `seed`, and `input` for model-specific overrides. Use `cf.imageToVideo(image, prompt, model: ..., aspect_ratio: "9:16", duration: ...)` when animating one source image. Common aspect values are `"9:16"` for vertical, `"16:9"` for wide, `"1:1"` for square, plus model-specific values such as `"4:3"`, `"3:4"`, and `"21:9"`. For Runway Gen-4.5, keep writing friendly `aspect_ratio` values; SceneRok translates them to Cloudflare's required `ratio` values such as `"720:1280"`.
|
|
131
|
+
|
|
130
132
|
xAI TTS voice IDs: `eve` for demos/announcements/upbeat content, `ara` for warm conversational narration, `rex` for business/tutorial delivery, `sal` for balanced general narration, and `leo` for authoritative instructional narration.
|
|
131
133
|
|
|
132
134
|
For ElevenLabs music, import `@elevenlabs/music` and call `eleven.music(...)`, `eleven.generateMusic(...)`, or `eleven.composeMusic(...)`. Use `let bed = eleven.music(...)` followed by `audio bed, volume: ...` when you need volume or fades. Do not call `eleven.tts(...)`; this repo currently exposes voiceover through `xai.tts(...)` / `xai.textToSpeech(...)`. Place voiceover as an `audio` block and do not leave ads silent unless the user asks for silent output.
|
|
@@ -26,12 +26,19 @@ VidScript is a declarative DSL for composing short-form videos. Write a script,
|
|
|
26
26
|
| `Unknown function 'fadeIn'` | Use `import motion from "@scenerok/basic-animations"` and call `motion.fadeIn(...)` |
|
|
27
27
|
| `Expected ... but "," found` | Do not put `, volume:` after a direct plugin call. Use `let bed = eleven.music(...)`, then `audio bed, volume: ...` |
|
|
28
28
|
| `Unknown function 'eleven.generateMusic'` | Add `import eleven from "@elevenlabs/music"` before calling `eleven.generateMusic(...)` |
|
|
29
|
-
|
|
|
29
|
+
| Prompt needs quoted words | Escape quotes inside strings, e.g. `"Package labeled \"AER-01\""` |
|
|
30
30
|
|
|
31
31
|
## Program Structure
|
|
32
32
|
|
|
33
33
|
A VidScript program is a sequence of statements separated by newlines.
|
|
34
34
|
|
|
35
|
+
Strings support common backslash escapes. Use `\n` inside a `text` string for an intentional rendered line break, and use `\"` or `\'` for quote characters inside the matching string delimiter.
|
|
36
|
+
|
|
37
|
+
```vidscript
|
|
38
|
+
[0s .. 3s] = text "RUN LIGHTER\nDAILY", line_height: 1.05
|
|
39
|
+
let prompt = "Package labeled \"AER-01\", no text, no watermark"
|
|
40
|
+
```
|
|
41
|
+
|
|
35
42
|
```vidscript
|
|
36
43
|
# Single-line comment
|
|
37
44
|
/* Multi-line
|
|
@@ -323,7 +330,7 @@ let bed = eleven.music("Warm premium launch bed", duration: 15, instrumental: tr
|
|
|
323
330
|
| `@scenerok/xai` | `xai.extendVideo(video, prompt, ...)` | Continue an existing video clip by up to 10s. |
|
|
324
331
|
| `@scenerok/xai` | `xai.tts(text, ...)`, `xai.textToSpeech(text, ...)` | Generate spoken narration. Voices: `eve`, `ara`, `rex`, `sal`, `leo`. |
|
|
325
332
|
| `@scenerok/cloudflare` | `cf.image(prompt, ...)`, `cf.generateImage(prompt, ...)` | Generate stills through Cloudflare AI Gateway image models such as `black-forest-labs/flux-2-pro-preview`, `openai/gpt-image-2`, `xai/grok-imagine-image-quality`, or `recraft/recraftv4-pro`. |
|
|
326
|
-
| `@scenerok/cloudflare` | `cf.video(prompt, ...)`, `cf.imagine(prompt, ...)`, `cf.genVideo(prompt, ...)`, `cf.generateVideo(prompt, ...)` | Generate text-to-video through models such as `pixverse/v6`, `vidu/q3-turbo`, `runwayml/gen-4.5`, `minimax/hailuo-2.3`, `bytedance/seedance-2.0`,
|
|
333
|
+
| `@scenerok/cloudflare` | `cf.video(prompt, ...)`, `cf.imagine(prompt, ...)`, `cf.genVideo(prompt, ...)`, `cf.generateVideo(prompt, ...)` | Generate text-to-video through models such as `pixverse/v6`, `vidu/q3-turbo`, `runwayml/gen-4.5`, `minimax/hailuo-2.3`, `bytedance/seedance-2.0`, `google/veo-3.1`, `google/veo-3.1-fast`, or `google/veo-3-fast`. |
|
|
327
334
|
| `@scenerok/cloudflare` | `cf.imageToVideo(image, prompt, ...)`, `cf.referenceToVideo([images...], prompt, ...)`, `cf.extendVideo(video, prompt, ...)` | Use Cloudflare-backed image-guided, reference-guided, or extension modes when the selected model supports them. |
|
|
328
335
|
| `@scenerok/cloudflare` | `cf.listModels()`, `cf.models()` | Return model metadata as data; useful for exploration, not for timeline media. |
|
|
329
336
|
| `@elevenlabs/music` | `eleven.music(prompt, ...)`, `eleven.generateMusic(prompt, ...)`, `eleven.composeMusic(prompt, ...)` | Generate background music. Use a `let` binding if you need `volume`, `fade_in`, or `fade_out`. |
|
|
@@ -332,7 +339,16 @@ xAI TTS voices: `eve` for upbeat demos/announcements, `ara` for warm conversatio
|
|
|
332
339
|
|
|
333
340
|
Do not call `eleven.tts(...)`; the registered ElevenLabs package is `@elevenlabs/music` for music beds only. Use `xai.tts(...)` or `xai.textToSpeech(...)` for voiceover.
|
|
334
341
|
|
|
335
|
-
Cloudflare video
|
|
342
|
+
Cloudflare video calls accept these common signatures:
|
|
343
|
+
|
|
344
|
+
| Function | Signature |
|
|
345
|
+
|----------|-----------|
|
|
346
|
+
| `cf.video` / `cf.generateVideo` / `cf.imagine` / `cf.genVideo` | `(prompt, model?, aspect_ratio?, duration?, resolution?/quality?, generate_audio?, negative_prompt?, seed?, input?)` |
|
|
347
|
+
| `cf.imageToVideo` | `(image, prompt, model?, aspect_ratio?, duration?, resolution?/quality?, generate_audio?, negative_prompt?, seed?, input?)` |
|
|
348
|
+
| `cf.referenceToVideo` | `([images...], prompt, model?, aspect_ratio?, duration?, resolution?/quality?, generate_audio?, input?)` |
|
|
349
|
+
| `cf.extendVideo` | `(video, prompt, model?, duration?, aspect_ratio?, resolution?/quality?, input?)` |
|
|
350
|
+
|
|
351
|
+
Use `aspect_ratio: "9:16"` for vertical output, `"16:9"` for wide, `"1:1"` for square, or model-supported values such as `"4:3"`, `"3:4"`, and `"21:9"`. For Runway models, keep writing friendly `aspect_ratio` values; SceneRok translates them to Cloudflare's required `ratio` values such as `"720:1280"` for vertical Gen-4.5. Prefer explicit `model:` when choosing Cloudflare so the intended provider is clear.
|
|
336
352
|
|
|
337
353
|
**Invalid (will not validate):**
|
|
338
354
|
|
|
@@ -101,7 +101,9 @@ Do not overuse one plugin function. Choose deliberately:
|
|
|
101
101
|
| Voiceover | `xai.tts`, `xai.textToSpeech` |
|
|
102
102
|
| Music bed | `eleven.music`, `eleven.generateMusic`, `eleven.composeMusic` |
|
|
103
103
|
|
|
104
|
-
Use `imageToVideo` for one extracted screenshot/product/logo image. Use `referenceToVideo` for 1-7 reference images when extracted objects should guide the generated shot. xAI `referenceToVideo` requires a prompt and duration must be <= 10s.
|
|
104
|
+
Use `imageToVideo` for one extracted screenshot/product/logo image. Use `referenceToVideo` for 1-7 reference images when extracted objects should guide the generated shot. xAI `referenceToVideo` requires a prompt and duration must be <= 10s.
|
|
105
|
+
|
|
106
|
+
For Cloudflare calls, always prefer explicit `model:` and use `aspect_ratio: "9:16"` for vertical, `"16:9"` for wide, `"1:1"` for square, or model-supported values such as `"4:3"`, `"3:4"`, and `"21:9"`. `cf.imageToVideo(image, prompt, model: ..., aspect_ratio: ..., duration: ...)` accepts `aspect_ratio`; for Runway Gen-4.5, SceneRok translates `"9:16"` to Cloudflare's required `ratio: "720:1280"`. Useful models include `pixverse/v6`, `vidu/q3-turbo`, `runwayml/gen-4.5`, `minimax/hailuo-2.3`, `bytedance/seedance-2.0`, `google/veo-3.1`, `google/veo-3.1-fast`, `google/veo-3-fast`, `black-forest-labs/flux-2-pro-preview`, and `openai/gpt-image-2`. Veo models accept `duration: 4`, `duration: 4s`, or `duration: "4s"` — all forms snap to the supported 4s/6s/8s durations.
|
|
105
107
|
|
|
106
108
|
xAI TTS voices are only `eve`, `ara`, `rex`, `sal`, and `leo`.
|
|
107
109
|
|
|
@@ -141,7 +143,7 @@ Not `[0s - 5s]`.
|
|
|
141
143
|
|
|
142
144
|
## Rule 7: Quote safety in prompts
|
|
143
145
|
|
|
144
|
-
|
|
146
|
+
Escape quote characters inside prompt strings, e.g. `xai.imagine("Package labeled \"RokMilk\", no text, no watermark")`.
|
|
145
147
|
|
|
146
148
|
## Rule 8: Audio syntax
|
|
147
149
|
|