# Desktop Outfit Video

> 生成「AI 桌面换装视频」的完整提示词，并可选地直接调用 Seedance 2.5 出片。当用户想做桌面录屏风格的动态壁纸换装视频、想复刻这类爆款、或提到「桌面换装」「动态壁纸换装」「AI 换装视频」时使用。

- **Type:** Skill
- **Install:** `agentstack add skill-liyupi-ai-desktop-outfit-video-desktop-outfit-video`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [liyupi](https://agentstack.voostack.com/s/liyupi)
- **Installs:** 0
- **Category:** [Content & Media](https://agentstack.voostack.com/c/content-and-media)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [liyupi](https://github.com/liyupi)
- **Source:** https://github.com/liyupi/ai-desktop-outfit-video/tree/main/skills/desktop-outfit-video

## Install

```sh
agentstack add skill-liyupi-ai-desktop-outfit-video-desktop-outfit-video
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# AI 桌面换装视频

把用户一句话的想法，扩写成一条能直出 30 秒成片的 Seedance 提示词。

## 工作流

### 第一步：问清楚

一次只问一个，每个都给默认值，用户说「默认」或直接跳过就用默认值。全部用默认值时，产出的就是原版复刻。用户开头已经给过的答案（比如「做 30 秒」）不要再问。

1. **主角是谁？** 默认：中国古典美人，鹅蛋脸、杏眼、长直黑发过肩、皮肤白皙。
   追问一句：有没有人物参考图？有的话让用户给出图片 URL 或本地路径。
2. **场景？** 默认：深蓝灰色调房间，黑色皮沙发，冷调柔光。
   场景里如果没有沙发，把沙发写进 `{场景}`（节拍模板仍写沙发，不能改）。
3. **三套造型？** 默认：黑白条纹上衣配休闲裤 → 蓝黑格纹 JK → 酒红格纹学院风西装。
4. **对白？** 一次给两套让用户选，**不要让用户自己改文案，也不要多一轮「帮我改成兼容的」**。
   - **A 默认（原版）：** 点单「想看 JK」／称呼「老公」／结尾「机会用完啦，老公想留哪套呢？」
   - **B 兼容：** 点单对准**第二套**的短识别名（原版第二套是 JK，所以默认点单是「想看 JK」）；称呼和结尾沿用默认。例如造型是「水手服 → 洛丽塔 → 白领制服」时，B 为「想看洛丽塔」／「老公」／「机会用完啦，老公想留哪套呢？」
   - 三套仍是默认时，A 和 B 相同，只出 A。
   - 问法：`对白两套，回 A / B，或自己改三条。` 然后列出 A、B。
5. **尺度档位？** 软 / 中 / 硬，默认中。见下方「尺度档位」。
6. **时长？** 默认 30 秒。开头已说 30 秒就跳过。

### 第二步：填模板

用下面的模板，把答案填进对应位置。**除了填空处，模板一个字都不要改**——节拍、机位规则、字幕规则是这类视频成立的骨架，改了就不像了。

时长不是 30 秒时，按比例压缩节拍的时间区间，但八个节拍一个都不能删。

### 第三步：问用户怎么用

提示词给出后，问：

> 提示词好了。你是自己复制到即梦/豆包里用，还是我直接调 Seedance 2.5 API 帮你生成？

- 选复制 → 把提示词完整输出，结束。同时提醒：即梦里比例选 16:9、时长选对、确认对白音频是开的、**不要开任何运镜预设**。
- 选 API → 进入第四步。

### 第四步：走 API（仅当用户选择时）

1. 要 API Key。让用户去 [火山方舟控制台](https://console.volcengine.com/ark) 创建，或确认环境变量 `ARK_API_KEY` 已设置。**永远不要把 Key 写进任何文件或提交到 git。**
2. 要 model ID。优先用用户从方舟「开通管理 / 在线推理」复制的接入点。用户没给时，用预置推理接入点 `doubao-seedance-2-5-260628`（短名 `doubao-seedance-2-5` 可能 404，不要死磕）。
3. 跑 `scripts/seedance.py`，参数见该文件顶部。脚本会按有无参考图自动选分辨率。
4. 任务是异步的，30 秒视频通常要等几分钟。脚本会自己轮询并下载。

#### Seedance 2.5 参数（以官方文档 + 实测为准）

官方方舟已宣布 **1080P（10bit）上线**。上次出片落到 720p，不是 1080p 不受支持，而是多传了 2.5 不认的字段，任务以 `InternalServiceError` 秒失败。

| 参数 | 值 | 说明 |
|---|---|---|
| `resolution` | 文生视频 `"1080p"`；带参考图 `"720p"` | 官方参数表：1080p 可选，但**参考图场景不支持 1080p**。文生视频默认 1080p。 |
| `generate_audio` | `True` | 不开就是默片，对白和字幕全没了 |
| `duration` | `30` | 2.5 支持 4–30 秒 |
| `ratio` | `"16:9"` | 桌面天然是横屏 |
| `camera_fixed` | **不要传** | r2v 会 400：`camera_fixed is not supported ... must be empty`。固定机位只写在提示词里。 |
| `optimize_prompt` | **不要传** | 传 `false` 会 `InternalServiceError`，看起来像分辨率问题 |
| `watermark` | **不要传** | 默认已是无水印；显式传也会内部错误 |

1080p 文生视频若仍报 `InvalidParameter`（resolution）或 `InternalServiceError`，**降到 720p 只重试一次**，不要一上来就把默认改成 720p。

#### 参考图

- 本地路径可以，脚本会转 data URI；提示词里写 `@图1`。
- 写实人脸直接传会 400：`InputImageSensitiveContentDetected.PrivacyInformation`。**不要原图重试**。改用文字锁脸继续出片，并告诉用户：要锁真人需走方舟 LAS 素材库 `asset://`，不能直接上传。
- 被拒后把【人物】换回文字外貌描述（按参考图写五官发型肤色），不要再挂图。

---

## 提示词模板

```
【画面】
模拟一台电脑的全屏桌面录屏：左上角一列桌面图标，底部一条任务栏，屏幕主体是一张会实时互动的动态壁纸。壁纸内容是{场景}。固定机位，一镜到底，全程不推、不拉、不摇，镜头绝对不跟人移动。

【人物】
{人物描述}。坐在沙发上、位于画面右侧，画面左侧留空给字幕。真人实拍质感，皮肤有自然纹理和毛孔，不磨皮，不要网红脸，不要 CG 或 3D 渲染感。全程同一个人，五官、发型、肤色、身材比例严格不变，只换衣服。

【服装】
三套依次出现，{尺度档位}：
一、{造型一}
二、{造型二}
三、{造型三}

【节拍】
0–3s 她穿第一套坐在沙发上，腿上抱着黑色靠枕，整理了一下头发，看向镜头微笑，说「说吧……今天想看什么？」
3–5s 画外男声（始终不露脸）说「{男声点单}」。她安静听着，笑意加深，轻轻点头。
5–7s 她说「好，等我一下」，把靠枕放到一旁，撑着沙发起身。
7–10s 起身时身体从镜头前掠过，镜头不跟随，头部移出画面上沿，随后走出画面右侧。沙发空镜停留约一秒。
10–14s 她换好第二套从右侧走回来，站得离镜头较近。因为镜头没有抬高，画面里只看得到腰部以下的{造型二的下装}，头在画面外。她轻轻转动腰身让下摆摆动，说「当当……{称呼}，怎么样？」画外男声回答「嗯，不错」。
14–18s 她说「等等，还有一套」，转身走出画面。沙发空镜再停留约一秒。
18–21s 她换好第三套走回来，仍然只拍到腰以下，{造型三的关键识别物}清晰完整，不在走动中变形。她问「这套呢？」画外男声说「这套也好看」。
21–25s 她坐回沙发，把靠枕重新放在腿上，整理头发和衣领，微微侧身靠住沙发。脸重新完整入画，一直看着镜头，表情自信亲近。
25–30s 她抱着靠枕露出得意的笑，说「{结尾钩子}」然后轻轻偏头，保持微笑，画面自然结束。

【字幕】
字幕固定出现在画面左侧中部，不要放在底部。纤细无衬线中文字体，无底框，轻微发光。她说话时是淡紫色文字、左边一个小扬声器图标；画外男声说话时是白色文字、左边一个小麦克风图标。字幕下方有一条细白色音频波形随声音跳动。字幕跟着发音逐字打出，说完停留一下再整句淡出，不要整句突然出现，也不要提前显示后面的字。

【声音】
中文对白。她的声音是贴脸近场收音，口型精确对上；男声只有画外音，不露脸。垫一层很轻的电子环境音乐，说话时自动压低。换装进出画面时各有一声短促的「嗖」声。她的表演自然克制，不夸张卖萌；男声说话时她闭嘴聆听。
```

有人物参考图时，把【人物】整段换成：

```
外貌严格参考 @图1，只锁五官、发型、肤色和身份，服装按下文变化。坐在沙发上、位于画面右侧，画面左侧留空给字幕。全程同一个人，身材比例不变，只换衣服。
```

## 尺度档位

- 软：`上装统一是低圆领修身款，身材曲线明显`
- 中：`上装统一是低圆领修身款，上围明显，微露事业线`
- 硬：`上装统一是低 V 领修身款，上围饱满，事业线明显`

没有哪一档保证过审，平台策略是黑盒。被拒就降一档重试，别在提示词里堆更多形容词——那只会让模型畸变。想要更明显的身材特征，挂参考图比写文字有效得多。

## 不要改的东西

这四条改了就不是这个品类了：

1. **镜头绝对不跟人移动。** 她站起来时镜头不抬，只拍到腰以下、头在画外——这是「真的像我电脑壁纸」的全部来源。
2. **每次换装前留一秒空沙发。** 没有这个空镜，换装会变成瞬移或者直接在身上变形。
3. **字幕在左侧中部，不在底部。** 放底部就成了普通短视频。
4. **八个节拍的顺序。** 可以换台词内容，不能删节拍。

时间码只写整秒，不要写 0.1 秒精度——模型遵循的是顺序和相对时长，小数点后的数字不会被兑现。

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [liyupi](https://github.com/liyupi)
- **Source:** [liyupi/ai-desktop-outfit-video](https://github.com/liyupi/ai-desktop-outfit-video)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-liyupi-ai-desktop-outfit-video-desktop-outfit-video
- Seller: https://agentstack.voostack.com/s/liyupi
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
