# KOKO Blockout 白模预演台

Blockout 是独立于无限画布的白模预演工作流。它不会创建画布节点，也不会改变画布的图片节点和视频节点。

## 页面

登录正式站后打开 `/blockout/`，或从控制台左侧的“白模预演台”进入。

## 工作流

1. 添加镜头，填写镜头时长、镜头说明和动作画面。
2. 为每个镜头上传关键帧图片。页面会先将本地图片上传到当前站点的临时素材中转。
3. 选择 Seedance 2.0 或 Seedance 2.5，填写整体提示词、比例和清晰度。
4. 点击“整理并生成”。服务端会按镜头顺序整理提示词，去重关键帧，再使用现有视频生成和扣费链路提交。

## 参考图限制

- Seedance 2.0：最多 9 张关键帧。
- Seedance 2.5：最多 30 张关键帧。
- 目前 Blockout 只上传图片关键帧，不把白模视频或音频伪装成图片发送给上游。

## 接口

页面使用登录态接口 `POST /api/blockout/prepare` 整理清单。请求示例：

```json
{
  "model": "seedance-2.0",
  "title": "产品片白模预演",
  "prompt": "保持主体和光线连续",
  "shots": [
    {
      "duration": 5,
      "camera": "中景，缓慢推进",
      "prompt": "主体从画面左侧进入",
      "keyframes": [
        { "url": "https://example.invalid/frame-01.png" }
      ]
    }
  ]
}
```

接口只返回规范化的镜头表和关键帧 URL，不直接扣费。正式生成仍然使用 `/api/usage/charge`、`/api/video/v1/files` 和 `/api/video/v1/videos`，因此失败退款、幂等和上游状态查询规则保持一致。
