원클릭으로
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.