Cloud Render logo

Cloud Render

Community
njrhts2kvv-star
cloud-render

云端渲染。用户要求把 Remotion、FredTalk 视频或动画上传云服务器渲染、云端出片、测试渲染速度、使用 8×2 并发时使用。根据当前项目已验证并发与后端执行,自动确保已授权实例开机,完成最新源码和素材快照、精确依赖与字体准备、GPU 检查、分块渲染、无损拼接、原音频合成、完整性校验和本地交付,并在使用完成后默认关机。用户说“用云端渲染”“后续渲染按 8×2”,或要求启动、关闭渲染实例时也触发。

Overview

Publishernjrhts2kvv-star
RepositoryFredTalk
Skill namecloud-render
Stars
189
Forks
13
Bundled files
17
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 17 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by njrhts2kvv-star on GitHub. Read the source before you install it.

Installation

Install the Cloud Render AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/njrhts2kvv-star/FredTalk/tree/main/skills/cloud-render
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/njrhts2kvv-star/FredTalk.git /tmp/FredTalk
mkdir -p .claude/skills
cp -r /tmp/FredTalk/skills/cloud-render .claude/skills/cloud-render
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Cloud Render in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Cloud Render on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Cloud Render is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

云端渲染

执行完整渲染与交付。优先沿用当前工程已验证稳定的浏览器数、每浏览器并发和后端。新任务未指定时8×2是可调整的成本/速度起点;也可先用更保守的配置试样。独立浏览器数量与每浏览器并发分别记录,不把1×16冒称8×2。

本 Skill 的显示名称是「云端渲染」,技术标识为 cloud-render。

默认决策

  • 8×2来自历史实测,不代表每个新会话都已选择该配置。用户当前要求和本工程有效稳定记录优先;不因公共默认值恢复更激进配置,不为常规并发调整重复询问。
  • 以用户当前要求、项目最新源码、实际时间线、音轨及已确认输出规范为准;不要把“第一段约一分钟”截成60秒而丢失完整段落。
  • 保留原始图像、字体、布局、动作、时序与口播。不能为了提速降清晰度、降帧率、删模糊、修改内容或升级项目依赖。
  • 已有项目沿用确认规格。FredTalk 正式横版无其他指示时使用4K60、H.264 CRF15、JPEG95;不要把竖版改横版,也不要给30fps项目直接改60fps而不换算时间线。
  • 保持本地在制项目和活动渲染不变,在隔离快照及云端唯一任务目录里工作。
  • 使用已授权服务器;购置实例、增加付费资源、向新目的地传数据遵循当前用户授权。已授权的上传和渲染直接继续。
  • 凭证由使用者配置到仓库外的私人环境;优先 SSH 密钥或 SSH agent。密码、私钥和令牌不进入代码、参数、快照或日志。
  • 已授权的既有实例可按当前任务约定管理电源;公开版不继承作者的实例、电源或付费授权。

Fred私人BGM只在本地合成

2026-10-05 Fred明确私人BGM仅在自己电脑无需重复授权,不能随Skill分发或自动上传。按主Skill背景音乐云端渲染非私人画面/基础混音,下载后由Fred本机加音乐。snapshot.py复制及verify都拒绝bgm-local-only目录与绑定文件。使用者可显式设置FREDTALK_LOCAL_ONLY_POLICY提供自己音乐的禁止导出hash;公开版不携带作者私人音乐hash。衍生独立音乐轨/混音中间件同样保存在bgm-local-only目录并排除,不把代码能力分发当作私人音乐上传授权。其他使用者可上传其当次明确授权的自备音乐,原有授权范围不因此扩大。

云实例选择

从使用者自己的服务器清单查询实际实例状态,先验证在线空闲实例的SSH、资源、活动进程及队列,再复用。均已确认关机时,按使用者的成本和实例优先级选择一个已授权目标;未知状态不算关机,不占用其他任务。

实例选择和电源管理由Agent按实时证据执行;render.mjs不自动发现、调度或启动实例。只关闭本次实际使用且无活动/排队任务的实例,验证平台最终状态。创建新实例、扩容、释放或删除仍按当前使用者授权。

含视频时先选执行路径

含录屏/视频时先读视频处理选型与容量控制:简单录屏优先评估FFmpeg;复杂动画沿用Remotion;视频取帧确为瓶颈时才按实际区间使用源帧缓存。4×2与8×2按本工程证据选择,长片先估缓存预算;保留真实时间映射、完整音轨和画面检查。此为Agent执行逻辑,现有脚本没有自动路由功能。

减少重复工作

同一期返修与重复出片,默认先按 缓存与局部重渲 检查三项:只重渲受影响分块;复用匹配版本的依赖、浏览器、字体和未变素材;预计算或缓存不随帧变化的昂贵计算。以完整依赖、配置和内容 hash 判定复用,无法证明未变就重渲;最终校验与正式门禁保持执行。当前 render.mjs 尚未自动实现缓存,执行时明确记录实际复用路径,不把规则记录当作脚本已支持或已实测提速。

