spritesheet · git:20260615.8e06f33 · 2026-06-15 · sha256 f68df3274aa0255e

spritesheet git:20260615.8e06f33A

Immutable. This exact content is served forever at /api/v1/blob/f68df3274aa0255e.

---
name: spritesheet
description: 从视频中提取帧生成 spritesheet 和独立透明 PNG。当用户说"制作 spritesheet"、"视频转精灵图"、"提取动画帧"、"sprite sheet"、"循环动画"时使用。
---

# Spritesheet Generator

从视频中提取帧,去背景、对齐、输出透明 PNG 和 spritesheet 动画图,并生成可交互的播放器用于验证效果。

## 使用场景

- 用户需要从视频中提取动画帧制作 spritesheet
- 用户需要生成游戏用的精灵图(sprite animation)
- 用户需要制作循环动画并验证效果
- 用户有绿幕/蓝幕/白幕视频,需要抠图提取主体

## 工作流程

1. **确认视频来源**:获取用户提供的视频路径。
2. **确认需求**:帧数、画布尺寸、背景色类型等。如果 `$ARGUMENTS` 非空,解析其中的参数。
3. **执行处理**:运行脚本:

```bash
cd scripts && uv run spritesheet.py --video <视频路径> [选项]
```

### 参数

| 参数 | 默认值 | 说明 |
|------|--------|------|
| `--video` | (必填) | 视频文件路径 |
| `--frames` | `8` | 提取帧数 |
| `--cols` | `4` | spritesheet 列数 |
| `--canvas-size` | `512` | 输出帧画布尺寸(正方形) |
| `--bg-color` | `auto` | 背景色: `auto`/`green`/`blue`/`white`/`black` |
| `--smart` | 关闭 | 启用视频模型分析最佳循环区间 |
| `--output-dir` | `./spritesheet_output` | 输出目录 |

### 示例

```bash
# 基本用法(自动检测背景色)
uv run spritesheet.py --video video.mp4

# 指定绿幕背景,16 帧
uv run spritesheet.py --video video.mp4 --bg-color green --frames 16

# 使用 AI 分析最佳循环区间
uv run spritesheet.py --video video.mp4 --smart

# 指定输出目录和画布尺寸
uv run spritesheet.py --video video.mp4 --output-dir ./my_output --canvas-size 256
```

4. **展示结果**:告知用户输出目录,并建议打开 `player.html` 验证动画效果。

## 输出

- `frame_01.png` ~ `frame_NN.png` — 独立透明 PNG(每帧)
- `spritesheet.png` — 合并的 spritesheet
- `player.html` — 可交互的动画播放器(浏览器直接打开)

## 注意事项

- `--smart` 模式需要 `agent_config.toml` 中配置视频分析模型(`video-analyzer.models.{name}`)
- `--smart` 模式根据 API 端点自动选择传入方式:
  - 标准端点 `/api/v3`: 使用 `input_video` 直接传入视频(base64),平台按 fps=5 自动抽帧
  - Coding plan `/api/coding/v3`: 使用 `input_image` 手动抽帧(每秒 5 帧)以图片方式传入
  - API 文档: https://www.volcengine.com/docs/82379/1895586
  - fps 范围: [0.2, 5.0],默认取最大值 5 以获得最精细的运动分析
  - base64 方式支持 ≤ 50MB 视频;更大文件需改用 Files API
- 背景色建议使用**绿幕**效果最佳(Chroma Key 色相分割精度最高)
- 白幕和黑幕因与主体暗部/高光重叠,边缘可能不如绿幕干净

## 视频生成建议

生成视频时在 prompt 中指定纯色背景,推荐绿幕:

> `pure chroma green background #00FF00, no gradient, no shadows, uniform lighting`

| 背景色 | 色值 | prompt 示例 | 抠图效果 |
|--------|------|-------------|---------|
| 🟢 绿幕(推荐) | `#00FF00` | `pure chroma green background #00FF00` | ✅ 最佳 |
| 🔵 蓝幕 | `#0000FF` | `pure chroma blue background #0000FF` | ✅ 好,蓝色主体冲突时改用绿幕 |
| ⚪ 白幕 | `#FFFFFF` | `pure white background #FFFFFF` | ⚠️ 高光区易混淆 |
| ⚫ 黑幕 | `#000000` | `pure black background #000000` | ⚠️ 暗部易丢失 |