我让 Codex 自己做视频,顺便看懂了 Agent Runtime
1. 从一条开放指令说起Codex 驱动 Remotion 生成视频到底难在哪很多人第一次听到「让 Codex 自己做视频」脑子里浮现的是那种输入一句话、几秒钟吐出一个 MP4 的黑盒工具。但真正跑过一遍你就会发现难点根本不在「生成」这个动作而在于从一句模糊指令到一条可执行、可恢复、可观察的工作流之间那段没人愿意细讲的链路。我这次给 Codex 的任务很朴素根据一篇技术 Blog生成一支 60 秒、适合竖屏发布的视频。指令里没有指定框架、没有指定分辨率、没有指定字幕样式甚至连「用 Remotion」都是我后来才补上的约束。如果你把这件事交给一个传统自动化脚本流程必须提前写死先读哪个文件、再跑哪条命令、失败后走哪个分支。可一旦文章换了、项目结构变了、渲染报错了脚本就卡死。Codex 面对的是开放任务它得根据文章内容、当前项目环境和每一步返回的结果动态决定下一步做什么。这正是Agent Runtime存在的意义——它把模型的判断、工具的执行和任务的状态管理连成一个能持续推进的系统。这篇文章我会带你完整走一遍Codex 如何为任务建立 Thread、如何加载 Remotion 相关 Skill、如何把「生成视频」拆成脚本/分镜/场景/字幕/渲染以及 Agent Loop 在渲染失败时怎么把错误变成下一轮决策的输入。适合谁看适合已经用过 Codex 或类似编码 Agent、想搞清楚它内部到底怎么运转的前端和全栈同学也适合想把 Remotion 接进自动化流水线、但一直卡在「配置能跑但不知道为啥能跑」的人。下面所有命令和配置我都实测过你可以直接抄。2. 前置准备TaoToken 接入 Codex 与 Remotion 项目初始化在让 Codex 碰 Remotion 之前得先保证两件事模型侧能稳定调用项目侧有可运行的 Remotion 骨架。模型侧我用的是 TaoToken 的接入方式它兼容 OpenAI 风格的接口配置起来比较直接。官网入口在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 地址是 https://taotoken.net/api 注意 API 域名后面不加任何 UTM 参数这点在写配置文件时容易搞混。先说 Codex 侧的配置。Codex 读取的是~/.codex/config.toml不同版本路径可能略有差异以你本地codex --version对应的文档为准核心是三件套Base URL、API Key、Model ID。我实测下来这样写# ~/.codex/config.toml model gpt-5-codex model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY wire_api responses然后把 Key 放进环境变量别硬编码进文件export TAOTOKEN_API_KEYsk-你的keyKey 在控制台创建地址是 https://taotoken.net/console 创建完记得复制一次页面刷新后就看不全了。如果你更习惯用 Claude Code 那套TaoToken 也提供了对应的接入文档在 https://taotoken.net/doc 可以找到配置逻辑类似只是字段名不同。项目侧Remotion 的初始化非常轻。它本质是一个 React 项目加一套逐帧渲染管线所以你需要 Node 18 和一个空目录npx create-videolatest codex-video-demo cd codex-video-demo npm installcreate-video会问你选模板我建议选Blank或者Hello World因为后面 Codex 要自己生成 composition模板越干净它越不容易被既有结构带偏。初始化完成后目录大概长这样codex-video-demo/ ├── src/ │ ├── Root.tsx # 注册所有 composition │ ├── Composition.tsx # 默认场景组件 │ └── index.ts # 入口 ├── remotion.config.ts # 渲染配置 ├── package.json └── tsconfig.json先跑一次npx remotion studio确认默认画面能出来这一步别省。很多人后面渲染失败追根溯源是初始化阶段依赖就没装全。确认 Studio 能打开、能看到默认 composition 之后再让 Codex 进场。这里有个经验先手动跑通最小闭环再交给 Agent 扩展否则你分不清报错是环境问题还是 Agent 生成代码的问题。3. 可复制配置让 Codex 认识 Remotion 的 Skill 与项目约束Codex 不会凭空知道「视频该怎么做」。它需要 Skill 来提供方法需要项目说明来划定边界。这一节给你两份可直接复制的配置一份是给 Codex 的项目级说明一份是 Remotion 的渲染配置。先说项目级说明。Codex 会读取工作目录下的AGENTS.md或项目说明文件你可以把它当成给 Agent 的「工作手册」。我实测下来写清楚输出目录、字幕样式、渲染命令这三件事能省掉大量来回!-- AGENTS.md -- # 视频项目约定 ## 技术栈 - 使用 Remotion React TypeScript - 所有场景放在 src/scenes/ 下每个场景一个组件 - 字幕数据统一放在 src/captions/使用 JSON 格式 ## 输出约定 - 渲染成品输出到 out/ 目录 - 竖屏视频分辨率 1080x1920帧率 30fps - 字幕字号不小于 48px底部留白 120px ## 渲染命令 - 预览npx remotion studio - 渲染npx remotion render composition-id out/name.mp4这份说明的作用是让 Runtime 在构建上下文时把「项目要求」带进模型视野。否则模型即使理解了文章也可能把成品丢到根目录、用横屏分辨率、字幕小到看不清。再说 Remotion 的渲染配置。remotion.config.ts控制的是渲染管线本身比如并发数、图片格式、是否覆盖输出// remotion.config.ts import { Config } from remotion/cli/config; Config.setVideoImageFormat(jpeg); Config.setConcurrency(4); Config.setOverwriteOutput(true); Config.setChromiumOpenGlRenderer(angle);setConcurrency别一上来拉满我试过设成 8结果机器内存吃紧渲染中途 Chromium 崩了日志里只留下一句含糊的Target closed。设成 CPU 核心数的一半比较稳。setChromiumOpenGlRenderer在部分 Linux 环境下需要显式指定否则会出现画面全黑但进程正常退出的诡异情况。Skill 这块Codex 的 Remotion 能力被拆成了几个互相配合的方法创建视频的 Skill 负责准备项目和初始 compositionMarkup Skill 指导用视频友好的 React 结构组织画面和动画Captions Skill 处理带时间信息的字幕数据Render Skill 负责导出成品。Runtime 不会一次性把所有 Skill 塞进上下文而是按任务阶段逐步加载——先创建、再组织画面、然后字幕、最后渲染。这个「按需加载」的设计很关键它让上下文窗口不被无关知识占满。如果你用的是 Cline 或带 MCP 的客户端配置里同样要写全三件套。以 Cline 的 MCP 配置为例{ mcpServers: { taotoken: { command: npx, args: [-y, taotoken/mcp-server], env: { TAOTOKEN_API_KEY: sk-你的key, TAOTOKEN_BASE_URL: https://taotoken.net/api, TAOTOKEN_MODEL: gpt-5-codex } } } }Base URL、Key、Model ID 一个都不能少缺任何一个都会在调用时抛错。配置完重启客户端让 MCP Server 重新加载。4. 端到端验证从指令到成片的完整请求链路配置就绪后真正的验证才开始。我给 Codex 的指令是这样的读取 blog.md根据内容生成一支 60 秒竖屏视频。 先输出脚本和分镜确认结构后再创建 Remotion 场景。 字幕用 src/captions/ 下的 JSON最后渲染到 out/。注意我没有说「用 Remotion 创建项目」因为项目已经初始化好了Skill 会接管后续。Codex 的第一轮动作通常是读取文件——Runtime 调用文件工具把blog.md内容带回当前 Turn。接着模型输出一份脚本草稿把文章拆成开场、三个观点段、结尾并标注每段大概时长。这里能观察到 Agent Loop 的第一次循环模型返回文字脚本Runtime 把它作为阶段性输出展示模型接着提出工具调用创建场景文件Runtime 执行并把结果放回上下文模型看到文件创建成功继续安排动画和字幕。整个过程不是一次模型采样完成的而是多次「采样—工具—观察—再采样」。场景文件生成后先别急着渲染跑一次预览npx remotion studio在 Studio 里你能看到 composition 列表、逐帧拖动、实时改参数。我实测下来第一次生成的场景经常有两个问题字幕位置偏低被裁掉或者某个动画的interpolate区间写反了导致元素一闪而过。这些在 Studio 里一眼就能看出来比渲染完再回看省时间。确认画面没问题后触发渲染npx remotion render CodexVideo out/final.mp4渲染过程会输出进度日志Codex 的 Runtime 会把这些日志收集起来。如果成功out/final.mp4就是成品如果失败日志会成为下一轮模型判断的输入。我跑通的那次从指令到成片大概经历了 6 次模型采样、4 次工具调用、1 次失败重试。失败原因是字体缺失日志里报了Font family not found模型看到后自动在场景里换成了系统默认字体第二次渲染就过了。验证成功的标志不只是「文件生成了」还要确认视频完整、字幕不重叠、没有空白帧。命令返回成功只能说明进程正常结束不代表质量合格。你可以用ffprobe快速看一眼时长和分辨率ffprobe -v error -show_entries formatduration -show_entries streamwidth,height -of defaultnoprint_wrappers1 out/final.mp4输出里duration接近 60、width1080、height1920基本就对了。5. 常见报错排查401、local proxy failed 与 reading choices 怎么解跑这条链路报错几乎不可避免。我把踩过的坑按现象整理出来对照着查能省不少时间。401 Unauthorized最常见八成是 Key 没生效。先确认环境变量真的导出了echo $TAOTOKEN_API_KEY如果为空说明export只在当前终端有效换个终端就没了。写进~/.zshrc或~/.bashrc再source一次。如果 Key 有值还报 401检查config.toml里的env_key字段名和实际环境变量名是否一致——我见过把TAOTOKEN_API_KEY写成TAOTOKEN_KEY的排查了半天。local proxy failed这个报错通常出现在客户端尝试走本地代理但代理没起来的时候。先确认你没有配置任何本地代理端口再检查base_url是不是写成了https://taotoken.net/api/末尾多了斜杠有时会触发路径拼接问题。正确的写法就是https://taotoken.net/api不带尾斜杠。reading choices 相关报错这类错误一般出现在响应解析阶段提示读取choices字段失败。原因通常是wire_api配置和实际接口不匹配。如果你用的是 responses 风格接口wire_api responses如果是 chat completions 风格改成chat。两者返回结构不同配错了就会在解析时炸掉。OAuth 相关报错如果你在 Claude Code 或类似客户端里看到 OAuth 失败先确认是不是混用了两套认证方式。TaoToken 的接入用的是 API Key不需要走 OAuth 流程。把客户端里残留的 OAuth 配置清掉只保留 Key 认证。渲染阶段Target closed前面提过多半是并发太高把 Chromium 压垮了。把setConcurrency降到 2 或 4再试一次。如果还不行检查系统内存Remotion 逐帧渲染对内存有一定要求。字幕不显示先确认src/captions/下的 JSON 格式对不对时间区间是不是用了毫秒。Remotion 的useCurrentFrame返回的是帧号字幕组件里要用frame / fps换算成秒再比对时间区间。这个换算漏了字幕就会永远不出现。排查的核心思路是先分清是模型侧、工具侧还是渲染侧的问题。模型侧看 401 和解析错误工具侧看文件路径和权限渲染侧看日志里的进程输出。分清了定位就快。6. 把这条链路用起来从单次任务到可复用工作流跑通一次之后你会发现真正有价值的不是「生成了一支视频」而是这条链路可以复用。Codex 会把 Thread、Turn、Item 相关的历史保存下来任务中断后能从失败阶段继续也能从某个历史节点分叉出新方案。比如原任务做的是竖屏你想再出一版横屏不用从头再来直接从场景生成那一步分叉即可。如果你打算长期做这类自动化建议把 Coding Plan 用起来地址是 https://taotoken.net/coding-plan 它更适合持续性的编码和 Agent 任务比单次调用划算。日常调试模型行为、验证某个 composition 能不能渲染用模型对话页面就够了https://taotoken.net/models 。需要管理多个 Key 或查看用量去控制台https://taotoken.net/console 。接入细节和字段说明都在文档里https://taotoken.net/doc 。Claude Code 用户可以直接看这份接入说明https://taotoken.net/claude-code 。最后说个实用技巧把AGENTS.md当成活文档维护。每次 Codex 犯了同类错误就把约束补进去——比如「字幕必须用 JSON 数据源」「渲染前必须先跑 studio 预览」。跑上几次之后你会发现 Agent 的首次成功率明显上升因为 Runtime 每次构建上下文时都会把这份约定带进去。这比每次在指令里重复交代要省事得多。链路跑通只是开始把它变成稳定的工作流才是 Agent Runtime 真正省心的地方。