FredTalk 整期 4K60:两台服务器分块

整期横版 4K60(几分钟、几十段)已有实测路径:画面静音分块(每块 ≤420 帧)在两台服务器多条线并行渲,音频本机整片渲,最后无损拼接。做法、脚本位置和踩过的坑(上传断开、ssh 吞输入、块卡死、拖尾、爆音)见 两台服务器分块渲染整期。

云实例开关机

只操作当前使用者明确授权的既有实例。开始前查询平台、验证SSH与空闲状态;必要时启动所选实例并确认环境。成片下载且SHA256、媒体、画面检查通过后,确认本次实例无活动或排队任务,再按当前任务约定关机并核对平台最终状态。失败时先保存日志与可续跑产物;其他任务仍在使用的实例保持运行。

凭证由使用者自行配置到仓库外,仅通过环境、SSH agent或安全签名器读取;不把作者的长期授权、服务器或私人连接资料当作公开默认。

1. 确认最新内容并冻结快照

  1. 找当前项目入口、composition ID、帧率、尺寸、段落起止帧、口播文件及其时间基准。不要仅凭目录名或历史成片判断“最新”。
  2. 检查所有 import、staticFile()、字体加载、网络请求、绝对路径、符号链接。列出构建与渲染所需文件;字体包括实际字重与回退字体。动态字体必须等待加载成功后出帧。
  3. 在本地 work/ 下创建唯一快照;只复制依赖文件,不带无关影片、历史输出、缓存、凭据、Mac node_modules。跨目录素材转为明确的快照内路径,在记录中说明适配。
  4. 用 scripts/snapshot.py 对指定文件列表做复制与SHA256记录;脚本会复核复制前后的源内容。源内容变化时重建快照,不能读一半新版本一半旧版本。
  5. 从实际共享 runtime 核实 Remotion/React 版本。上传相互匹配的 package.json 与锁文件;npm 项目使用 npm ci,pnpm项目使用相应锁文件与安装方式。包的声明是 latest 不代表当前安装的版本。
  6. 带上来源、快照时间、版本、哈希和渲染配置。不要只上传已生成的MP4,把转码误称为重新渲染。

2. 准备云端环境

读取 服务器与依赖。SSH连接后先确认实际机器、可用磁盘/内存、是否有其他任务;服务器地址只是历史参考,不视为永不变的事实。

进入本节前先按“云实例开关机”确保实例已运行并完成 SSH 可用性验证;不能因为控制台显示运行中就直接开始上传。

上传或按内容 hash 复用素材,组装唯一任务快照并记录上传耗时。先执行快照验证;仅当不存在按缓存规则验证匹配的完整依赖环境时,才在隔离环境执行下方安装命令:

bash
python3 snapshot.py --verify .
npm ci --no-audit --no-fund

把本 Skill 的 render.mjs、render-options.mjs、guard.py、verify.py复制到任务根目录后执行;选用EGL启动器时另带chrome-egl.sh。Node模块相对脚本路径解析,不能在Skill目录直接执行而期望找到远端项目依赖。

  • 使用匹配版本的 Remotion managed Chrome for Testing;先运行 npx remotion browser ensure --help 确认当前版本参数,再用该版本支持的 ensure 命令安装。也可用 npx remotion gpu --chrome-mode=chrome-for-testing --gl=angle-egl触发下载。
  • 仅在选择并验证EGL启动器时,将实际managed Chrome路径设为REMOTION_CHROME_BINARY;chrome-egl.sh将添加 --enable-gpu --enable-gpu-rasterization --use-gl=angle --use-angle=gl-egl。
  • 选择GPU后端时用同一实际启动器进行诊断:npx remotion gpu --browser-executable="$PWD/chrome-egl.sh" --chrome-mode=chrome-for-testing --gl=angle-egl。
  • 即时 chrome://gpu 可能读得过早。若显示全部禁用,等待初始化后再次读取页面,结合真实渲染时的进程、GPU信息与性能验证。不要仅凭 nvidia-smi 看见显卡或显存非零就宣称硬件加速成功。
  • 历史4090测试中EGL启用了合成与光栅化,Vulkan较慢;这不是当前任务或其他机器的保证。软件后端也是有效配置。新环境先用复杂片段测试,不直接套用整片速度。

3. 按当前配置渲染

根据模板生成 render-job.json,使用绝对帧范围,右端包含。字段与例子见 任务配置。

bash
python3 guard.py --report guard-report.json -- node render.mjs render-job.json

