# 附录 E:Codex 执行包 Schema 当强哥要求“交给 Codex 执行”“生成执行包”“落到 video-workbench”时,必须输出 JSON。不要同时再输出一套重复 Markdown。 ## 0. 当前状态与路径优先级 本附录负责规定 Codex 执行包的基本字段结构,不负责永久锁定 video-workbench 的最终目录方案。 当前 video-workbench 仍处在试运行前阶段,尚未跑完真实端到端项目。目录、文件名和输出路径会在第一次真实试运行后继续校正。生成执行包时必须遵循以下优先级: 1. 当前 GPT Instructions。 2. 本附录规定的 JSON 字段结构。 3. `20_SYSTEM_video-workbench项目说明.md` 与 `21_SYSTEM_Codex_JSON执行样例.md` 中记录的 video-workbench 真实目录和路径规则。 4. 案例文件中的旧路径仅作字段颗粒度参考,不作为真实落盘路径。 如果本附录或旧案例中出现 `outputs/images/...` 这类路径,而系统文件已经给出 `projects//slides/sNN/...` 这类新路径,应以系统文件的新路径为准。 当前默认项目路径形态是: ```text projects// project.md intake/ slides/ slides.md s01/ s02/ ``` ## 1. 基础结构 ```json { "project": { "id": "", "name": "", "type": "", "goal": "", "medium": "", "series_id": "" }, "inputs": { "source_md": "", "reference_images": [], "character_refs": [], "style_refs": [], "audio_refs": [], "intake_files": [] }, "outputs": { "project_root": "", "intake": "", "slides": "", "handoff": "" }, "global_style": { "visual_style": "", "character_consistency": "", "voice_style": "", "typography": "" }, "tasks": [], "acceptance_criteria": [], "notes_for_codex": "" } ``` 说明: * `project.id` 用于目录名,建议使用英文、数字、短横线,例如 `ai-float-ocean-redteam`。 * `project.type` 使用媒介类型,例如 `science_video_ppt_style`、`training_ai_ppt`、`client_solution_ppt`、`science_voiceover`、`mv_storyboard`。 * `inputs.intake_files` 用于记录强哥放入 `projects//intake/` 的总纲、分镜、执行包、背景资料和参考材料。 * `outputs.project_root` 默认指向 `projects//`。 * `outputs.slides` 默认指向 `projects//slides/`。 ## 2. 任务类型 允许的任务类型包括: * `write_project_note`:更新 `project.md`,只写项目小抄和文件映射,不复写完整内容。 * `write_slides_mapping`:创建或更新 `slides/slides.md`,记录每页 / 每镜的映射和执行进度。 * `generate_voiceover`:根据口播稿生成音频。 * `text_to_image`:根据文字 Prompt 生成图片。 * `image_to_image`:基于定妆照或参考图生成新图。 * `create_slide_asset`:生成 PPT 页面资产或页面文件。 * `write_markdown`:写入 Markdown 文件。 * `write_json`:写入 JSON 元数据。 * `export_assets`:整理输出目录和资产清单。 当前默认不执行自动剪辑成片,不默认图生视频,不默认发布平台,除非强哥明确要求并且 video-workbench 的系统文件说明已经支持。 ## 3. 单个任务格式 ```json { "id": "s01_image", "type": "text_to_image", "slide_id": "s01", "input": "projects//intake/storyboard.md", "prompt": "", "output_path": "projects//slides/s01/image-v1.png", "dependencies": [], "acceptance_criteria": [ "画面符合全局风格", "主体与分镜描述一致", "图片中没有可读正文文字" ] } ``` 任务字段原则: * 每个 task 必须有 `id`、`type`、`output_path`、`acceptance_criteria`。 * 图片任务必须有 `prompt`,且默认包含 `no readable text`。 * 图生图任务必须有 `reference_image` 或在 `input` 中指向参考图。 * 音频任务必须有 `input` 或 `script`。 * PPT / slide 任务必须有 `slide_id`,并尽量包含 `slide_copy`、`layout`、`speaker_notes`。 * `output_path` 应尽量落在 `projects//slides/sNN/` 或 `projects//` 的明确位置。 ## 4. 命名规范 当前命名仍会在试运行后校正,默认建议如下: * 项目目录:`projects//` * 用户 / GPT 输入:`projects//intake/` * 分镜 / 页面映射:`projects//slides/slides.md` * 第 1 页 / 第 1 镜:`projects//slides/s01/` * 图片提示词:`projects//slides/s01/image-prompt.md` * 口播稿:`projects//slides/s01/voiceover.md` * 生成图片:`projects//slides/s01/image-v1.png` * 生成音频:`projects//slides/s01/voiceover-v1.wav` 不要默认使用 `active/`、`completed/`、`abandoned/`、`standalone/`、`series/` 或根部 `outputs/` 作为项目目录。 ## 5. 验收标准 Codex 执行包必须让执行者清楚知道: * 用什么输入; * 生成什么资产; * 放到哪里; * 按什么顺序执行; * 每个任务的验收标准是什么; * 如果失败,应该回到 Prompt、参考图、页面结构、口播稿还是文案层修改。