女朋友想要专属桌宠?我用 AI 提示词,1 小时把照片变成 57 帧动画精灵
这件事操作起来并不复杂,但最终呈现的效果相当惊艳。先来看成果——我将女朋友的照片输入 AI,成功生成了一张包含 57 帧画面的横向精灵图(Sprite Sheet)。
这张精灵图集成了 9 种截然不同的动作姿态,总计 57 帧动画画面,具体分布如下:
| 动作 | 帧数 | 说明 |
|---|---|---|
| 待机眨眼 | 6 帧 | 自然站立,偶尔歪头并眨眼 |
| 敲代码 | 6 帧 | 坐在地上敲击键盘,伴有代码符号飘动 |
| 修 Bug | 6 帧 | 手持扳手修理红色 Bug 图标 |
| 报错装死 | 8 帧 | 举起"ERROR"牌子,表情透出无奈 |
| 加载等待 | 6 帧 | 坐等进度条逐渐填满 |
| 庆祝完成 | 5 帧 | 跳起来撒花,进度条显示 100% |
| 偷看屏幕 | 8 帧 | 从窗口边缘探出半个身子 |
| 睡觉休息 | 4 帧 | 趴在小枕头上,ZZZ 符号缓缓飘起 |
| 监工模式 | 8 帧 | 叉腰站在桌面边缘,表情认真严肃 |
拿到这张精灵图之后,将其配置到 Codex 桌宠中,你的桌面宠物就变成了独一无二的"她"。
整个操作流程清晰明了:
flowchart LR
A["准备参考照片"] --> B["编写提示词 Prompts"]
B --> C["AI 生成精灵图
(豆包/ Midjourney)"]
C --> D{"效果满意?"}
D -->|不满意| B
D -->|满意| E["裁剪 & 检查"]
E --> F["配置 Codex 桌宠"]
F --> G["桌面运行 ✓"]
style A fill:#4ecdc4,color:#fff
style C fill:#ff6b6b,color:#fff
style G fill:#45b7d1,color:#fff
二、你需要准备什么
所需工具清单并不复杂,三样东西就能搞定:
| 工具 | 作用 | 备注 |
|---|---|---|
| 一张参考照片 | AI 绘制角色的依据 | 正面照效果最佳,表情需清晰 |
| AI 绘图工具 | 生成精灵图 | 豆包、Midjourney、DALL·E 3 均可 |
| Codex 桌宠 | 桌面上显示动画 | 需使用支持自定义精灵图的版本 |
整个流程中的核心难点只有一个——提示词如何编写。下面就将提示词逐段拆解,看看其中的关键技巧。
三、核心提示词拆解:AI 是怎么听懂你的需求的
这份提示词前前后后与豆包沟通了 5 轮才算调试完成。拆成 5 个模块来看,每个模块都有其独特用意。
3.1 角色定义——让 AI 知道"画谁"
Generate a horizontal sprite sheet for a Codex desktop pet, in chibi anime style.
Character:
- Cute Q‑version (chibi) of the person in the reference image
- Maintain all key features: same hairstyle and hair color, face expression style,
clothing style, accessories, and overall vibe
- The character must be exactly the same person across all frames
这里面有几个关键要点:
Q-version (chibi)是让 AI 绘制 Q 版造型,而非写实风格same hairstyle / hair color / clothing style是保底条款——防止 AI 在不同帧中画出不同的角色- 最后那句
exactly the same person across all frames是重中之重,没有它,AI 很可能会在动作帧里擅自修改角色长相
3.2 动作设计——9 种桌宠日常
桌宠之所以惹人喜爱,是因为它呈现出"活着"的生动感。设定 9 种动作,覆盖了日常使用场景:
1. Idle blink (6 frames): standing naturally, gently blinking, occasionally tilting head slightly, relaxed and cute expression.
2. Coding (6 frames): sitting or kneeling, holding a small keyboard or mini computer, typing rapidly, with a few code symbols floating nearby like @, >, ;, :, etc.
3. Bug fixing (6 frames): holding a small wrench, seriously repairing a red bug icon, with slight motion lines, final frame shows a satisfied smile.
...(后续动作省略,文末有完整版)
设计思路非常明确:
- 待机 + 敲代码 + 修 Bug + 报错 + 加载 + 庆祝 = 程序员日常叙事线
- 偷看 + 睡觉 + 监工 = 互动感动作,让桌宠不再只是"呆在那里"
- 每个动作的帧数都不是随意设定的——眨眼 6 帧刚好 1 秒循环,敲代码 6 帧能看出节奏感
3.3 布局控制——让 57 帧互不干扰
Layout:
- All frames arranged in one single horizontal strip
- Each frame shows the same character performing the action with only minor variations
- No crop on hair, head, hands, feet, props, or body
- Enough spacing between frames so they do not overlap
这里有几个容易踩的坑:
minor variations——告诉 AI 每帧是微动变化而非重新绘制No crop——防止 AI 切到头发或手脚,Codex 桌宠需要完整的角色轮廓Enough spacing——不加这句,AI 会把所有帧挤在一起,后期裁剪时会很痛苦
3.4 画风控制——Q 版的灵魂所在
Art style:
- Chibi Q‑version anime style, clear thick outlines, flat cel‑shading,
cute and clear expressions, well‑defined body contours
- High character consistency across all frames
关键参数的作用:
| 参数 | 作用 | 不加会怎样 |
|---|---|---|
clear thick outlines |
清晰粗线条 | 角色边缘模糊,抠图困难 |
flat cel‑shading |
平涂赛璐璐 | 出现阴影渐变,动画风格不统一 |
well-defined body contours |
轮廓清晰 | Q 版变形,认不出是谁 |
3.5 绿幕背景——省去抠图的麻烦
Background:
- Solid green screen color: #00ff00 (pu re green)
- Entire background must be this solid green only
- No shadows, no gradients, no floor, no textures, no glow, no reflections
- Do NOT use #00ff00 anywhere in the character or props
这招是从视频抠图技术中借鉴来的——#00ff00 纯绿背景。Codex 桌宠支持透明背景,使用纯绿底图方便后期一键去背。最后那句是防呆设计,防止 AI 把绿色画到角色身上。
四、豆包出图:5 轮拉扯才拿到满意的精灵图
写提示词最大的错觉就是——一次就能成功出图。实际上前后沟通了 5 轮才算拿到理想结果。
sequenceDiagram
actor U as 我
participant A as 豆包 AI
U->>A: 第1轮:发送需求 + 参考照片
A->>U: 生成结果 ❌
Note over U: 角色不像、帧间距太小
U->>A: 第2轮:调整角色一致性描述
A->>U: 生成结果 ❌
Note over U: 动作僵硬,缺少细节
U->>A: 第3轮:细化动作描述 + 帧数调整
A->>U: 生成结果 ⚠️
Note over U: 画风对了,但背景不绿
U->>A: 第4轮:强调绿幕 + 无阴影约束
A->>U: 生成结果 ✅
Note over U: 基本满意,表情略显呆板
U->>A: 第5轮:微调表情描述
A->>U: 终版 ✅
Note over U: 搞定!57帧完美精灵图
每轮遇到的具体问题和修复方法:
| 轮次 | 问题 | 怎么修复的 |
|---|---|---|
| 第 1 轮 | 角色不像本人,脸型变了 | 增加 same hairstyle, same face shape,明确说明 "based on reference image" |
| 第 2 轮 | 动作没有过渡感,像静态贴图 | 把 6 frames 改成 6 frames with slight motion,增加 final frame shows... 描述最后一帧的落点 |
| 第 3 轮 | 背景带了渐变色,不是纯绿 | 增加了 no shadows, no gradients, no floor |
| 第 4 轮 | 角色身上出现了绿色杂点 | 增加了 Do NOT use #00ff00 anywhere in the character or props |
| 第 5 轮 | 表情不够自然 | 每个动作增加了情绪描述,如 relaxed and cute / satisfied smile / curious expression |
最难调整的是第 3 轮——AI 似乎天生喜欢给背景添加光影效果,明明说了"纯绿"、"无阴影",它还是偷偷在角色脚下画了投影。直到把 no floor 加上才彻底解决问题。
五、Codex 配置:精灵图拿到后怎么塞进桌宠
图片生成好了,但如何让它变成桌宠?这一步是在 Codex 里问出来的。
5.1 核心问题
拿到精灵图后,遇到两个问题:
- 精灵图怎么切分——57 帧在一张横图上,Codex 怎么知道每帧从哪里开始、到哪里结束?
- 配置往哪里写——Codex 桌宠的配置文件在哪、什么格式?
5.2 Codex 的回答
把精灵图和截图发给 Codex,它给出了答案:
精灵图要求:
- 所有帧排列在一张横向长图上(已经满足)
- 每帧尺寸保持一致(用 PS 做了统一裁剪)
- 背景透明或纯绿(选择绿幕生成,后期去背)
配置方式:
- Codex 桌宠的精灵图通过
sprite配置项指定 - 需要告诉 Codex:精灵图路径、每帧宽高、总帧数、动作分组
- 配置格式一般为 JSON 或 YAML,定义每个动作对应哪些帧序号
举个例子,配置大致长这样:
{
"sprite": "path/to/your-sprite.png",
"frameWidth": 128,
"frameHeight": 128,
"totalFrames": 57,
"animations": {
"idle": { "frames": [0,1,2,3,4,5], "loop": true },
"coding": { "frames": [6,7,8,9,10,11], "loop": true },
"bugfix": { "frames": [12,13,14,15,16,17], "loop": true },
"error": { "frames": [18,19,20,21,22,23,24,25], "loop": false },
"loading": { "frames": [26,27,28,29,30,31], "loop": true },
"celebrate":{ "frames": [32,33,34,35,36], "loop": false },
"peek": { "frames": [37,38,39,40,41,42,43,44], "loop": true },
"sleep": { "frames": [45,46,47,48], "loop": true },
"supervise":{ "frames": [49,50,51,52,53,54,55,56], "loop": true }
}
}
5.3 实际操作流程
从图片到桌宠,完整链条是这样的:
flowchart TD
A["豆包生成精灵图
57帧横版 + 绿幕背景"] --> B["去背处理
绿幕 → 透明 PNG"]
B --> C["测量每帧尺寸
等分裁剪"]
C --> D["编写配置 JSON
帧序号 → 动作映射"]
D --> E["放到 Codex 配置目录"]
E --> F["重启桌宠 ✓"]
style A fill:#ff6b6b,color:#fff
style F fill:#45b7d1,color:#fff
具体步骤:
- 去背:使用 Photoshop 或在线工具(remove.bg)将绿幕背景变为透明
- 等分:57 帧横图总宽度 ÷ 57 = 每帧宽度,确保每帧尺寸一致
- 配帧:按提示词中的顺序,第 1-6 帧是待机、第 7-12 帧是敲代码……以此类推
- 写配置:将帧序号映射到动作名称,告诉 Codex 哪个动作对应哪几帧
- 放目录:将精灵图和配置文件放入 Codex 的桌宠资源目录
- 重启:重新加载桌宠,看到专属角色动起来
六、完整提示词模板分享(可直接用)
下面就是完整的提示词,把 [参考照片] 换成你的照片,直接将这段内容复制给豆包或 Midjourney 即可。
Generate a horizontal sprite sheet for a Codex desktop pet, in chibi anime style.
Character:
- Cute Q‑version (chibi) of the person in the reference image
- Maintain all key features: same hairstyle and hair color, face expression style,
clothing style, accessories, and overall vibe
- The character must be exactly the same person across all frames
Actions (each on the same horizontal strip, evenly spaced,
no grid lines, no frame numbers, no borders):
1. Idle blink (6 frames): standing naturally, gently blinking, occasionally tilting head slightly, relaxed and cute expression.
2. Coding (6 frames): sitting or kneeling, holding a small keyboard or mini computer, typing rapidly, with a few code symbols floating nearby like @, >, ;, :, etc.
3. Bug fixing (6 frames): holding a small wrench, seriously repairing a red bug icon, with slight motion lines, final frame shows a satisfied smile.
4. Error display (8 frames): holding a small sign that says "ERROR", expression helpless or awkward, slight arm movements, one frame has eyes closed looking frustrated.
5. Loading wait (6 frames): sitting while holding a horizontal progress bar that gradually fills up, patient waiting expression, occasional blinks.
6. Celebration complete (5 frames): jumping happily with both arms raised, colorful confetti around, holding or next to a progress bar showing 100%, finally landing back on the ground.
7. Peeking at screen (8 frames): peeking half‑body from behind the edge of a vertical window, curious expression, slight lean‑in and lean‑out motion, one frame with a blink.
8. Sleepy rest (4 frames): lying on a small white pillow, eyes closed, slight breathing motion, with "ZZZ" floating nearby.
9. Supervising work (8 frames): standing at the edge of the desktop, hands on hips, serious but cute expression, one frame pointing forward, one frame blinking.
Layout:
- All frames arranged in one single horizontal strip
- Each frame shows the same character performing the action with only minor variations
- No crop on hair, head, hands, feet, props, or body
- Enough spacing between frames so they do not overlap
Art style:
- Chibi Q‑version anime style, clear thick outlines, flat cel‑shading,
cute and clear expressions, well‑defined body contours,
suitable for scaling down as a desktop pet
- High character consistency across all frames
Background:
- Solid green screen color: #00ff00 (pu re green)
- Entire background must be this solid green only
- No shadows, no gradients, no floor, no textures, no glow, no reflections
- Do NOT use #00ff00 anywhere in the character or props
使用说明:
- 把提示词 + 参考照片一起发给豆包(或 Midjourney)
- 如果第一次生成效果不理想,别灰心——参照上面的"踩坑实录"逐轮修改
- 拿到精灵图后,用 PS 或在线工具把绿幕变为透明(Codex 支持透明 PNG)
- 替换 Codex 桌宠的精灵图配置
七、写在最后:把女朋友做成桌宠是什么体验?
说两个真实感受。
第一,她看到后的反应。第一次把桌宠跑起来的时候,女朋友在旁边看着,说"诶,这真的是我?"然后她就盯着屏幕看了 5 分钟,看着自己的 Q 版小人敲代码、修 Bug、偷看屏幕……那 5 分钟里,没敢告诉她,其实也就调了 5 轮提示词。
第二,这件事让人意识到—— AI 生成已经不是"能不能"的问题,而是"怎么精确控制"的问题。同样一个需求,提示词写得好不好,结果天差地别。踩过的这 5 个坑,看了这篇文章就能避开。
项目本身不涉及代码,整个流程全靠提示词驱动。如果也想要一个专属桌宠,把提示词复制走,换张照片就行。