相关新闻

CH592低功耗蓝牙SoC:系统级功耗优化与工程落地指南

CH592低功耗蓝牙SoC:系统级功耗优化与工程落地指南

1. 项目概述:为什么CH592成了蓝牙MCU方案里的“静音高手”最近帮一家做智能工装定位标签的客户做方案选型,他们原来的方案用的是某家主流32位MCU外挂BLE模块,整机待机电流压不到80μA,产线批量测试时总有3%左右的单元在低温环境下…

2026/10/2 16:51:24 阅读更多 →
你还在用分页?试试SpringBoot+MyBatis 流式查询,真心强大!TaoToken 统一 Key 通道实测

你还在用分页?试试SpringBoot+MyBatis 流式查询,真心强大!TaoToken 统一 Key 通道实测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 16:51:23 阅读更多 →
微信聊天记录导出:1条命令备份成HTML、Word、CSV

微信聊天记录导出:1条命令备份成HTML、Word、CSV

微信聊天记录导出:1条命令备份成HTML、Word、CSV 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg …

2026/10/2 16:51:23 阅读更多 →

最新新闻

RMUX日常使用完全指南:会话、窗口与窗格管理的核心命令

RMUX日常使用完全指南:会话、窗口与窗格管理的核心命令

RMUX日常使用完全指南:会话、窗口与窗格管理的核心命令 【免费下载链接】rmux Universal Rust multiplexer with a typed SDK — drive any CLI or TUI app from code. Native on Linux, macOS, and Windows. 项目地址: https://gitcode.com/gh_mirrors/rm/rmux …

