@remixmate/cli 0.13.1 → 0.13.2
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/manifest.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"version": "0.13.
|
|
4
|
-
"generatedAt": "2026-10-
|
|
3
|
+
"version": "0.13.2",
|
|
4
|
+
"generatedAt": "2026-10-25T07:41:14.830Z",
|
|
5
5
|
"skills": [
|
|
6
6
|
{
|
|
7
7
|
"id": "doc-parse",
|
|
@@ -625,6 +625,7 @@
|
|
|
625
625
|
"motion": {
|
|
626
626
|
"type": "string",
|
|
627
627
|
"enum": [
|
|
628
|
+
"auto",
|
|
628
629
|
"static",
|
|
629
630
|
"kenburns-in",
|
|
630
631
|
"kenburns-out",
|
|
@@ -632,7 +633,7 @@
|
|
|
632
633
|
"pan-right",
|
|
633
634
|
"float"
|
|
634
635
|
],
|
|
635
|
-
"description": "Camera motion for every scene (scenes[].animationHints.motion), replacing the skeleton's alternating push-in / pull-out. **Must** pass when the user picked one: `运镜效果: 缓慢推近(kenburns-in)` → `kenburns-in
|
|
636
|
+
"description": "Camera motion for every scene (scenes[].animationHints.motion), replacing the skeleton's alternating push-in / pull-out. **Must** pass when the user picked one: `运镜效果: 缓慢推近(kenburns-in)` → `kenburns-in`; `运镜效果: 自动搭配(auto)` → `auto` (the template varies the motion scene by scene; do not write animationHints.motion yourself then)."
|
|
636
637
|
},
|
|
637
638
|
"ending_payload": {
|
|
638
639
|
"type": "array",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remixmate/cli",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.2",
|
|
4
4
|
"description": "AI media generation skills for Claude Code / Codex — 12 skills covering image, video, voice, digital human, web screenshot, web recording, script, template registry, rendering, Jianying export, and video deconstruction.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -489,7 +489,7 @@ python3 <SkillDir>/scripts/gen_script.py \
|
|
|
489
489
|
| `--payload KEY=VALUE` | Template-specific card choice, repeatable. `KEY` is a dotted path in `customPayloadSchema` (or `capabilities.frameLevelKeys`), e.g. `<field>=<value>`, `<object>.<field>=<value>`. Value is converted to the declared type (true/false, numbers) and checked against enum / range; undeclared keys are rejected. Written to every scene with sibling keys kept, applied before fit-caption duration estimation. | template default |
|
|
490
490
|
| `--ending-payload KEY=VALUE` | Same as `--payload`, but written only to the ending scene, e.g. `<object>.<field>=<closing line>`. On countdown templates it also appends an ending scene after #1 (it carries the #1 index; fill its narration and the item field `capabilities.countdown.itemProp` names). Errors when the script has no ending scene. | none |
|
|
491
491
|
| `--avatar-id` | Digital-human avatar id (`dh_xxx`) for templates declaring `capabilities.digitalHuman`. Adds asset `asset-avatar` (`type: avatar`, `source: gen-digital-human`, `payload.avatarId`) and sets `visuals.avatar.assetRef` on every scene whose slot reads it — one continuous presenter driven by the narration. Placement: template default, or `--payload digitalHuman.<field>=…` (a photo-only presenter is `--payload digitalHuman.posterUrl=<url>` without this flag). | none |
|
|
492
|
-
| `--motion` | Camera motion for every scene (`animationHints.motion`): `static` / `kenburns-in` / `kenburns-out` / `pan-left` / `pan-right` / `float`. | skeleton alternates in / out |
|
|
492
|
+
| `--motion` | Camera motion for every scene (`animationHints.motion`): `static` / `kenburns-in` / `kenburns-out` / `pan-left` / `pan-right` / `float`. `auto` removes the motion from every scene so the template picks (image-slide rotates push / pan / pull / pan); nothing is locked then. | skeleton alternates in / out |
|
|
493
493
|
| `--font-id` | Font library key (`font.uniq_id`), written to `global.font.fontId`; ab-render resolves and installs the real font at render time. Pass it whenever the user picked a font — the replicate card shows it as `名字(id)`, e.g. `字体: <名字>(<uniqId>)`; pass the id in the parentheses. Never pass a CSS family or the display name: an unknown key falls back to the template font with no error. | template font |
|
|
494
494
|
| `--font-name` | Display name of the picked font → `global.font.fontName` (display only, never used for rendering). Pass it with `--font-id`. | — |
|
|
495
495
|
| `--list-fonts` | Print the live font library (`/font/page`: id, name, lang, category, license) and exit; no script is generated and `--topic` is not needed. The ids it prints are the only valid `--font-id` values — use it when the user asks which fonts exist or names a font without its id. | — |
|
|
@@ -1873,18 +1873,23 @@ def _apply_scene_payload(
|
|
|
1873
1873
|
|
|
1874
1874
|
writes = _parse_payload_specs(template_config, payload_specs)
|
|
1875
1875
|
if motion:
|
|
1876
|
-
allowed = ("static", "kenburns-in", "kenburns-out", "pan-left", "pan-right", "float")
|
|
1876
|
+
allowed = ("auto", "static", "kenburns-in", "kenburns-out", "pan-left", "pan-right", "float")
|
|
1877
1877
|
if motion not in allowed:
|
|
1878
1878
|
raise ValueError(f"--motion {motion!r}: choose one of: {', '.join(allowed)}")
|
|
1879
1879
|
|
|
1880
1880
|
for scene in dsl.get("scenes", []):
|
|
1881
1881
|
_write_payload(scene.setdefault("customPayload", {}), writes)
|
|
1882
|
-
if
|
|
1883
|
-
|
|
1884
|
-
|
|
1882
|
+
hints = scene.get("animationHints") if isinstance(scene.get("animationHints"), dict) else None
|
|
1883
|
+
if motion == "auto":
|
|
1884
|
+
|
|
1885
|
+
|
|
1886
|
+
if hints is not None:
|
|
1887
|
+
hints.pop("motion", None)
|
|
1888
|
+
elif motion:
|
|
1889
|
+
scene["animationHints"] = {**(hints or {}), "motion": motion}
|
|
1885
1890
|
for parts, _ in writes:
|
|
1886
1891
|
_lock_scene_path(dsl, "customPayload." + ".".join(parts))
|
|
1887
|
-
if motion:
|
|
1892
|
+
if motion and motion != "auto":
|
|
1888
1893
|
_lock_scene_path(dsl, "animationHints.motion")
|
|
1889
1894
|
|
|
1890
1895
|
|
|
@@ -2817,7 +2822,8 @@ Examples:
|
|
|
2817
2822
|
parser.add_argument(
|
|
2818
2823
|
"--motion", default=None,
|
|
2819
2824
|
help="Camera motion for every scene (animationHints.motion): static / kenburns-in / kenburns-out / "
|
|
2820
|
-
"pan-left / pan-right / float. Replaces the skeleton's alternating default."
|
|
2825
|
+
"pan-left / pan-right / float. Replaces the skeleton's alternating default. `auto` removes the "
|
|
2826
|
+
"motion from every scene so the template picks (image-slide rotates push / pan / pull / pan).",
|
|
2821
2827
|
)
|
|
2822
2828
|
parser.add_argument("--allow-digital-human", action="store_true", help="Allow digital-human assets")
|
|
2823
2829
|
parser.add_argument("--avatar-id", default=None, help="Digital-human avatar id (dh_xxx) for templates declaring capabilities.digitalHuman: adds one gen-digital-human asset referenced by every scene's visuals.avatar.assetRef (one continuous presenter driven by the narration). Placement stays the template default unless set with --payload digitalHuman.<field>=...")
|
|
@@ -83,6 +83,7 @@
|
|
|
83
83
|
"motion": {
|
|
84
84
|
"type": "string",
|
|
85
85
|
"enum": [
|
|
86
|
+
"auto",
|
|
86
87
|
"static",
|
|
87
88
|
"kenburns-in",
|
|
88
89
|
"kenburns-out",
|
|
@@ -90,7 +91,7 @@
|
|
|
90
91
|
"pan-right",
|
|
91
92
|
"float"
|
|
92
93
|
],
|
|
93
|
-
"description": "Camera motion for every scene (scenes[].animationHints.motion), replacing the skeleton's alternating push-in / pull-out. **Must** pass when the user picked one: `运镜效果: 缓慢推近(kenburns-in)` → `kenburns-in
|
|
94
|
+
"description": "Camera motion for every scene (scenes[].animationHints.motion), replacing the skeleton's alternating push-in / pull-out. **Must** pass when the user picked one: `运镜效果: 缓慢推近(kenburns-in)` → `kenburns-in`; `运镜效果: 自动搭配(auto)` → `auto` (the template varies the motion scene by scene; do not write animationHints.motion yourself then)."
|
|
94
95
|
},
|
|
95
96
|
"ending_payload": {
|
|
96
97
|
"type": "array",
|