@remixmate/cli 0.9.19 → 0.9.21
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/README.md +6 -6
- package/README.zh-CN.md +6 -6
- package/dist/capabilities.d.ts +3 -0
- package/dist/handlers/gen-image.d.ts +2 -1
- package/dist/handlers/gen-image.js +4 -5
- package/dist/handlers/gen-video.d.ts +3 -1
- package/dist/handlers/gen-video.js +62 -7
- package/dist/manifest.json +59 -33
- package/package.json +1 -1
- package/skills/gen-image/SKILL.md +9 -20
- package/skills/gen-image/skill.json +11 -11
- package/skills/gen-image/version.json +2 -2
- package/skills/gen-script/SKILL.md +25 -6
- package/skills/gen-script/scripts/gen_script.py +103 -5
- package/skills/gen-script/skill.json +7 -8
- package/skills/gen-video/SKILL.md +101 -49
- package/skills/gen-video/skill.json +35 -9
- package/skills/gen-video/version.json +2 -2
- package/skills/template-registry/scripts/match_template.py +14 -0
- package/skills/template-registry/video_dsl/schema/video-dsl-v1alpha1.json +11 -0
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"skillName": "gen-video",
|
|
3
3
|
"repoName": "agent-skill-media-maker",
|
|
4
4
|
"skillId": "339",
|
|
5
|
-
"version": "
|
|
6
|
-
"skillDescription": "AI video generation skill: produce a short clip from a text prompt. Backed by ab-api's `/model/genVideo` (Seedance
|
|
5
|
+
"version": "V9",
|
|
6
|
+
"skillDescription": "AI video generation skill: produce a short clip from a text prompt. Backed by ab-api's `/model/genVideo` (Seedance 2.0 family).\n\nUse this skill immediately whenever the user asks for any of:\n- Text-to-video, AI-generated clip, \"make a short video of ...\"\n- Generate video with Doubao / Seedance\n- Image-to-video, first-frame / last-frame, reference-image-to-video\n\nEven without an explicit \"use AI\", any request that turns a description into a moving clip should route here."
|
|
7
7
|
}
|
|
@@ -183,6 +183,16 @@ def build_binding(template: dict, dsl: dict) -> dict:
|
|
|
183
183
|
motion = template.get("defaultMotionPreset", "smooth")
|
|
184
184
|
colors = template.get("defaultColorScheme", [])
|
|
185
185
|
|
|
186
|
+
# 用户选中的字体(DSL 的 global.font)。这里只是把不透明 key 折进 typography,
|
|
187
|
+
# 真正的解析(uniqId → 排印家族名 + 字重文件)在 ab-render 侧完成。
|
|
188
|
+
#
|
|
189
|
+
# 优先级见 ab-platform/docs/font-selection-design.md §13.3:
|
|
190
|
+
# 用户选择 > variant.defaultFontId(预留档位,当前恒为空)
|
|
191
|
+
# > template.defaultTypography.bodyFont(现状裸 family 名)> 模板 theme 字栈
|
|
192
|
+
# 下面的 variant 合并在此之后执行,所以 fontId 单独在合并后再写回,
|
|
193
|
+
# 避免被 variant 的 defaultTypography 覆盖掉。
|
|
194
|
+
user_font_id = ((dsl.get("global", {}) or {}).get("font", {}) or {}).get("fontId")
|
|
195
|
+
|
|
186
196
|
# --- variant selection(确定性)---
|
|
187
197
|
# 优先级:
|
|
188
198
|
# 1) DSL 显式声明 — meta.templateVariant / meta.variant / renderHints.templateVariant
|
|
@@ -268,6 +278,10 @@ def build_binding(template: dict, dsl: dict) -> dict:
|
|
|
268
278
|
if vcolors:
|
|
269
279
|
colors = vcolors
|
|
270
280
|
|
|
281
|
+
# 用户的字体选择压过 variant 默认值(§13.3 的优先级第一档),所以写在合并之后。
|
|
282
|
+
if isinstance(user_font_id, str) and user_font_id.strip():
|
|
283
|
+
typography = {**typography, "fontId": user_font_id.strip()}
|
|
284
|
+
|
|
271
285
|
result = {
|
|
272
286
|
"version": "v1alpha1",
|
|
273
287
|
"templateId": template.get("templateId", ""),
|
|
@@ -105,6 +105,17 @@
|
|
|
105
105
|
"url": { "type": "string" },
|
|
106
106
|
"volume": { "type": "number", "default": 0.15, "minimum": 0, "maximum": 1 }
|
|
107
107
|
}
|
|
108
|
+
},
|
|
109
|
+
"font": {
|
|
110
|
+
"type": "object",
|
|
111
|
+
"description": "全局字体选择。省略 = 跟随模板自带的字体搭配。match_template 会把它折进 binding 的 globalOverrides.typography。",
|
|
112
|
+
"properties": {
|
|
113
|
+
"fontId": {
|
|
114
|
+
"type": "string",
|
|
115
|
+
"description": "字体库的不透明 key(font.uniq_id)。**不要在这里写 CSS family 名**:family 名是渲染细节,由 ab-render 调 /font/resolve 解析;写成 family 名一旦拼错就静默退回默认字体,没有任何报错。见 ab-platform/docs/font-selection-design.md §8.1。"
|
|
116
|
+
},
|
|
117
|
+
"fontName": { "type": "string", "description": "展示名,仅供人读与日志,渲染不使用" }
|
|
118
|
+
}
|
|
108
119
|
}
|
|
109
120
|
}
|
|
110
121
|
},
|