2026/10/2 17:27:43 阅读更多 →
ThingsBoard 上行数据转换器实战:在 Decoder 解码函数中巧用 Metadata 元数据字段

ThingsBoard 上行数据转换器实战:在 Decoder 解码函数中巧用 Metadata 元数据字段

物联网后端数据可视化消息队列 【免费下载链接】thingsboard All-in-one IoT Platform - Device management, data collection, processing and visualization. 项目地址: https://gitcode.com/GitHub_Trending/th/thingsboard 点击查看 免费下载 导读 在 ThingsB…

2026/10/2 17:27:43 阅读更多 →
【网络分析仪08】一文掌握网络分析仪(VNA)校准

【网络分析仪08】一文掌握网络分析仪(VNA)校准

目录 1. 网络分析仪校准概述 1.1. 网络分析仪校准简介 1.2. 网络分析仪校准目的 2. 网络分析仪校准原理 3. 网络分析仪校准方法 3.1. SOLT校准 3.1.1. SOLT校准准备 3.1.2. SOLT校准步骤 3.2. TRL校准 3.3. 电子(ECal)校准 4. 网络分析仪校准校…

2026/10/2 17:27:43 阅读更多 →
Amphion 等提出音频自进化框架 EvoAudio:训练数据随模型短板动态调整;OpenAI DevDay 语音接入 Dots、Codex CLI 与 Meetings 插件丨日报

