# 管理资产

添加、重命名、设封面和移除一个项目的角色、场景和道具，并把图片存进你的素材库。

资产就是项目用到的一个角色、一个场景或一个道具。每个资产有名字、描述和图片。剧本和提示词用名字指向资产，比如 `@Lin Xia`。这些命令做的事和 MiniCut 应用里的 **资产** 标签页一样，规则也一样。

开始之前，先登录并建一个项目，见[快速开始](/zh-cn/docs/cli/quickstart)。这里的每条命令都要求这台电脑已经登录。每条 `minicut asset` 命令打印一行 JSON。在项目文件夹里运行命令，这里是 `~/.minicut/projects/rain-shop`。

## 添加资产

1. 把角色的图片放进项目文件夹，`lin.png`。图片是 PNG、JPG 或 WebP，最大 25 MB，一条命令最多带 12 张。
2. 带上图片和备注，添加这个角色：

```bash Terminal
minicut asset add rain-shop characters "Lin Xia" --note "shop owner" lin.png
```

```json Output
{"id":"lin-xia","kind":"characters","name":"Lin Xia","folder":"library/characters/lin-xia"}
```

`id` 由名字生成，用小写拉丁字母和 `-`。名字里没有拉丁字母时，id 形如 `character-01`。下面的命令里要用这个 `id`。图片按 `image-01`、`image-02` 依次保存，带它们自己的扩展名。

3. 可选：添加一个场景或一个道具。它们不需要图片。

```bash Terminal
minicut asset add rain-shop locations "Night shop"
minicut asset add rain-shop props "Umbrella"
```

名字是 1 到 40 个字符，不能包含 `/`、`\`、`@` 或竖线。项目里已经用了的名字会被拒绝，错误是 `name_taken`。

## 重命名资产

1. 用 `id` 重命名这一项：

```bash Terminal
minicut asset rename rain-shop characters lin-xia "Lin"
```

```json Output
{"name":"Lin","files_changed":0}
```

`rename` 会改掉每一处 `@Lin Xia`：`script.md` 和 `story.md` 里的，以及每一集的 `script.md`、`shots.md`、`assets.md` 和 `prompts.md` 里的，用到这一项的每个项目都一样。`files_changed` 是它改写的文件数。

## 设封面

1. 用文件名设定代表这一项的图片：

```bash Terminal
minicut asset cover rain-shop characters lin-xia image-01.png
```

```json Output
{"cover":"image-01.png"}
```

## 选定版本

1. 设定一个镜头用的版本。参数依次是项目、集、镜头和版本：

```bash Terminal
minicut asset pick rain-shop ep01 c03 t02
```

```json Output
{"pick":"t02"}
```

## 移除资产

1. 把这一项从项目里移除：

```bash Terminal
minicut asset remove rain-shop props umbrella
```

```json Output
{"moved":true,"name":"Umbrella"}
```

这一项的文件夹会进入系统的废纸篓。如果还有别的项目在用这一项，文件夹会留在你的素材库里，`moved` 是 `false`。

## 把图片存进素材库

1. 把你已有的一张图片存成角色、场景、道具或风格图片，并在项目里列出它：

```bash Terminal
minicut save character lin.png --id lin-xia --as sheet-02 --project rain-shop
```

它会打印 `Saved` 和图片在素材库里的路径，并说明项目是不是已经列出了这一项。如果文件已经在那里，它会打印 `already in the library, not overwritten`。

`minicut save` 从不覆盖素材库里已有的文件。想把做好的视频存成某个镜头的版本，见 [minicut save](/zh-cn/docs/cli/projects#minicut-save)。想用模型做图片，见[生成](/zh-cn/docs/cli/generate)。

## 检查是否成功

每条命令都会打印结果，退出码是 0。文件夹 `~/.minicut/library/characters/lin-xia` 里有图片，项目的 `series.json` 在 `library.characters` 下列出了 `lin-xia`。

## 某一步失败时

`error` 字段是一个固定的代码。

动作被拒绝时，退出码是 1。
`asset` 后面的词不对时，退出码是 2。
图片在你的工作文件夹之外时，退出码是 5。

| 错误 | 怎么做 |
|---|---|
| `name_taken` | 选一个项目还没用过的名字 |
| `bad_name` | 用 1 到 40 个字符，不要包含 `/`、`\`、`@` 或竖线 |
| `no_project` | 检查项目 id，或者在项目文件夹里用 `.` |
| `no_asset` | 用项目在 `series.json` 里列出的 `id` |
| `no_file` | 用这一项某张图片的文件名 |
| `no_clip` | 检查集和镜头的 id。镜头要在 `clips` 里有文件夹 |
| `no_take` | 用镜头已有的版本，比如 `t02` |
| `bad_type` | 给一张 PNG、JPG 或 WebP 图片 |
| `too_large` | 给一张 25 MB 或更小的图片 |
| `bad_request` | 检查类型。它是 `characters`、`locations` 或 `props` |
| `path_outside` | 把图片移进你的项目文件夹，再添加一次 |

## 下一步

[项目](/zh-cn/docs/cli/projects) [生成](/zh-cn/docs/cli/generate) [使用画布面板](/zh-cn/docs/cli/use-a-canvas-board)
