hyperframes CLI 是使用HyperFrames的主要方式。它可以从您的终端处理项目创建、实时预览、渲染、linting 和诊断。
何时使用
当您想要执行以下操作时使用 CLI:- 捕获用于视频制作的网站 (
capture) - 从示例创建一个新的组合项目 (
init) - 通过实时热重载预览合成 (
preview) - 在本地或 Docker 中将合成渲染为 MP4 (
render) - 针对结构问题的 Lint 组合 (
lint) - 检查渲染的视觉布局是否有文本溢出和剪切容器 (
inspect) - 将关键帧捕获为 PNG 屏幕截图 (
snapshot) - 检查您的环境是否缺少依赖项 (
doctor)
- 从 Node.js 代码以编程方式渲染 - 使用 生产者
- 构建自定义帧捕获管道 - 使用 engine
- 在您自己的网络应用程序中嵌入合成编辑器 - 使用 studio
- 在代码中解析或生成合成 HTML — 使用 core
默认情况下对代理友好
CLI 默认情况下对代理友好:命令支持显式标志和可解析输出,因此自动化可以可靠地运行。- 输入可以通过标志传递(例如,
--example、--video、--output) - 缺少必需的标志会快速失败,并提供清晰的错误和使用示例
- 输出是适合解析的纯文本
init 默认使用 TTY 上的提示;通过 --non-interactive 强制非交互模式。
--human-friendly 也是特定于命令的(例如,catalog)。它不是每个命令上的全局标志。
- 代理模式(默认)
- 人性化模式
JSON 输出和 _meta 信封
所有支持 --json 的命令都使用包含版本检查信息的 _meta 字段包装其输出:
--json输出期间没有网络请求。
被动更新通知
CLI 在后台检查 npm 是否有较新版本(缓存 24 小时)。如果有可用更新,命令完成后 stderr 上会出现一条通知:HYPERFRAMES_NO_UPDATE_CHECK=1 时,这种情况会被抑制。
入门
1
创建一个项目
2
在浏览器中预览
通过实时热重载启动开发服务器:Hyperframes Studio 将在您的浏览器中打开。编辑
index.html ,预览会立即更新。3
检查你的作品
渲染前检查结构问题:
4
渲染为 MP4
制作最终视频:渲染特定的合成而不是 对于确定性输出,请添加
index.html:--docker:命令
- 创造
- 预览
- 建造
- 公用事业
init
从示例创建一个新的组合项目:在非交互模式下,需要
--example — 如果缺少,则会出现 CLI 错误并带有使用示例。在交互模式下(TTY 上的默认模式),您可以交互地选择示例。通过标志传递 --non-interactive 以要求 --example。当提供 --video 或 --audio 时,CLI 自动使用 Whisper 转录音频并将字幕修补到合成中(使用 --skip-transcribe 禁用)。--tailwind 将固定的 Tailwind v4 浏览器运行时注入支架式 HTML 中,并公开 window.__tailwindReady 承诺,在捕获帧 0 之前渲染等待。在编辑这些项目时使用 /tailwind 技能,以便代理遵循 v4 CSS 优先模式,而不是 v3 tailwind.config.js 和 @tailwind 指令模式。浏览器运行时仍然适用于脚手架项目和快速迭代;对于完全离线或锁定的生产渲染,请将 Tailwind 编译为 CSS 并直接包含样式表。搭建完成后,CLI 会安装 Claude Code、Gemini CLI 和 Codex CLI 的 AI 编码技能(使用 --skip-skills 禁用)。请参阅 skills 命令。有关完整详细信息,请参阅示例。add
将注册表中的块或组件安装到现有项目中。示例(完整项目)由 init 搭建;块和组件是您添加到已有组合中的较小单元。add 在项目根目录读取 hyperframes.json 以了解要从哪个注册表中提取以及在何处放置文件。如果该文件丢失,但目录看起来像 Hyperframes 项目(具有 index.html),则第一次运行 add 时会写入默认的 hyperframes.json。块或组件的输出是一组文件加上粘贴片段 - 要包含在主机组合中的 <iframe> 标记(对于块)或片段路径(对于组件)。默认情况下,代码片段会复制到剪贴板;为 CI 或无头环境添加 --no-clipboard。尝试使用示例名称(例如 hyperframes add warm-grain)使用 add 会发出一个明确的错误,指向 init --example。catalog
浏览注册表 - 列出可用的块和组件以及可选的过滤器:默认输出是一个列出名称、类型、描述和标签的表——专为代理进行解析而设计。
--json 产生结构化输出。 --human-friendly 打开一个交互式选择器,该选择器在选择时运行 add。compositions
列出当前项目中的所有作品:显示每个合成的 ID、持续时间、分辨率和元素计数。
transcribe
将音频/视频转录为字级时间戳,或导入现有转录:该命令自动检测输入类型。音频/视频文件是用whisper.cpp转录的。转录文件(
.json、.srt、.vtt)已标准化并导入。支持的成绩单格式:所有格式均标准化为标准
[{text, start, end}] 字数组并保存为 transcript.json。如果项目有标题 HTML 文件,它们会自动使用脚本数据进行修补。tts
使用本地 AI 模型 (Kokoro-82M) 从文本生成语音音频。无需 API 密钥 — 完全在设备上运行。remove-background
使用本地 AI 模型从视频或图像中删除背景。输出是透明媒体,您可以将其放入任何合成的 <video> 或 <img> 元素中 — 无需绿屏。该模型是
u2net_human_seg (MIT, ~168 MB ONNX)。权重在第一次运行时下载到 ~/.cache/hyperframes/background-removal/models/ 并随后重复使用。峰值推理 RAM 约为 1.5 GB。--device auto 选择 Apple Silicon 上的 CoreML,CUDA(如果可用),否则选择 CPU。 CLI 捆绑了 onnxruntime-node 的 CPU 版本;对于 CUDA,设置 HYPERFRAMES_CUDA=1 并提供支持 GPU 的 onnxruntime-node 构建。输出格式:请参阅删除背景指南 了解完整的工作流程 — 在合成中使用透明视频、每个平台的性能、
u2net_human_seg 的限制以及此模型不合适时的免费替代工具。capture
捕获网站 - 提取屏幕截图、设计标记、字体、资产和动画以进行视频制作:捕获命令提取 AI 代理理解网站视觉标识所需的所有内容:每个滚动深度的视口屏幕截图、调色板(像素采样 + DOM 计算)、字体文件、具有语义名称的图像、SVG、Lottie 动画、视频预览、WebGL 着色器、可见文本和页面结构。输出是一个独立的目录,其中包含
CLAUDE.md 文件,任何 AI 代理都可以读取该文件来了解捕获的站点。由 /website-to-hyperframes 技能用作视频制作流程的第 1 步。在 .env 文件中设置 GEMINI_API_KEY,通过 Gemini 视觉进行 AI 驱动的图像描述(~0.001 美元/图像)。有关详细信息,请参阅网站到视频 指南。HyperFrames验证
登录 HeyGen 并管理凭据。凭证存储在~/.heygen/credentials(模式 0600)并与 ** 共享
heygen CLI** — 使用其中一个登录,另一个接收会话。
解决顺序(第一场比赛获胜):
HEYGEN_API_KEY环境变量HYPERFRAMES_API_KEY环境变量(HyperFrames别名)~/.heygen/credentials
子命令
auth login --api-key
保存 HeyGen API 密钥。密钥根据 GET /v3/users/me 进行验证
在命令报告成功之前;被拒绝的密钥不会留在磁盘上。
auth status
显示活动凭证的来源、类型和经过验证的身份
(帐户+账单快照)。未配置任何内容时以非零值退出
或者 API 拒绝凭据,因此脚本可以检查登录状态。
auth logout
删除存储的凭据。在 TTY 上提示确认。
环境变量
HyperFrames云
在 HeyGen 的托管云上渲染 HyperFrames 合成 — 无需本地 Chrome、无需本地 ffmpeg、无需管理 AWS。使用hyperframes auth login 登录一次,相同的凭据驱动每个 cloud 子命令。
子命令
cloud render [<projectDir>]
端到端渲染:压缩项目(不包括 .git、node_modules、dist、.next、coverage、点文件),通过 POST /v3/assets 上传,提交 POST /v3/hyperframes/renders,轮询 GET /v3/hyperframes/renders/{id},直到渲染完成或失败,并将生成的视频流式传输到磁盘。
渲染参数在重叠处镜像本地 hyperframes render UX:
生命周期/控制标志:
通过 --idempotency-key 安全重试
CLI 通过强制刷新 OAuth 令牌并重播失败的请求,以透明方式重试 401 Unauthorized。对于大多数读取来说,这是无害的,但 POST /v3/assets (zip 上传)本身不是幂等的 - 没有 Idempotency-Key 的重试将创建重复的资产并对工作区进行两次计费。
每当您想要安全重试 cloud render 时,请传递 --idempotency-key <key>。密钥被转发到上传和提交调用;服务器对每个端点进行幂等性作用域,因此在两个步骤中重复使用相同的值是安全的,并且可以防止任一步骤出现重复。每个逻辑渲染使用 UUID,或 [A-Za-z0-9_:.-] 中的任何不透明字符串(1-255 个字符)。
cloud list
通过最近渲染的页面。基于游标:--limit 限制单个页面(1-100),--token 从上一个 next_token 恢复,--all 遍历完整列表直到耗尽。
cloud get <render_id>
获取一次渲染的完整详细记录,包括短期签名的 video_url 和 thumbnail_url (预签名的 S3 URL — 按需重新获取而不是缓存)。
cloud delete <render_id>
软删除渲染。随后的 GET 调用会返回 404,签名的视频 URL 很快就会停止工作。交互提示确认;通过 --no-confirm 绕过脚本。
何时选择 cloud vs lambda vs 本地渲染
hyperframes render(本地):最快的迭代循环。在作曲创作期间使用。hyperframes lambda render:自带 AWS 分布式渲染。当您已经投资了 AWS 并且希望在自己的帐户上实现分块并行时,请使用。hyperframes cloud render:零基础设施选项。 HeyGen 运行渲染;您按积分付费。当您不想在本地管理 Chrome/ffmpeg/AWS 时使用。
身份验证 + 基本 URL
cloud 重用 hyperframes auth status 解析的凭证。使用 HEYGEN_API_URL(默认 https://api.heygen.com)覆盖用于分段测试的 API 基础。
HyperFrames lambda
将 HyperFrames 分布式渲染部署到 AWS Lambda 并从您的笔记本电脑或 CI 驱动渲染。hyperframes lambda 命令组包含 @hyperframes/aws-lambda SDK 和 AWS SAM,因此端到端渲染需要三个命令:
先决条件
- 配置的 AWS 凭证(环境变量、
~/.aws/credentials、SSO 或 IMDS)。 PATH上的 AWS SAM CLI。PATH上的bun(用于构建 Lambda 处理程序 ZIP)。
子命令
lambda deploy
构建 packages/aws-lambda/dist/handler.zip 并将堆栈部署在 examples/aws-lambda/template.yaml 处。成功后,写入 <cwd>/.hyperframes/lambda-stack-<stackName>.json ,以便其他子命令不需要重新派生存储桶/状态机 ARN。
--stack-name 上重新运行将解析为无操作。
lambda sites create <projectDir>
Tars + 使用内容寻址密钥将 <projectDir> 上传到 S3。返回一个 siteId ,您可以在多个渲染中重复使用,因此同一棵树的重新渲染会跳过上传。
lambda render <projectDir>
启动 Step Functions 执行。立即返回 renderId (使用 lambda progress 进行轮询),除非设置了 --wait ,在这种情况下,CLI 会阻塞,直到渲染完成并流式传输每个块的进度线。
--json 将人类可读的输出交换为机器可解析的 JSON 快照。
该组合可以使用 --variables / --variables-file 进行参数化,镜像本地 hyperframes render 标志。变量流入 Step Functions 执行输入并以 window.__hfVariables 形式到达每个块工作线程。与组合物的 data-composition-variables 声明不匹配打印为警告;传递 --strict-variables 会使命令失败。
lambda render-batch <projectDir>
从 JSONL 批处理文件扇出 N 个个性化渲染——自动化模板渲染管道的头条人体工学。部署站点一次(或使用 --site-id 跳过),然后使用每个条目 variables 和 outputKey 调用每个批处理行 renderToLambda。并发 Step Functions 启动上限为 --max-concurrent(默认为 50),因此 10 000 个条目的批处理不会尝试一次生成 10 000 个执行并超出 AWS 账户限制。
批处理文件格式(JSONL — 每行一个 JSON 对象):
executionArn + 状态:
--json 作为机器可读的形式。通过 hyperframes lambda progress <renderId> 轮询每个执行(或使用返回的 executionArn)。
--dry-run 跳过 AWS 调用并为每个条目打印带有 status: "would-invoke" 的清单 — 在提交 N 个可计费执行之前使用它来检查批处理文件:
--max-concurrent 仅适用于协调器端:它限制同时运行的 StartExecution 调用数量,而不是帐户可以运行的 Lambda 调用数量。 AWS 账户级 Lambda 并发限制向上一级,render-batch 无法强制执行;根据您账户的 concurrent-execution 配额以及您通过 lambda deploy --concurrency=<N> 配置的 Lambda 预留并发数选择 --max-concurrent。
lambda progress <renderId | executionArn>
打印一份进度快照 — 总体百分比、渲染的帧、Lambda 调用、应计成本和任何错误。接受裸 renderId (根据堆栈的状态机 ARN 解析)或完整 SFN 执行 ARN。
lambda destroy
调用 sam delete --no-prompts 并删除本地状态文件。渲染 S3 存储桶配置有 CloudFormation Retain,因此它不会被破坏 - 如果您想要恢复存储,请清空并通过 AWS 控制台/CLI 将其删除。
lambda policies role | user | validate
打印或验证 CLI 部署/调用/销毁堆栈所需的最低 IAM 策略。
validate 读取 JSON 文档,并检查其 Effect: Allow 操作与 CLI 所需操作集的并集,扩展 s3:* / s3:Get* / * 通配符。缺少的操作打印到 stderr 并且命令以非零值退出 - 将其连接到 CI 以在下一次部署失败之前捕获偏差。
操作列表故意很宽泛 (Resource: "*"),因为 CloudFormation 会在每个采用者的首次部署时创建新的函数/状态机/存储桶 ARN。具有更严格安全态势的采用者应在首次成功运行后将 Resource 缩小到已部署的 ARN。
国家档案
hyperframes lambda 将每个堆栈元数据保存在 <cwd>/.hyperframes/lambda-stack-<name>.json 下,因此动词不需要每次都调用 describe-stacks 。根据您的工作流程将文件提交到存储库或 .gitignore — 它包含存储桶名称、状态机 ARN 和区域,这些都不是秘密,但所有这些都是 AWS 账户识别信息。
HyperFrames.json
hyperframes init 在每个新项目的根目录写入 hyperframes.json 文件。 hyperframes add 读取它以了解从哪个注册表中提取项目以及将其放置在何处。编辑文件(或删除它以恢复默认值)以重塑项目布局或指向自定义注册表。
缺失的字段将使用默认值填充 - 您只需指定要覆盖的内容即可。
相关套餐
制片人
CLI 在底层调用的渲染管道。直接用于编程渲染。
工作室
为
hyperframes preview 提供支持的编辑器 UI。直接使用嵌入您自己的应用程序中。核
类型、linter 和运行时。直接用于自定义工具和集成。
引擎
捕获引擎。直接用于自定义帧捕获管道。