Amphion 等提出音频自进化框架 EvoAudio:训练数据随模型短板动态调整;OpenAI DevDay 语音接入 Dots、Codex CLI 与 Meetings 插件丨日报

本期编辑:三水 鲍勃 AMD 将以约 82 亿美元收购世界模型公司 World Labs,李飞飞将出任 AMD 执行副总裁兼首席科学家。 当世界模型开始理解空间、持续模拟环境,并实时响应人的输入,AI 生成的就不再只是一段内容,而可能…

2026/10/2 17:27:43 阅读更多 →
Qt驱动Word:基于QAxObject的模板填充与批量文档生成实践

Qt驱动Word:基于QAxObject的模板填充与批量文档生成实践

简介:面向Qt开发者的Word与Excel文档操作封装类,适用于需要将Office处理能力集成到C应用中的开发场景。资源基于QtWord与QTOffice相关API,提供了对Word和Excel文档的打开、读取、修改与保存等常用操作封装,便于中高级开发者直接参…

2026/10/2 17:27:43 阅读更多 →
PX4 VelocityLimits uORB 消息解析:多旋翼慢速模式(Slow Mode)的速度与偏航角速率限制机制

PX4 VelocityLimits uORB 消息解析:多旋翼慢速模式(Slow Mode)的速度与偏航角速率限制机制

嵌入式物联网机器人自动驾驶智能硬件 【免费下载链接】PX4-Autopilot PX4 Autopilot Software 项目地址: https://gitcode.com/gh_mirrors/px/PX4-Autopilot 点击查看 免费下载 VelocityLimits 是 PX4 中专门服务于多旋翼位置控制"慢速模式"(…

2026/10/2 17:26:42 阅读更多 →

日新闻

从零搭建AI工程化:模型之外的完整闭环

从零搭建AI工程化:模型之外的完整闭环

先搞清楚一件事:从零开始做 AI 工程化,难的从来不是调模型、写提示词,而是把一套原型 Demo 变成长得像是“正经系统”的东西。你手里可能已经有了能跑通的代码,也可能刚读完一些概念,但真到了要把它变成可维护、可观测…

2026/10/2 0:00:20 阅读更多 →
大模型训练显存估计与混合精度训练实战指南

大模型训练显存估计与混合精度训练实战指南

1. 大模型训练显存估计与混合精度训练详解显存不够用,几乎是每个做大模型训练的人都会撞上的第一堵墙。你可能也经历过:模型代码写完了,数据管道跑通了,满心欢喜地按下训练启动脚本,结果几秒钟后终端弹出一行红字——C…

2026/10/2 0:00:20 阅读更多 →
小样本学习数据集选型指南:27个真正可用的高质量数据集

小样本学习数据集选型指南:27个真正可用的高质量数据集

1. 小样本学习的“弹药库”:为什么你总在找数据集,却总找不到真正能用的? 小样本、数据集——这两个词最近半年在我处理的200多个AI项目咨询里,出现频率排进前三。不是模型调不好,不是代码写不对,而是卡在…

2026/10/2 0:00:20 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 19:40:48 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/1 19:41:40 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/10/1 20:05:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 5:26:06 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 6:09:11 阅读更多 →