reelforge 1.19.0 → 1.20.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.
@@ -194,10 +194,8 @@ function optsToBody(opts) {
194
194
  out.subtitle_background = opts.subtitleBackground;
195
195
  if (opts.subtitleBottom !== undefined && Number.isFinite(opts.subtitleBottom))
196
196
  out.subtitle_bottom_px = opts.subtitleBottom;
197
- if (opts.components !== undefined)
198
- out.image_only = !opts.components;
199
- if (opts.theme !== undefined && opts.theme.trim())
200
- out.theme = opts.theme.trim();
197
+ if (opts.profile !== undefined && opts.profile.trim())
198
+ out.profile = opts.profile.trim();
201
199
  if (opts.subtitleTranslate !== undefined) {
202
200
  const v = opts.subtitleTranslate.trim();
203
201
  out.subtitle_translate_to = /^(off|none|no)$/i.test(v) ? "" : v;
@@ -228,6 +226,8 @@ function optsToBody(opts) {
228
226
  cover.subtitle = opts.coverSubtitle;
229
227
  if (opts.coverBadge !== undefined)
230
228
  cover.badge = opts.coverBadge;
229
+ if (opts.coverBase !== undefined)
230
+ cover.base = opts.coverBase;
231
231
  if (Object.keys(cover).length > 0)
232
232
  out.cover = cover;
233
233
  if (opts.segmentMinChars !== undefined)
@@ -297,8 +297,7 @@ export function registerCreate(program) {
297
297
  .option("--subtitle-color <css>", "override subtitle text color, e.g. '#ffeb3b'. Omit for preset default.")
298
298
  .option("--subtitle-background <css>", "override plate-preset background, e.g. 'rgba(20,30,80,0.75)'. Other presets ignore.")
299
299
  .option("--subtitle-bottom <px>", "override the subtitle bottom offset in px (default 400, the lower-third position). blur-bg/letterbox images move up to clear it.", (v) => parseInt(v, 10))
300
- .option("--components", "render data COMPONENTS (charts / cards / terminals / kinetic numbers) for suitable scenes instead of only AI images (default: image-only). Pair with --theme to pick the look.")
301
- .option("--theme <id>", "single visual theme for the whole video: neo-brutal | bloomberg | editorial | terminal | swiss | liquid-glass | y2k | neon | bauhaus | ios | prime (财经/金融). Only used with --components. Omit → inferred from the script.")
300
+ .option("--profile <id>", "视频的「场景」(垂类):plain(默认,纯 AI 图,无组件)| finance(财经/金融,数据组件 + 鎏金深蓝)| mindset(财商认知,认知组件 + 暖纸黏土)| general(通用组件,中性皮)。选了 profile 即带出它的组件、配色、配图风、封面与字幕默认,可被其他 flag 覆盖。")
302
301
  .option("--subtitle-translate <lang>", "双语字幕:把每条字幕翻译成指定语言,以小一号文字显示在主字幕下方,如 'en'(英文)/ 'ja'(日文)。开启后字幕分段自动变短(主字幕保持单行)。默认:开(en);传 'off' 关闭(也可覆盖 recipe 设置)")
303
302
  .option("--cover", "给视频加一张设计封面图作为首帧。抖音/TikTok/视频号默认抓取首帧当 9 宫格缩略图——加了 cover 在 feed 里更出挑;不加则首帧是 scene-01 + 字幕。也可由 recipe 自动启用(cover.enabled=true)。")
304
303
  .option("--no-cover", "强制关闭封面,无视 recipe 设置")
@@ -307,6 +306,7 @@ export function registerCreate(program) {
307
306
  .option("--cover-title <text>", "封面大标题(短句更佳,12 字内最稳)。不指定则用 --title 或 AI 自动生成的视频标题")
308
307
  .option("--cover-subtitle <text>", "副标题/一句话标语。不是所有模板都显示 — 看 `rf cover templates --id <id>` 的 supports.subtitle 字段确认 (= true 才会渲染,否则静默忽略)")
309
308
  .option("--cover-badge <text>", "角标/期号/紧急标,如 'EP.012' / '突发' / 'FLASH'。同样看 `rf cover templates --id <id>` 的 supports.badge 字段确认")
309
+ .option("--cover-base <path|url>", "封面底图(模板在其上绘制 title/纸带)。覆盖默认行为——默认按分镜1 自动取底图(AI图→该图 / 用户素材→图或视频首帧 / 组件→组件定格帧)。注意:这是底图,不是成品封面;想直接用一张成品封面请改用 `rf cover prepend`")
310
310
  .option("--brand-handle <text>", "creator handle shown in corner, e.g. '@大灰狼'")
311
311
  .option("--brand-slogan <text>", "creator slogan/tagline shown under handle")
312
312
  .option("--brand-logo <urlOrPath>", "logo/avatar URL or local file path (PNG/JPG/WebP)")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reelforge",
3
- "version": "1.19.0",
3
+ "version": "1.20.0",
4
4
  "description": "AI 视频生成 CLI。一句话主题或自己的脚本 → 自动出抖音/TikTok/视频号竖屏 MP4。安装即用:`reelforge` 或短别名 `rf`。",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",