ワンクリックで
laowantong-text-to-video
Use when converting 老顽童周老师口播稿、SRT 字幕、公众号长文、专栏草稿或视频脚本文案 into Remotion 文生视频、SRT 精确时间轴分镜、AI 分镜图提示词、批量图片资产、或可预览的解释类视频样片。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use when converting 老顽童周老师口播稿、SRT 字幕、公众号长文、专栏草稿或视频脚本文案 into Remotion 文生视频、SRT 精确时间轴分镜、AI 分镜图提示词、批量图片资产、或可预览的解释类视频样片。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | laowantong-text-to-video |
| description | Use when converting 老顽童周老师口播稿、SRT 字幕、公众号长文、专栏草稿或视频脚本文案 into Remotion 文生视频、SRT 精确时间轴分镜、AI 分镜图提示词、批量图片资产、或可预览的解释类视频样片。 |
把老顽童内容从“口播稿/SRT”变成“可渲染的视频工程”。核心原则:SRT 管时间,AI 图管主视觉,Remotion 管标题/关键词/镜头运动和最终渲染;不要在 Remotion 里烧录口播字幕。
确认输入
拆分分镜
start, end, srtRange, voiceText, imageFile, overlayTitle, overlayKeywords, motion, prompt。srtRange 也可以。生成图片
no readable text, no watermark, no logo。public/generated-frames/。1920x1080;优先生成 2048x1152 或 3840x2160,再由 Remotion 缩放到输出尺寸。1080x1920;优先生成 1152x2048 或 2160x3840。image_gen 的原生输出作为正式资产;当前已验证的 1672x941 横屏尺寸可以接受,但必须在 manifest 记录实际尺寸、生成方式和这是内置路径。保存内置 imagegen 结果
image_gen 的图片可能不在普通文件路径里,而在 Codex session JSONL 的 image_generation_call.result base64 字段里。~/.codex/generated_images,使用 scripts/extract_imagegen_results.py 从 session JSONL 解码落盘。public/generated-frames/manifest.json:记录每张图的 scene id、目标文件名、prompt、生成状态、imagegen call id、保存时间。public/generated-frames/final/,使用稳定新文件名,例如 scene-074-market-revalue-job-change-v2.png;不要覆盖旧图,旧图可能仍被其他 Part 复用。接入 Remotion
staticFile(scene.imageFile) 读取 public/ 下资产。Sequence from={secondsToFrames(scene.start)} 保持 SRT 绝对时间,不要用 Series 压掉字幕间隙。voiceText 直接渲染成字幕。Video-Part01-*、Video-Part02-*,方便用户在 Remotion Studio 逐段看、逐段修。整片 composition 只作为最终合成。fromFrame = secondsToFrames(visualStart - partStart)、endFrame = secondsToFrames(visualEnd - partStart)、durationInFrames = endFrame - fromFrame,不要分别四舍五入 from 和秒级 duration,否则切图处可能露出 1 帧白底。start/end,不要改 SRT 原文。SEGMENT_TITLE_OVERRIDES 一类的局部标题覆盖,不要为了一个标题去复制图片或重写全局分镜。SRT xx-xx 字样进入正式预览。需要文字时只叠加中文标题和关键词;英文标题必须翻译成中文。scene-074b 这类拆分编号,Remotion 的 scene number 解析必须用 parseInt,不要用 Number(scene.id.replace(...)),否则新 scene 会被过滤掉。验证
npm run lint。generated-frames 图片尺寸,不低于最终视频尺寸;低于目标尺寸时不要进入全片渲染。npx remotion compositions 检查分段时长变化是否符合预期。No frame gaps between storyboard images.用户逐段审片时,按这个顺序处理反馈:
先判断问题类型
start/end 和 sceneStart/sceneEnd。scene-074 + scene-074b。修复时保持可回退
-v2 或语义化新文件名。修后验证
remotion-animation 是多个视频的工作区,不要把共享依赖、模板和单条视频资产混在一起。
Recommended layout:
remotion-animation/
package.json
package-lock.json
node_modules/
remotion.config.ts
tsconfig.json
src/
shared/
components/
styles/
utils/
videos/
salary-average/
public/
generated-frames/
reference-images/
src/
StoryboardComposition.tsx
storyboard.ts
out/
README.md
Rules:
remotion-animation/ root.remotion-animation/videos/<video-slug>/.src/shared/; per-video code imports them instead of copying.node_modules inside every video folder unless there is a deliberate reason to isolate a project.Use case: stylized-concept
Asset type: Remotion video storyboard frame, 16:9 landscape
Output size: at least 2048x1152 for 16:9 landscape, preferably 3840x2160 for final assets
Primary request: <本段口播对应的画面隐喻>
Style/medium: miniature tabletop 3D diorama, warm desk lamp, soft shadows, ivory paper surface, simple black hand-drawn stick figures as physical wire/ink-line characters, delicate translucent glow trails, clean educational explainer style
Composition/framing: one clear focal metaphor, generous negative space for later Chinese overlay text, no clutter, no dense UI
Text: no readable text anywhere in the generated image
Constraints: no watermark, no logo, no subtitles, no Chinese text, no English text, no numbers, no realistic human faces, no chalkboard style, no dark black background, no cartoon Q-version character
Use this immediately after each successful image_gen call when generated images are visible in the chat but not available as files:
python .agents/skills/laowantong-text-to-video/scripts/extract_imagegen_results.py \
--session C:/Users/Alex/.codex/sessions/YYYY/MM/DD/rollout-...jsonl \
--out-dir C:/path/to/remotion-project/public/generated-frames \
--count 1 \
--prefix scene \
--start-index 17 \
--min-width 1672 \
--min-height 941
The script extracts the latest matching image_generation_call.result PNGs and writes stable files such as scene-017.png. For one-by-one saving, pass --count 1 and the exact next --start-index.
public/generated-frames/.1920x1080+; when no API/CLI high-resolution path is available and the user accepts native image_gen, 1672x941 can be used for horizontal videos, with actual dimensions recorded in manifest.manifest.json before continuing to the next image.imageFile is missing or whose manifest status is not saved.Series for SRT-exact timing if there are gaps between subtitle ranges.public/generated-frames/.1920x1080+; otherwise native image_gen output such as 1672x941 is acceptable if the user has approved that fallback.