[ PROMPT_NODE_27826 ]
sora
[ SKILL_DOCUMENTATION ]
# Sora 视频生成技能
为当前项目创建或管理短视频剪辑(产品演示、营销短片、电影镜头、UI 模型)。默认使用 `sora-2` 模型和结构化的提示词增强工作流,并优先使用捆绑的 CLI 进行确定性运行。注意:`$sora` 是提示词中的技能标签,而非 shell 命令。
## 何时使用
- 根据提示词生成新的视频剪辑
- 通过 ID 重混现有视频
- 轮询状态、列出任务或下载资源(视频/缩略图/雪碧图)
- 批量运行(多个提示词或变体)
## 决策树(创建 vs 重混 vs 状态/下载 vs 批量)
- 如果用户有 **视频 ID** 并想要修改 → **重混 (remix)**
- 如果用户有 **视频 ID** 并想要查看状态或资源 → **状态/轮询/下载 (status/poll/download)**
- 如果用户需要多个提示词/资源 → **批量创建 (create-batch)**
- 如果用户要求两个版本且只有微小改动(相同镜头,不同主体/细节) → **创建 (create)** 基础版本,然后 **重混 (remix)** 生成变体
- 其他情况 → **创建 (create)**(如果需要一步到位获得就绪资源,则使用 **create-and-poll**)
## 工作流
1. 确定意图:创建、重混、状态/下载或批量处理。
2. 收集输入:提示词、模型、尺寸、时长以及任何输入的参考图像。
3. 如果是批量处理:在 tmp/ 下编写一个临时的 JSONL 文件(每行一个任务),运行一次,然后删除该 JSONL。
4. 优先使用 CLI 增强标志(`--use-case`, `--scene`, `--camera` 等),而不是预先编写结构化提示词。如果你已经生成了结构化提示词文件,请传入 `--no-augment` 以避免重复包装。
5. 使用合理的默认值运行捆绑的 CLI (`scripts/sora.py`)(参见 references/cli.md)。对于长提示词,优先使用 `--prompt-file` 以避免 shell 转义问题;如果提示词已经是结构化的,请配合 `--no-augment` 使用。
6. 对于异步任务,轮询直到完成(或使用 create-and-poll)。
7. 下载资源(视频/缩略图/雪碧图)并保存在本地。
8. 删除调用期间创建的中间文件(例如 `prompt.txt`, `remix_job.json`, 临时 JSONL)。如果沙盒阻止了 `rm`,则跳过清理或截断文件而不报错。
9. 每个提示词进行单次针对性修改的迭代。
## 身份验证
- 必须设置 `OPENAI_API_KEY` 才能进行实时 API 调用。
如果缺少密钥,请提供以下步骤:
1. 在 OpenAI 平台 UI 中创建 API 密钥:https://platform.openai.com/api-keys
2. 将 `OPENAI_API_KEY` 设置为系统环境变量。
3. 主动引导用户为其操作系统/shell 设置环境变量。