脚本解析browsers/concurrency/gl/browserExecutable/chromeMode,不强迫8×2或angle-egl;未传后端时使用匹配版本的Remotion默认浏览器配置。并发与后端需记录实际值,首次短样可先试再验证,不要求在试验前提供已验证证据。若填写configurationReview,用status: verified | unverified、reason;只有verified需引用真实evidence。然后执行:

  1. 只bundle一次;把原composition的 defaultProps 与明确传入props合并,保留原fps、尺寸及全片时间坐标。
  2. 将选定帧范围等分为最多所配置浏览器数的分块,覆盖每帧且无重叠,各块使用独立browser和当前页面并发。
  3. openBrowser、selectComposition、renderMedia都传递同一browser executable、Chrome mode、GL选项;仅在openBrowser设置不够,浏览器重建时可能回退。
  4. 禁止直接拼接带AAC静音轨的分块MP4。 将分块音轨移除后无损拼接,再一次性附加最终音频。按每块准确帧数/fps写concat duration,最终视频track timescale使用60000;视频流不重编码。此修正针对容器duration累计舍入,不会修复分块内部已有坏PTS。发现内部时戳异常仍需定位重渲/正确重编码,不能声称copy已经恢复。
  5. 返回bundle、浏览器准备、renderMedia墙钟时间(包含出帧和编码)、拼接/音频合成耗时;不能把并行worker时间相加当作用户等待时间。
  6. 保存每个分块、总输出、完整日志、配置与结果JSON,校验完成后才能清理本任务中间文件。

音频模式必须明确:

  • external:当前样片的做法。使用已确认的完整混音/口播音轨,按全局时间精确截取并一次性编码;不会自动包含composition内部音效。
  • none:用户明确要求无声,或这是已确认的无声素材交付。
  • 若composition含必需音效/音乐而没有完整外置混音,不得用只含口播的文件覆盖。先从原composition按完整选定范围导出一次音频混音并验证,再以external合成。不要分块编码AAC后直接拼接。

4. 监控、异常与校验

浏览器绑定、取帧失败、动态采样、音轨截断和快照异常按故障定位分别检查。先确认工具能力与配置,保留单变量验证证据,不以修改内容或固定新限制来掩盖故障。

  • 运行时至少每60秒报告有意义进度;用非阻塞日志轮询,不把渲染绑在易中断的前台终端。可用 nohup 启动guard,将stdin指向 /dev/null。
  • guard在系统可用内存低于8GiB时停止本次进程树。不是机器内存上限实测;不能称为OOM。重跑前清理本测试遗留进程,避免抢占资源影响数据。
  • MaxListenersExceededWarning 不证明内存泄漏,也不能当作长时间稳定已验证;Target closed不能无视。确认所有promise成功、分块输出齐全并通过校验,失败时保留日志并定位。
  • FFmpeg一律传 -nostdin,防止它吞掉后续SSH交互命令。
  • 执行 python3 verify.py render-job.json:检查分辨率、fps、准确帧数、时长、全片解码、视频PTS连续性、音频模式和原音轨相关性。
  • 多浏览器首次在新项目使用时,做单浏览器同帧对照,尤其检查分块边界前后帧、模糊、字体、动画随机性。片段渲染必须是确定性的;发现错位不能用插帧掩盖。
  • 抽查开头/正文/尾部与边界的可视画面。基础机器校验不等于全片美术验收。

5. 下载与呈现

下载目标服从项目目录规则:FredTalk最终MP4唯一放本期02_最终输出/,结果与校验JSON放本期03_制作过程/。仅无项目约定的独立任务使用工作区outputs/。核对远端与本地SHA256,提供可点击视频/预览;不要把云端路径当本地链接。

结果按以下顺序呈现:

  1. 成片是否完成、片段范围、尺寸/fps、是否含完整音频;给本地视频链接。
  2. 需要解释性能时列实际并发、出帧并编码、合成与程序总耗时;上传和首次依赖安装单列,不固定每次交付都写性能表。
  3. 列验证结果、资源峰值、仍存在的异常及其影响;不把外推值冒充整片实测。
  4. 说明云端是否仍有任务、默认关机是否成功以及平台最终状态。本地现有任务保持不变。只有当次明确要求保持开机或仍有不能安全中断的活动任务时,才报告实例继续开机计费的原因。

遇到用户要提高并发时,参考 已测结果与限制。继续使用本工程稳定配置,不为默认值重复跑所有并发组合。

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Cloud Render AI skill do?

云端渲染。用户要求把 Remotion、FredTalk 视频或动画上传云服务器渲染、云端出片、测试渲染速度、使用 8×2 并发时使用。根据当前项目已验证并发与后端执行,自动确保已授权实例开机,完成最新源码和素材快照、精确依赖与字体准备、GPU 检查、分块渲染、无损拼接、原音频合成、完整性校验和本地交付,并在使用完成后默认关机。用户说“用云端渲染”“后续渲染按 8×2”,或要求启动、关闭渲染实例时也触发。

Why use Cloud Render on TypingMind?

Because you install it once and use it with any model. Cloud Render is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Cloud Render in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/njrhts2kvv-star/FredTalk/tree/main/skills/cloud-render. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Cloud Render?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Cloud Render?

As many as you like. As long as a model supports skills, you can use Cloud Render with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Cloud Render AI skill free?

Yes. It is published on GitHub by njrhts2kvv-star under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