Summary
用对话式一句话触发"灵剪(lingjian)"短视频生产主干:从文本/链接/图片参考素材出发,经脚本→配音→画面三道人工审批门,产出可预览或可发布的竖屏短视频,并导出分发包。全流程可复跑、门禁可审计。当用户说"帮我做一条短视频""把这段文案/这个链接做成视频""生成抖音/小红书/YouTube…
dososo/blcaptain-lingjian-video · Archived
用对话式一句话触发"灵剪(lingjian)"短视频生产主干:从文本/链接/图片参考素材出发,经脚本→?
npx skills add dososo/blcaptain-lingjian-video --skill lingjian-video
用对话式一句话触发"灵剪(lingjian)"短视频生产主干:从文本/链接/图片参考素材出发,经脚本→配音→画面三道人工审批门,产出可预览或可发布的竖屏短视频,并导出分发包。全流程可复跑、门禁可审计。当用户说"帮我做一条短视频""把这段文案/这个链接做成视频""生成抖音/小红书/YouTube…
This repository is archived — consider an actively maintained alternative.
当用户需要把内容(文章、笔记、截图、数据、产品说明)做成中文图文卡片组图时使用——小红书 / Rednot…
41 installs严格审视 HarmonyOS、OpenHarmony 与 ArkUI 产品或代码,只报告有证据的设计、导航、跨设备适?
4 installs把用户对 HarmonyOS、ArkUI、Canvas 或代码生成产品动效的模糊描述转换为准确术语、相近概念和可能的 …
4 installs审视、设计、从零启动或改进 HarmonyOS、OpenHarmony 与 ArkUI 产品界面。用于检查 ArkTS UI、建立新…
4 installsDeclared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
main
Files included with this skill beyond the listing page.
SKILL.md
50,161 B
SUMMARY.md
475 B
灵剪是一个通用的发布级中文短视频生产 Skill,可在任意能跑命令的 AI Agent 里运行(经 lj CLI)。用户只说目标、给文案/素材/录音或授权,宿主 agent 负责安装依赖、检测并继承能力、引导补齐发布级 TTS 与画面能力,再编排"素材 → 脚本 → 配音 → 画面 → 底部字幕 → 渲染 → QA → 导出"。CLI 是底层执行引擎,不是普通用户主入口。
诚实前提:灵剪只保证流程可复跑、门禁可审计,不承诺成片质量或"爆款"。
市面 AI 视频"一句话出片"是黑箱:骰子摇一次,吐一条,你没法改。灵剪反过来 —— 一句话进,脚本 / 分镜 / 配音 / 画面 / 配乐 / 字幕 / 音效全自动,但每一关,都能审。五条差异化,任何一条丢了灵剪就退化成又一个黑箱:
localhost 打开一个可读、可交互的导演板,把这一关的候选逐项摆给用户看。见下节红线。localhost / 本地静态服务打开(仓库 director-board/ 内 render.js + board.schema.json + standalone.html)。绝不把任何云端 / 部署 / 隧道 / 开发调试地址(vercel、trycloudflare、ngrok、作者私有预览页等)当作用户控制台展示,也绝不写进任何面向用户或对外发布的产物。用户走的每一步,右侧打开的都是他自己机器上的页面。board.schema.json 的 board.json(meta + shots[],每镜 energy/script/signature/beats/transitions),渲染器逐镜展示 + 逐镜"确认"按钮;handle.allConfirmed() 全绿才允许进下一关。meta 文案与卡片字段复用,不为每关重写。Date.now / 未播种 random,导演板可复现;纯原生 JS + SVG,无第三方库、无网络请求(读本地数据除外)。doctor --json、export VOLCENGINE_... 或 provider 配置细节。[voiceplan.json](/Users/.../artifacts/voiceplan.json)、[full.wav](/Users/.../artifacts/voice_segments/full.wav)。docs/ONBOARDING.md 是唯一标准,逐字照搬):macOS 用 security 存进 Keychain、Linux 用 secret-tool 存进 Secret Service(两者 service = account = lingjian:<NAME>,前缀不能少,否则灵剪读不到)、Windows 用用户环境变量(SetEnvironmentVariable(...,"User") 或当前会话 $env:)。存后灵剪启动自动注入(injectstoredcredentials 读回),无需每次手动 export。命令用单次 stty -echo+IFS= read -r 读入(不用 security -w 两次确认,长 key 粘两遍必报 passwords don't match),粘贴时不回显要明说“看不到字符是正常的”。必须说明“直接粘贴原文,不要加双引号,不要发到聊天里”;key 只进本机安全存储,不上传、不联网。--style 控制统一风格,--profile 控制平台+受众预设。不要让用户堆一堆比例、节奏、字幕、BGM flag;缺省用 --style cleanproduct --profile douyinproduct。styles/<key>.md)——voxcut(Vox 编辑剪影·橙黑半调)、darkkeynote(暗场发布·史诗)、cinematic(写实电影感·国风人文)、neuesachlichkeit(新客观主义·实物档案);另有通用收敛预设 cleanproduct、boldnews、warmlifestyle、techminimal。选风格后,必须读 styles/<key>.md 用它的色板/字体/质感/动画/prompt 约束去指导 Seedance/生图,别只当标签。换风格 = 复用横切能力换皮重排,不重做。可用 profile: productintro、opensourceprojectintro、tutorialguide、reviewcomparison、ecommercesales、knowledgeexplainer、douyinproduct、xiaohongshulife、shipinhaoknowledge。这些只收敛导演契约和提示,不承诺爆款。requiredevidence 必须进入每镜导演分镜确认单、visualplan.json、rendermanifest.json 和 QA;不能只停留在提示词或文档里。--release --strict 下,Profile 要求的素材/证据没有进入每镜 expectedrealevidence / assetstrategy_v2 时必须阻断。普通用户第一次触发灵剪时,先用人话收集最小需求,不要直接进入 provider、CLI、JSON 或环境变量说明。必须确认以下 7 项:
我要做一条【平台】短视频,主题是【主题/产品/观点】。
画幅比例选择【9:16 / 16:9 / 3:4 / 4:3 / 1:1】,如果不确定,我会按平台推荐默认值。
内容依据是【一句话说明 / Markdown / 文档 / PDF / PPT / 网页链接 / GitHub 仓库 / 已有文案 / 其他素材】。
目标用户是【谁】。
希望观众看完后【下单/关注/咨询/理解某个观点】。
我现在有/没有现成视频素材。
我现在有/没有录好的口播音频。
执行规则:
lj ingest command --command ... 把命令输出保存为项目内终端文本证据;这只是终端回放素材,不是屏幕录制。若用户/宿主已配置 LINGJIANTERMINALRECORDCLI,可加 --record 采集真实终端录屏;未配置或失败时必须如实提示,不得伪造录屏。Codex 操作录屏可用 lj ingest codex --scene-id ...;默认只登记录屏任务,不会录当前屏幕。只有用户确认当前屏幕可录且无隐私内容后,才可加 --allow-screen-recording 触发 macOS screencapture 或 LINGJIANCODEXRECORDCLI;录屏失败或不可验证仍不能伪造成 captured。voice_id 和试听文件。内容输入引导话术:
接下来先确定内容依据。你可以直接给我:
1. 一段文字/Markdown;
2. 一个网页或 GitHub 链接;
3. PDF、PPT、Word 文档;
4. 已有脚本/产品介绍/截图。
如果你只是给了主题,我会先问你是否允许我使用当前仓库 README / GitHub 页面作为依据,确认后再写脚本。
配音不是“选一个音色后直接生成”。脚本批准后、正式调用发布级 TTS 或接入用户录音前,必须先给用户看“配音导演确认单”。这一步是必经环节,不能省略。
每条视频至少确认:
整体口播定位:产品介绍 / 教程说明 / 带货转化 / 知识科普 / 活动预告等。
目标听感:亲和、清晰、可信、兴奋、沉稳、专业或生活化。
语速策略:开头抓人、中段说明、证明处放慢、CTA 稍有行动感。
情绪曲线:每镜从 Hook、痛点、方案、证明到 CTA 的情绪变化。
停顿与重音:哪些词要强调,哪里需要短停顿,哪里不能连读。
分镜表达:每镜的语气、节奏、重读词、停顿点和结尾收束。
禁忌:不要广告腔、不要机器人腔、不要全程同一情绪、不要夸张吼叫。
试听策略:先用短句或第一镜试听;用户满意后再生成全片。
验收点:用户听完应觉得自然、像产品介绍、能听清价值和行动号召。
执行规则:
voice_plan.json 或试听音频;用户说“不自然/情绪不对/声音变了”时,先调整配音导演稿或固定同一音色参数,不要直接进入画面。画面三审不是让用户确认“旁白对应一个镜头”,而是确认“这一镜到底会看到什么、怎么动、怎么转场、字幕如何避让、声音如何配合”。没有导演分镜确认单,不要进入画面生成或批准 visuals。
出现位置:
visual_plan.json 生成后、调用 lj approve visuals 前,必须立刻在对话里完整展开导演分镜确认单。[visual_plan.json](绝对路径) 可点击链接,但链接只能作为补充,不能替代正文展示。directorreviewsheet.md。每次先展示全片风格锁:整体色调、主色/辅助色/背景色、字体/材质、明暗与运动气质。每镜至少展示:镜头目标/口播、画面会看到什么、素材策略与状态、构图、动效关键帧、转场、字幕、音效、批准前要看什么。完整长版仍保留在 directorreviewsheet.md 和 visual_plan.json 里,链接只能作补充。参考 HyperFrames / motion-graphics 的成熟做法,灵剪画面三审必须遵守:
每一镜给用户看的“导演分镜确认单”至少包含:
镜头目标:这一镜承担 Hook / 痛点 / 方案 / 证明 / CTA 哪个叙事功能。
画面内容:具体出现什么主体、场景、产品/界面/数据/人物/素材。
素材策略:使用用户视频、宿主生成视频、界面录屏、动态图形或待补素材;图片只能作参考。
构图与焦点:主体位置、视觉焦点、前中后景、底部字幕和平台 UI 避让。
视觉元素:短标题、数据、图标、按钮、箭头、界面卡片、背景材质;哪些必须出现,哪些禁止。
动效与镜头运动:主运动、次运动、镜头推进/横移/缩放/遮罩/视差/卡片展开等。
关键帧节奏:按时间点列开场、中段、结尾状态,确保全时长都有发展。
转场设计:入场、出场、与前后镜头衔接方式,避免无意义闪白和乱跳。
字幕策略:底部安全区、每行字数、拆句、字号、描边/底色/遮罩、主体避让。
颜色与氛围:主色、辅助色、明暗、质感、统一 style_lock。
音乐与音效:BGM 情绪、提示音/点击音/转场音、音量关系。
禁止项:静态图放几秒、Ken Burns 冒充视频、模板循环、大段文字复读旁白、中心字幕遮挡主体。
验收点:用户看这一镜时应该能判断哪些东西必须生成出来。
这份确认单要用人话展示给用户,不要直接甩 JSON。展示给用户时必须完整列出上述所有核心项,不得简化成“画面/动效/转场/音效”等少数摘要项,也不得省略素材策略、构图焦点、关键帧、字幕策略、色彩氛围、禁止项和验收点。用户批准后,同一内容再写入 visual_plan.json 的结构化字段,供 HyperFrames/Remotion/外部生成器执行与 QA 复核。
展示格式要求:
visualplan.json 中的权威用户审阅入口是 directorreviewsheetv2.scenes[]。每镜还必须包含 assetdiagnosis,明确素材状态、是否可作为发布级动态视频、下一步补齐动作。若 assetdiagnosissummary.nonpublishgradecount > 0,给用户只展示 assetdiagnosissummary.singlenextaction_zh 作为当前最短动作,不要同时抛出一堆插件/key/素材选项。
P1 起,visualplan.json 还必须包含 directorknowledgebasev1 与 directorroutersummary。每镜要展示 enginepolicy、routereason、assetstrategyv2、expectedrealevidence、directorknowledgerefs 和 caption_contract,让用户能看懂这一镜为什么用 HyperFrames/Remotion/用户视频/待补素材,以及需要哪些真实证据画面。普通用户不需要手选引擎;宿主 agent 只把路由理由和缺口动作讲清楚。
Director Router 不能只写好看的解释字段。每镜 enginepolicy.generator、enginepolicy.selectedengine 必须和实际 generator/素材类型一致:HyperFrames 镜头就是 hyperframes,Remotion 镜头就是 remotion,用户动态视频就是 uservideo,图片/缺素材就是 needsvideoasset 或参考素材。不要为了通过审核把 Router 文案改成发布级,但实际仍走图片、fallback 或其它生成器;--release --strict 会阻断这种不一致。
如果某镜路由到 Remotion,必须先向用户说明 Node/Chrome Headless 与 Remotion 商用 license 边界,并在用户确认后把 enginepolicy.licenseconfirmation.status=confirmed 或等价确认字段写入产物。只写”Remotion 需要 license”不够;--release --strict 会阻断未确认 license 的 Remotion 镜头。
踩坑固化的硬规则,违反即返工。核心一句:别把”我设了这个值”当成”这件事发生了”。
silencedetect 测、卡点用 whisper 逐字对齐测、音效接触点从源片逐帧测。字数估切点必错。loudnorm 复测。silencedetect 反测。lj run/voice --no-voiceover —— 不合成配音,文字卡(onscreentext)代旁白承担叙事,镜时长按文字卡阅读时长定,音频 = BGM + SFX(都无则纯静音基轨)。QA 认 voiceover=false 不强制真实配音、字幕认文字卡。适合实物档案 / 蓝晒这类「演示不讲道理」的风格,别硬塞旁白。lj ingest audio --kind bgm(或 --kind sfx)挂载,渲染自动混音(BGM 默认比人声低 16dB)。BGM 气质靠用户试听选,不擅自定。tpad),别用 -shortest 截掉音频尾。codex exec -s workspace-write --skip-git-repo-check "用生图能力生成<画面描述>,保存为 <路径>.png"(本项目样片的图都是这样在 Claude 里生的)。环境预检查 codex CLI 可用(lj setup 已检测 codex_cli);中国题材锁东亚面孔 + 严格年代,封面/关键帧留白放标题、按目标比例构图。<Player> 网页内实时调参预览(喂灵剪「控制台实时展示」)、成熟 AWS Lambda 规模化云渲染、React 数据驱动个性化批量。Remotion 是 source-available、>3 人营利须付费:路由到 Remotion 的镜必先过 license 确认门(见主线工作流,--release --strict 阻断未确认),合规方式(≤3人免费 / 授权核验 / 当独立管线产物当素材)由用户定。<video> 切换都失败)→ 成片必须 ffmpeg 服务端合成单个 mp4 才能内嵌播放,别把多个 video 标签丢给前端。capabilities/,不是参考摆设)灵剪的差异化内核在 capabilities/,宿主 agent 走每一步必须调用它们,不是可选参考——否则就退化成又一个「一键黑箱」:
capabilities/sfx-strategy/SFXSTRATEGY.md 五铁律 + 21 动作→音效映射表:每记音效对应一个明确画面动作(motivated),找不到对应画面的删;快节奏截短去拖尾、高潮留余韵、舒缓收尾不用低频拖尾;跟念轻音不抢人声;音量靠固定增益分层(不 sidechain / 不 ducking);时间用 cadence 精确卡点。★音效 mp3 库不随发布仓打包(来自 hyperframes-media skill),用户需自备免版权 mp3,或用 sfxmix.py <full.mp4> <hits.json> <out.mp4> <你的音效目录>(第 4 个位置参数指定音效目录),见 SFX_STRATEGY.md「库来源」。capabilities/transition-library 内容匹配器(match.js:按相邻镜能量差 ΔE + 语义 + 母题 + 风格荐转场)+ 稀缺守卫(强转场全片默认 ≤3,超配额自动降级为隐形硬切/匹配剪辑);反廉价护栏(90% 隐形硬切、闪白/闪黑任一秒 ≤3 次)。默认硬切,强转场只压 2–3 个能量拐点。capabilities/cadence/cadence.py(silencedetect 测配音停顿→语音段起点,noise=-30dB d=0.05):画面事件 start 绝不早于对应词起点(可 −0.05~0.1s 让加速段提前、峰值正压词)。主线 voiceplan.voicecadence 已按同一逻辑自动测。capabilities/layout-safety/TYPOGRAPHY_RULES.md,防大字压标签、越界等 inspect 查不出的字形级溢出。lj console <项目> [--gate auto/voice/script/board] --json 起本机导演板:它按当前关自动生成候选页(配音关=音色卡+播放器;脚本/分镜关=render.js 能量曲线板+每镜确认),打印 http://127.0.0.1:<port>/,宿主 agent 在右侧浏览器打开、用户逐项确认(写回 console_state.json)。别再把候选当文件甩进对话 —— 用控制台(见上文红线)。这些能力全比例、全风格通用:换比例/换风格是复用它们换皮重排,不重做。
适合:给了文案/链接/图片想做竖屏短视频;想走可审计流程并逐步过审;先出预览档(零配置)或具备真实能力后出发布档;导出分发包。 不适合/先澄清:要复杂动效/timeline/模板市场/AI 生图生视频/数字人(均不在 M1);要"保证上热门"(不承诺);只想聊运营选题(非主线核心,只能作明确标注的可选后续)。
普通用户路径从与宿主 agent 对话开始:先运行 lj setup 并用人话说明"已继承 / 已具备 / 必须补齐 / 可选增强"。doctor --json 只给宿主 agent/审计脚本内部判断,不要让普通用户直接解读 JSON。
uv sync
uv run lj setup # 能力仪表盘:优先继承已登录 CLI / 本机能力
uv run lj doctor --json # 逐项体检;required 缺失时 exit code 非 0
docs/CREATORQUICKSTART.md;能力边界见 docs/CAPABILITYMATRIX.md。画面能力:
npx hyperframes 时,lj 通过薄子进程适配器按镜生成 mp4 到 expectedassetpath;这只能证明动态样片流程,不能自动算发布级视觉。发布级必须使用用户每镜真实视频素材,或显式验证过能生成内容相关动态视频资产的宿主插件/外部生成器。lj 不 import、不 bundle Remotion/HyperFrames SDK,只委托 CLI 或消费落盘资产并用 FFmpeg 组装。visualprompt 与 motionspec 渲染更丰富的每镜视频产物到 expectedassetpath;自备每镜 mp4/mov/m4v 是发布级稳态回落。imagegen/图片只可做样片/参考。缺插件时要先引导用户在宿主 agent 的插件/skill 安装入口安装/启用,或让用户提供视频素材;仍缺失才回落 fallback_solid,且只能称为预览/占位。engine_policy。未确认时不能继续发布级 strict 导出。两档模式:
--strict --release 会阻断。真实 provider 环境变量(仅从环境读取,不写入 artifact/日志/release 包):
export LINGJIAN_LLM_CLI=your-llm-command
export LINGJIAN_TTS_CLI=your-tts-command
export OPENAI_BASE_URL=... OPENAI_API_KEY=... OPENAI_MODEL=...
export OPENAI_TTS_BASE_URL=... OPENAI_TTS_API_KEY=... OPENAI_TTS_MODEL=...
export VOLCENGINE_TTS_API_KEY=...
灵剪是 agent 通用 skill,宿主 agent(Claude / Codex / Gemini / Cursor…)本身就是那个 LLM。脚本、旁白、分镜文案这类「需要智能创作」的内容,第一优先级是宿主 agent 直接产出,再交给 lj 做结构化 / 校验 / 门禁 —— 不要用 --script-provider auto/claude/codex 去 shell 调一个外部 claude -p / codex exec 子进程。你在 Claude 里跑,再 fork 一个无头 claude 是南辕北辙:多一层、易超时、常因未登录而失败。
LLM 宿主(你自己就是 LLM)默认走这条:
# 1) 导出创作契约(钩子库 / 风格锁 / 素材摘要),你按它创作,才对得上风格
uv run lj script ./projects/demo --type product --platform douyin --language zh-CN --ratio 9:16 --duration 45 --style vox_cut --profile product_intro --emit-contract --json
# 读 artifacts/script_contract.json → 你(宿主 agent)按顶级脚本方法论 + 契约,直接创作脚本
# 写成 {"scenes":[{"id":"s1","narration_text":"…"}, …]} 存成 authored.json
# 2) 回填(provider 记为 host_authored,非 mock)
uv run lj script ./projects/demo --type product --platform douyin --language zh-CN --ratio 9:16 --duration 45 --style vox_cut --profile product_intro --from-file authored.json --json
聚合命令同理:lj run ... --script-provider host 到脚本关会导出契约并暂停(status: awaitinghostauthoring),等你自产脚本 --from-file 回填后再继续 lj run。
--script-provider auto/claude/codex/openai 只留给「宿主不是 LLM」的场景:纯自动化 / CI / 被非智能程序驱动、或宿主 agent 无创作能力时,才委托外部 LLM CLI 或 OpenAI-compatible API 兜底。mock 只出占位骨架,仅预览、禁当发布质量。
当前 CLI 支持
lj run聚合命令。默认会在 script / voice / visuals 三审点停下;显式--yes仅用于 CI 或用户明确授权的自动审批。所有命令加 --json;前缀统一 uv run lj;⏸ 为三审暂停点,必须停下等用户确认再 approve。脚本关:LLM 宿主走上一节「宿主自产」(--script-provider host或lj script --emit-contract/--from-file),不要 fork 外部 CLI。
每个暂停点给用户展示 artifact 时,必须同时给可点击文件链接。比如脚本审阅给 [script.json](绝对路径),配音审阅给 [voiceplan.json](绝对路径) 与 [full.wav](绝对路径),画面审阅给 [visualplan.json](绝对路径),导出后给 [video.mp4](绝对路径) 和导出包目录链接。
uv run lj run ./projects/demo --name "演示项目" --input-file examples/product_intro_zh.txt --script-provider host --voice-provider auto --json
# ⏸ 审阅 artifacts/script.json 后:
uv run lj approve script ./projects/demo --approved-by '你的名字' --json
# ⏸ 先展示配音导演确认单:整体口播定位、语气情绪、语速、停顿、重音、每镜表达。用户确认后才生成正式配音。
uv run lj run ./projects/demo --json
# ⏸ 审阅 artifacts/voice_plan.json 后:
# 必须给用户三个反馈入口:批准配音 / 压到目标时长 / 调整语气情绪。
uv run lj approve voice ./projects/demo --approved-by '你的名字' --json
uv run lj run ./projects/demo --json
# ⏸ 审阅 artifacts/visual_plan.json 后:
uv run lj approve visuals ./projects/demo --approved-by '你的名字' --json
uv run lj run ./projects/demo --json
真做内容时,脚本关走宿主自身 LLM 自产(--script-provider host,见上「宿主自产」节),不要默认 mock、也不要 fork 外部 claude/codex CLI:
uv run lj run ./projects/demo --name "演示项目" --input-file examples/product_intro_zh.txt --script-provider host --voice-provider auto --json
如果使用火山豆包 TTS 且用户还没选音色,lj run 必须先停在 voiceoptions 阶段,生成 artifacts/voiceoptions.json 与默认 5 个试听音频,优先为 2 个女声 + 3 个男声。用户试听后再用选中的 voice_id 继续正式配音;不要默认隐藏音色直接合成。如果实际少于 5 个可用试听,就明确告诉用户当前账号只验证到这些可用音色,不要表现成系统遗漏了其他音色。
音色选定后,不要立刻生成全片配音。必须先按脚本生成配音导演确认单,用人话列出整体口播定位、每镜语气情绪、语速、停顿、重音和 CTA 表达;用户批准后再调用正式 TTS。若用户要求“产品介绍感”,默认采用清晰、亲和、可信、有产品发布感的表达,但仍要展示给用户确认。
已有录好的口播音频时:
uv run lj run ./projects/demo --name "演示项目" --input-file examples/product_intro_zh.txt --script-provider host --voice-audio-file narration.m4a --json
逐条命令备选:
uv run lj setup && uv run lj doctor --json
uv run lj init ./projects/demo --name "演示项目" --json
uv run lj ingest text ./projects/demo --file examples/product_intro_zh.txt --json
# 或 ingest url ./projects/demo --url '粘贴网页链接' --screenshot --json
# 或 ingest command ./projects/demo --command "uv run lj doctor --json" --role terminal --json
# 或 ingest codex ./projects/demo --task "展示 lingjian-video 进入分镜三审" --json
# 默认只登记 Codex 操作录屏任务。确认当前屏幕可录且无隐私内容后,
# 才可加 --allow-screen-recording 触发 macOS screencapture 默认适配器或
# LINGJIAN_CODEX_RECORD_CLI;也可手动拖入 mp4。只有 ffprobe 确认视频流后,
# 才会成为 Codex 操作录屏证据。失败时只记录任务,不伪造录屏。
# 或 ingest image ./projects/demo --file '图片文件路径' --role cover --json
uv run lj extract ./projects/demo --json
# LLM 宿主:--emit-contract 拿契约 → 自产 → --from-file 回填(见上「宿主自产」节);下行 mock 仅零配置预览
uv run lj script ./projects/demo --type product --platform douyin --language zh-CN --ratio 9:16 --duration 45 --provider mock --json
uv run lj approve script ./projects/demo --approved-by '你的名字' --json
uv run lj voice ./projects/demo --provider mock --voice test-voice --json
# 或者用用户录好的口播音频:
uv run lj voice ./projects/demo --provider auto --voice user --audio-file narration.m4a --json
uv run lj approve voice ./projects/demo --approved-by '你的名字' --json
uv run lj visuals ./projects/demo --engine ffmpeg_card --template product --json
# 审阅 artifacts/visual_plan.json:确认每镜 generator、visual_prompt、motion_spec、expected_asset_path。
# 宿主启用了 HyperFrames/Remotion/imagegen 时,按 expected_asset_path 生成 mp4 等动态视频资产;图片只可做样片/参考。缺宿主能力时先引导安装/启用插件或 skill,允许用户放自有视频素材,最后才回落卡片。
uv run lj approve visuals ./projects/demo --approved-by '你的名字' --json
uv run lj render ./projects/demo --platform douyin --language zh-CN --ratio 9:16 --json # 发布档追加 --release
uv run lj qa ./projects/demo --json # 发布前:qa --release --platform douyin
uv run lj export ./projects/demo --platform douyin --language zh-CN --ratio 9:16 --json # 全平台:--all-platforms;发布包:--release
辅助:uv run lj status|reindex ./projects/demo --json;uv run lj credentials status|forget <name> --json。
平台参数(诚实):--platform 为自由字符串。M1 中 youtube 会额外产出缩略图/描述/章节等附加文件;其余平台按通用结构导出。竖屏常用 --ratio 9:16。
--strict 阻断。--strict 阻断并报告 RELEASEAUDIOISPREVIEWVOICE。商用发布优先使用用户录音或自然中文云 TTS。--voice-audio-file 接入;没有录音时再引导配置发布级 TTS API。Kokoro 只能用于免费样片试听。VOLCENGINETTSAPI_KEY。BalanceNotEnough),门槛是预留不是扣费、开通后按量后付费。再打开「API Key 管理」 https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey 创建 Key(ARK key 是 UUID 形态、实测长 46、无 sk-/ak- 前缀)。拿到后按 docs/ONBOARDING.md 的标准命令存进安全存储(service=account=lingjian:VOLCENGINEARKAPI_KEY)。禁真人脸参考图;认火山方舟官方入口,别下蹭名仓库。docs/ONBOARDING.md 的三平台标准命令(service=account=lingjian:<NAME>,前缀不能少):macOS printf+stty -echo+IFS= read -r+security(不用 read -s -p、不用 -w 两次确认),Linux secret-tool store,Windows 用户环境变量/$env:。存后灵剪启动自动注入,无需再手动 export。Date.now、未播种 random、用 setTimeout 做渲染时序、渲染期网络请求、repeat:-1 无限循环;使用帧驱动或 paused master timeline;固定 width/height/fps;字幕最后叠加且位于底部安全区;剪切点 30ms 淡入淡出,不在词中切;BGM 比人声低 16dB。--style techminimal --profile shipinhaoknowledge 做一个知识类竖屏视频。”lj console <项目> 已实现(v1.1.0) —— 起本机 localhost 服务 + 按当前关自动生成候选页(配音关=音色卡+内联播放器;脚本/分镜关=render.js 能量曲线导演板 + 每镜「确认」)+ /confirm 写回 artifacts/consolestate.json;宿主 agent 把打印的 URL 在右侧浏览器打开、用户逐项确认。渲染器 render.js + 契约 board.schema.json 随仓库发布。仍在推进(别宣称已做):画面关(visualplan.json)专用视图、确认写回自动转 lj approve、lj run 自动在每关调起 console。apps/web(Next.js)仍是骨架,非当前控制台路径。