1. 为什么我要把 Codex 和 ChatCut 接起来
先说清楚这套东西是什么。Codex 是能读写文件、执行命令、调用外部工具的编码智能体,ChatCut 是一个把视频剪辑能力封装成 MCP 插件的工具。MCP 全称 Model Context Protocol,你可以把它理解成 Codex 和 ChatCut 之间的一个标准插座:Codex 负责理解你的自然语言指令,ChatCut 负责真正去动时间线、切片段、生成字幕。两者接上以后,你就能用说话的方式指挥剪辑,而不是自己一帧一帧拖。
它适合谁?适合手上有口播、访谈、课程录屏这类素材,又不想花三五个小时做粗剪的人。你不需要会剪辑快捷键,但你需要愿意分阶段看片、给反馈。我这次处理的是一条 38 分 21 秒的横屏素材,1920×1080,单人口播加屏幕录制,最后成片压到 18 分 34 秒。整个过程里 Codex 实际执行大约 2 小时 45 分钟,但从我开始处理到最终重新导出,跨了大约 19 个小时,中间包含我离开电脑、第二天继续审核、看第一版成片再返工。
这里有个关键前提:Codex 得先能正常跑起来,而且它调用外部模型时需要一个稳定的 API 入口。我这次用的是 TaoToken 的统一 Key,把 Base URL 指向https://taotoken.net/api,这样 Codex 在调用模型和 MCP 工具时走的是同一个入口,不用在多个平台之间来回切 Key。下面我把安装、配置、验证、排错整条链路拆开写,你照着复制,把素材和要求换成自己的就行。
2. TaoToken 统一 Key 的前置准备与 Base URL 填写位置
在装 ChatCut 之前,先把 Codex 的模型入口配好,否则后面 MCP 调起来会因为鉴权问题反复失败。TaoToken 的作用是给你一个统一的 Key 和 Base URL,Codex、Claude Code 这类工具都能指向同一个地址。官网入口是https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=,API 地址是https://taotoken.net/api,注意 API 这个地址后面不加任何参数。
你需要先拿到 Key。进控制台创建 API Key,路径在https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite,创建完把 Key 复制出来,形如sk-xxxx。这个 Key 就是后面所有配置里填的凭证。如果你还没决定用哪个模型,可以先去模型对话页https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=model_chat&utm_campaign=rewrite试一下,确认能正常出结果再往下走。
Codex 的配置核心就三样:Base URL、Key、Model ID。Base URL 填https://taotoken.net/api,Key 填你刚创建的,Model ID 按你实际要用的模型填。这三件套在 Codex 的配置文件里对应不同字段,下面第三节会给完整片段。这里先强调一个坑:Base URL 结尾不要自己加/v1或者斜杠,直接写https://taotoken.net/api,多写反而会 404。
如果你用的是 Claude Code 或者 Cline 这类工具,逻辑一样,都是把 Base URL 指向 TaoToken 的 API 地址,Key 用同一个。统一 Key 的好处是你在多个工具之间共享额度,不用每个工具单独充值、单独记 Key。我实测下来,Codex 走 TaoToken 的入口调模型,和后面 ChatCut 的 MCP 调用互不干扰,一个负责语言理解,一个负责剪辑执行。
配置完先别急着装 ChatCut,先验证 Codex 本身能通。随便让它回答一个问题,能正常返回就说明 Base URL 和 Key 没问题。这一步过了,再进 MCP 安装,否则你分不清是模型入口的问题还是插件的问题。
3. 可复制的 Codex + ChatCut MCP 配置片段
这一节是整篇最需要你动手的部分。Codex 的配置一般放在用户目录下的配置文件夹里,不同系统路径不一样,但字段名一致。下面给一份可复制的 TOML 片段,你按自己实际路径改。
# Codex 配置文件片段,路径按系统实际位置调整 # macOS/Linux 通常在 ~/.codex/config.toml # Windows 通常在 %USERPROFILE%\.codex\config.toml model = "你的模型ID" model_provider = "taotoken" [model_providers.taotoken] name = "TaoToken" base_url = "https://taotoken.net/api" env_key = "TAOTOKEN_API_KEY" [mcp_servers.chatcut] command = "npx" args = ["-y", "chatcut@chatcut-inc"] env = { CHATCUT_API_KEY = "你的ChatCut凭证" }上面这段里,base_url就是 TaoToken 的统一入口,env_key指向环境变量名,你需要在系统里设置TAOTOKEN_API_KEY这个环境变量,值就是你创建的 Key。MCP 部分mcp_servers.chatcut是给 ChatCut 插件留的插座,command和args是启动方式,具体命令以 ChatCut 官方安装说明为准,因为插件市场名和包名可能更新。
如果你更习惯用 JSON 格式,等价片段是这样:
{ "model": "你的模型ID", "model_provider": "taotoken", "model_providers": { "taotoken": { "name": "TaoToken", "base_url": "https://taotoken.net/api", "env_key": "TAOTOKEN_API_KEY" } }, "mcp_servers": { "chatcut": { "command": "npx", "args": ["-y", "chatcut@chatcut-inc"], "env": { "CHATCUT_API_KEY": "你的ChatCut凭证" } } } }配置写完后,在 Codex 里发一条安装指令,让它自己去读官方说明并完成安装。我当时发的是:
请阅读 ChatCut 官方安装说明,帮我安装 ChatCut 插件, 完成登录授权并验证插件可以调用。 安装完成后,请创建一个能够使用 ChatCut 的新任务, 最后告诉我看到什么结果才算安装成功。Codex 会依次做几件事:找到自带的命令行工具、添加插件市场、安装插件、执行登录并在浏览器打开 OAuth 授权页、检查插件和 MCP 是否启用、创建新任务。浏览器弹出授权页时你必须自己点确认,这一步跳不过去。装完为什么要新建任务?因为插件是在旧任务运行期间装进去的,新任务重新加载后才能拿到刚增加的 ChatCut 工具。判断标准不是只看“安装成功”,而是新任务里真的能打开 ChatCut。
4. 验证请求:从发起指令到导出成片的完整动作
配置和安装都过了,接下来验证整条链路能不能跑通。先发一条短指令打开项目:
帮我在这个页面打开 ChatCut判断成功不能只看浏览器打开了页面,还要看 Codex 能不能读取项目、素材库和时间线,并继续执行编辑操作。页面能看见、工具也能控制,这才叫接通。如果项目里有旧素材,先清理:
这个项目先不做了,我会给你另外一个口播+屏幕录制的视频, 你先把前面已经粗剪的视频删掉,确保 ChatCut 是干净的, 完成后告诉我你已经准备好了,我再发视频素材给你。清理完导入素材,然后发完整剪辑指令。这条指令要说清四件事:素材类型、清理尺度、成片需要哪些元素、让它分阶段问你。
请把这个口播+屏幕录制视频剪成一条 16:9 横屏成片, 先加载 talking head guide skill,再分阶段带我完成。 第一阶段清理口误、明显重复、卡顿和多余语气词, 但保留自然停顿,不要把说话节奏剪碎。 口播通过后,再依次做 B-roll、MG 动画、音乐和中文字幕。 每完成一个阶段就停下来让我检查, 没有得到我的“通过”之前,不要进入下一阶段。我这次粗剪后时间线从 38 分 21 秒变成约 27 分 43 秒。检查重点不是删得多不多,而是句子开头有没有被剪掉、剪切点有没有跳音、思考停顿是不是全被删光。B-roll 阶段我让它从原录屏里选需要看清界面的地方做全屏放大,比如模型选择区域、下载区域。MG 阶段先让它做一条样片,不要直接批量,我手动拖了起点和长度后,再让它按调整后的节奏批量补了 11 处,每处约 1.4 秒。字幕阶段最容易返工,第一版有些完整句子被硬拆成两条,我反馈后它重新分页。导出后我还发现专有名词识别错误,比如把 Claude 识别成 Cloud,于是把错误词列给它全片搜索修正。最终文件 1920×1080、30fps、约 18 分 34 秒。
返工的时候用这个模板,四样写齐:时间点、问题、正确结果、联动范围。
请修改 [开始时间] 到 [结束时间] 的内容。 现在的问题是:[描述看到或听到的具体问题]。 正确结果应该是:[说明要保留、删除、替换或恢复什么]。 这次修改 [需要 / 不需要] 联动后面的画面、字幕、音乐和 MG。 修改完成后请检查前后衔接,并告诉我具体改了什么。 先不要导出,等我复核通过。5. 本篇常见报错排查:401、local proxy failed、reading choices、OAuth
跑这条链路,报错基本集中在四类,我一个个说怎么对。
第一类,401 未授权。这个最常见,原因是 Key 没填对或者环境变量没生效。先确认TAOTOKEN_API_KEY这个环境变量在当前终端里能读到,echo $TAOTOKEN_API_KEY(Windows 用echo %TAOTOKEN_API_KEY%)看有没有值。如果环境变量是对的,检查 Base URL 是不是写成了https://taotoken.net/api/v1这种带后缀的形式,多写后缀会直接 401 或 404。还有一种情况是 Key 复制时带了空格,重新复制一遍。
第二类,local proxy failed。这个报错通常出现在 Codex 启动 MCP 服务的时候,说明本地启动命令没跑起来。检查mcp_servers.chatcut里的command和args是不是和官方说明一致,包名有没有写错。如果用的是npx,确认本机 Node 环境正常,npx -y chatcut@chatcut-inc能手动跑通再交给 Codex。另外端口被占用也会报这个,换个终端重试。
第三类,reading choices 相关报错。这个一般出现在模型返回结构不符合预期的时候,比如你填的 Model ID 和实际能力不匹配,或者返回被截断。先确认 Model ID 填的是 TaoToken 支持的模型,去模型对话页试一下同一个模型能不能正常出结果。如果对话页正常、Codex 里报错,检查配置文件里model字段有没有拼写错误。
第四类,OAuth 授权失败。ChatCut 安装时会打开浏览器授权页,如果页面没弹出来或者授权后没回调,先看 Codex 有没有提示需要手动完成授权。授权页必须你自己点确认,不能跳过。如果授权后 Codex 还是说没启用,新建一个任务重新加载,因为旧任务拿不到新装的工具。授权凭证过期也会导致失败,重新走一遍登录即可。
排查顺序建议是:先确认 Codex 本身能通(模型入口没问题),再确认 MCP 服务能启动(本地命令没问题),最后确认 ChatCut 授权有效(凭证没问题)。三层分开查,比一股脑重装快得多。
6. 长期用这套流程,我的接入建议
如果你只是偶尔剪一条视频,按上面的步骤走一遍就够了。但如果你打算长期用 Codex 指挥剪辑,建议把 Key 和配置固定下来,别每次重配。TaoToken 的统一 Key 在这里的优势是,你 Codex 调模型和 ChatCut 调工具可以共用一个入口,额度也统一管理,不用在多个平台之间对账。
具体操作上,我建议你先去 API Keys 页面https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api_keys&utm_campaign=rewrite创建一个专用 Key,只给这套剪辑流程用,方便后面排查和限额。接入文档在https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite,配置字段有疑问先查文档。如果你后面要跑更长的编码或 Agent 任务,可以看 Coding Planhttps://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding_plan&utm_campaign=rewrite,它更适合持续性的任务场景。
最后说个真实体会:这套流程里 AI 替我做掉了大量找剪点、批量生成、调整时间线和导出的重复劳动,但审核仍然是我自己的。字幕专有名词、MG 出场时机、这句话到底该不该删,这些最终判断 AI 替不了。我踩过的坑是,第一版导出后没仔细看字幕,结果专有名词错了一片,又返工了一轮。所以导出前一定把字幕过一遍,尤其是专有名词和断句。把时间点、问题、正确结果、联动范围这四样写清楚,返工会少很多。