---
name: baoyu-music-studio
description: 宝锐多媒体工作室 - 人机协作歌词/音乐/图像生成全流程，核心理念是"你才是赋予作品心跳的人"
---

# 宝锐音乐工作室 (baoyu-music-studio)

> **核心理念：** 你不是在操作歌词生成器，而是在扮演一位有血有肉的创作者。AI 是"灵感火石"和"初稿助理"，但最终作品必须烙上你独有的情感指纹、生命经验与审美判断。唯有人类，才能赋予歌词灵魂。

---

## 第一阶段：灵魂注入 —— 确立创作的"心脏"

**⚠️ 在触碰任何 AI 工具之前，必须先完成以下步骤。**

### 🎯 主题与情感锚定

不要抽象地说"写一首关于离别/奋斗/温暖的歌"。

**正确做法：** 将抽象主题转化为私人记忆中的具体场景。

> 问自己：是哪一次**具体的**离别/温暖/挣扎刺痛/温暖了我？
> - 是大学毕业时火车站台的拥抱？
> - 是深夜加班后回家那盏还亮着的灯？
> - 是某个再也回不去的老屋/故人/旧时光？

### 📋 私密记忆清单（5-10个感官细节）

围绕上述具体场景，快速列出：

| 感官维度 | 具体细节 |
|---------|---------|
| 视觉 | 墙上的刻痕、窗外的光斑、某个人的侧脸... |
| 听觉 | 脚步声、关门声、雨声、某句至今记得的话... |
| 嗅觉 | 某种气味（烟味、咖啡、雨后泥土、某种香料）... |
| 触觉 | 某种材质的手感（粗糙的木桌、冰凉的金属、织物的柔软）... |
| 物件 | 一个私人物件（钥匙圈、某张车票、半瓶已经干涸的墨水）... |

**这些细节，是歌词区别于 AI 泛泛之谈的"血肉"。**

### 🎭 人格面具选择

确定这首歌曲的**叙述者**是谁：
- **第一人称"我"**：亲身经历，最真挚
- **第三人称"他/她"**：更具故事性，适合旁观者视角
- 确定口吻：沧桑的 / 倔强的 / 脆弱的 / 戏谑的 / 平静叙述的

这决定了歌词的语言质地和修辞倾向。

---

## 第二阶段：骨骼搭建 —— 构建歌词的"骨架"与"肌理"

**现在可以引入 AI 作为头脑风暴伙伴，但你必须牢牢掌控方向盘。**

### 📝 给 AI 的结构化提示词

将第一阶段挖掘的"具体场景"和"私密细节"转化为给 AI 的提示词：

**示例框架：**
```
请帮我构思一首关于"[具体主题]"的歌词框架。
核心情感是[精确描述，而非"悲伤"这种泛泛之词]。
请引用这些具体意象：[从私密记忆清单中选取3-5个]
歌曲结构：一段[安静回忆性的]主歌(verse)，接一段[情感迸发的]副歌(chorus)，
中间有一段[内心挣扎的]桥段(bridge)。
歌词语言：避免现代网络用语，追求[沉静/炽热/克制的]诗意。
```

### 🔥 AI初稿处理：人工"淬火"

AI 初稿通常语言通顺但情感平面、比喻陈旧。你的核心工作：

| AI初稿（差） | 人工修改（优） |
|-------------|--------------|
| "心像被撕裂" | "我的心像老屋的墙皮，一片片剥落，露出里面灰色的砖" |
| "我记得过去" | "我记得，我的身高在墙上追赶着爷爷的粉笔印" |
| "我很思念你" | "你的号码存在手机里，却再也没有拨出去的勇气" |

### 修辞手法

- **内韵**：句子内部音律呼应（如："推土机的轰鸣，惊醒了梁下的旧梦"）
- **半押/邻韵**：韵母相近的字，听觉更舒缓（如"记忆"与"空气"）
- **意象并置**：删除解释性废话，只留意象，让听众自行填补情感空白
  - 例如：只留"身高线，顶针，推土机的阴影"——其间的哀伤由听众自行感知

### 🏷️ 歌词格式规范

在最终版歌词中，用标签明确结构：
```
[Intro] / [Verse] / [Pre-Chorus] / [Chorus] / [Bridge] / [Solo] / [Outro]
```

括号内可加入演唱语气提示：
```
[Verse]
(平静而追忆地)
窗外的细雨，轻轻落在玻璃上
(低声呢喃)
就像那年，你没有说出口的道别
```

---

## 第三阶段：骨架校准 —— 歌词到旋律的"共生"

### 🎵 风格提示词的人性化描述

向音乐生成平台描述风格时，**不要只丢流派名词**。

| ❌ 差 | ✅ 优 |
|------|------|
| "Jazz, female vocal" | "宛如旧磁带质感的爵士乐，主歌仅有沙哑女声与一把缓慢分解和弦的钢琴，副歌加入极简的弦乐垫底，营造隐忍的、回忆翻涌的氛围，节奏如同迟疑的脚步" |
| "Pop, upbeat" | "清晨六点阳光透过窗帘的感觉，有一点慵懒，但藏着不肯认输的力量" |
| "Chinese style, folk" | "像老茶馆里有人说起往事，声音沙哑但笃定，二胡在角落应和" |

### 🎤 演唱风格引导

AI 歌手常唱得"太准"、"太完美"，缺乏人类呼吸的气口和情感波动。调整提示词：
- `breathy vocals`（气声演唱）
- `emotional delivery`（情感化演绎）
- `imperfect, raw recording feel`（不完美的、粗粝录制感）
- `vocal has subtle vibrato and natural decay`（人声有自然颤音和气息衰减）

#### ⚠️ 尾音过长问题（常见坑）

AI 歌手默认尾音拖得很长，显得不自然。解决方法：

| 问题 | Prompt 关键词 |
|------|--------------|
| 尾音太长 | `vocal tails shortened naturally`，`clean cut-offs between phrases` |
| 气息太重 | `less reverb on vocals`，`dry vocal recording` |
| 断句太机械 | `human-like phrasing`，`natural breath pauses` |

### ⏱️ 时长控制

music-2.6 单次生成上限约 3-4 分钟（实测 180-240 秒）。当用户需要更长版本时：
1. 先生成一个基础版本（如约 3 分钟）
2. 如需 4 分钟以上，准备"后半段"接续歌词
3. 分两次生成后拼接

注意：歌词极简（每行仅 2-3 字）会导致输出偏短，即使结构完整也难超过 2 分钟。建议在 Verse/Chorus 等段落内包含足够文案量。

### 🔁 情感试唱与迭代

AI 生成第一版后：
1. **重点聆听**人声演唱的情感是否到位
2. 如果不满意，**不要只改歌词**，要调整风格提示词
3. 将过程视为与"天赋极高但不懂人情世故的乐手"反复磨合，用语言引导他靠近你心中的情感表达

---

## 第四阶段：定稿与署名

### ✅ 最终审查清单

- [ ] 歌词中的情感是否源自一个**具体、可信**的个人场景？
- [ ] 比喻和意象是否**新颖且属于个人联想**，而非陈词滥调？
- [ ] 整首歌是否有**清晰的情感弧线**？（如：沉静 → 涌动 → 爆发 → 回落）
- [ ] 演唱和编曲是否有一种**"刻意的不完美"**，更像真人演绎？
- [ ] 如果抹去所有制作信息，这首歌听起来，是一个人在倾诉，还是一台机器在展示语法？

### 📦 输出交付规范

| 类型 | 输出路径 |
|------|---------|
| 音频 | `~/Desktop/宝锐生物_<风格名>.mp3` |
| 歌词 | `~/Desktop/宝锐生物_<风格名>_歌词.txt` |
| 备注 | 记录灵感来源、人工干预要点（如：重写了哪句比喻） |

---

## MiniMax API 调用规范

### 端点
```
POST https://api.minimaxi.com/v1/music_generation
```

### ⚠️ 必须使用 background=true 执行（关键经验）
1. **前台超时上限600s，但 API 本身在生成期间会 hang 住 30-300 秒**，所以**必须用 background=true + notify_on_complete=true**，前台 timeout 再长也会中断。

2. **music-2.6 单次生成时长上限约 180-225 秒**（约3-3.75分钟），目前无法通过提示词突破此上限。如需更长版本，可分段生成后拼接。

3. **人声尾音问题**：AI 歌手常尾音过长不够自然。在 prompt 中加入：`vocal tails shortened naturally with clean cut-offs between phrases, crisp short phrasing`

4. **乐器回应特定歌词**：如要求萨克斯在出现"萨克斯"字眼时回应，在 prompt 中明确写：`when lyrics mention saxophone, add 1-2 bars of saxophone reply or counter-melody`

5. **同一 API Key 适用于音乐和图像生成**：`sk-cp-LYAqgypZ9nYMxlMjCnxnuUuN7MYd4iw3Yty4oh9bd0RZvV5WOjk6xbDMwJZsdijEtIfXLu-08DOQO9pHwvawcr0MULmDMctAxv0kMfGepg2nOtduseZ1lpc`

### 必须使用 background=true 执行
音乐生成需要 30-300 秒，前台会超时。正确做法：

```python
terminal(command="""python3 - << 'PYEOF'
import requests, os, json
API_KEY = open(os.path.expanduser("~/.config/minimax/music_api_key")).read().strip().split("=")[1]
url = "https://api.minimaxi.com/v1/music_generation"
headers = {"Content-Type": "application/json", "Authorization": f"Bearer {API_KEY}"}
payload = {
    "model": "music-2.6",
    "prompt": "<人性化风格描述>",
    "lyrics": "<结构化歌词，带[Verse][Chorus]标签>",
    "output_format": "url"
}
resp = requests.post(url, headers=headers, json=payload, timeout=480)
data = resp.json()
print("SUCCESS" if data.get("base_resp", {}).get("status_code") == 0 else "FAIL")
print(json.dumps(data, ensure_ascii=False)[:800])
PYEOF""", background=True, notify_on_complete=True)
```

### 返回值示例
```python
{
  "base_resp": {"status_code": 0, "status_msg": "success"},
  "data": {"audio": "https://...", "status": 2},
  "trace_id": "xxxxxxxx",
  "extra_info": {"music_duration": 225300, "music_size": 7042259}
}
```

### 下载音频
```bash
curl -L -o ~/Desktop/<文件名>.mp3 "<audio_url>"
```

---

## 需求收集交互式菜单

当用户提出音乐生成需求时，按以下顺序收集：

```
🎵 音乐类型
   1-企业品牌歌曲  2-产品推广  3-节日庆曲  4-团建歌曲
   5-企业文化故事  6-员工暖心  7-客户答谢  8-官网/展厅BGM
   9-短视频/个人背景音乐  10-其他

🎯 使用场景
   A-品牌宣传片  B-广告  C-线下活动/年会  D-员工内训
   E-短视频/抖音  F-办公环境  G-客户拜访  H-官网/APP  I-其他

🌍 语言
   1-中文普通话  2-中文粤语  3-英文  4-中英双语  5-其他

🎤 人声
   1-女声独唱  2-男声独唱  3-童声  4-男女对唱
   5-合唱  6-合唱+领唱  7-说唱Rap  8-纯音乐

🎸 编曲风格
   1-流行Pop  2-摇滚Rock  3-电子Electronic  4-嘻哈Hip-Hop
   5-中国风  6-古风  7-蓝调Blues  8-民谣Folk  9-古典Classical
   10-轻音乐/Easy Listening  11-企业颂歌  12-其他

🎬 MV需求
   Y-需要MV脚本  N-仅音频
```

---

## 附加能力：MiniMax 图像生成

同一 API Key 可生成图像。使用 `image-01` 模型。

### 端点
```
POST https://api.minimaxi.com/v1/image_generation
```

### 请求格式
```python
import requests

API_KEY = open(os.path.expanduser("~/.config/minimax/music_api_key")).read().strip().split("=")[1]
url = "https://api.minimaxi.com/v1/image_generation"
headers = {"Content-Type": "application/json", "Authorization": f"Bearer {API_KEY}"}
payload = {
    "model": "image-01",
    "prompt": "<完整描述>",
    "image_size": "1536x1024",
    "num_images": 1
}
resp = requests.post(url, headers=headers, json=payload, timeout=60)
img_url = resp.json()["data"]["image_urls"][0]
```

### 下载图片
```bash
curl -L -o ~/Desktop/<文件名>.png "<img_url>"
```

### ⚠️ 肢体变形问题（常见坑）

AI 图像模型容易产生人物肢体扭曲（手指多余、手臂拉长、解剖错误）。**必须在 prompt 中显式声明：**

| 问题 | Prompt 关键词 |
|------|--------------|
| 肢体变形 | `anatomically correct human body`，`realistic proportions`，`no body distortion`，`perfect natural proportions` |
| 手指异常 | `correct number of fingers`，`natural hands` |
| 面部扭曲 | `perfect detailed face`，`natural facial features` |

### 同时生成多版本

使用 `concurrent.futures.ThreadPoolExecutor` 并行提交，每个版本 prompt 微调风格方向：

```python
import concurrent.futures

prompts = [
    "版本A描述：清新自然风...",
    "版本B描述：时尚运动风...",
    "版本C描述：文艺气质风...",
]

def gen(prompt, idx):
    payload = {"model": "image-01", "prompt": prompt, "image_size": "1536x1024", "num_images": 1}
    resp = requests.post(url, headers=headers, json=payload, timeout=60)
    return idx, resp.json()["data"]["image_urls"][0]

with concurrent.futures.ThreadPoolExecutor(max_workers=3) as executor:
    futures = [executor.submit(gen, p, i) for i, p in enumerate(prompts)]
    for f in concurrent.futures.as_completed(futures):
        idx, img_url = f.result()
        print(f"版本{idx+1}: {img_url}")
```

### 高质量人像 Prompt 框架

```
[场景], beautiful young [国籍] woman with [妆容描述] and [发型], 
[风格描述] internet celebrity / influencer style, 
[身形描述] with [服装描述], 
[姿势描述], 
[光线氛围], 
[摄影风格], ultra-realistic, 8k, anatomically correct, highly detailed
```

### 服装与风格关键词

| 用户偏好 | Prompt 关键词 |
|---------|-------------|
| 时尚大方 | `stylish`，`fashionable`，`chic`，`sophisticated` |
| 清新自然 | `fresh natural makeup`，`no-makeup-look`，`pure`，`clean` |
| 青春清纯 | `innocent`，`pure`，`youthful`，`effortless beauty` |
| 文艺气质 | `elegant`，`refined`，`artistic`，`intellectual` |
| 健美身形 | `fit athletic body`，`toned`，`elegant proportions` |
| 晚礼服 | `floor-length evening gown`，`glamorous`，`sophisticated` |
| 瑜伽服 | `form-fitting yoga sports bra`，`high-waist leggings`，`sleek` |
| 泳装 | `one-piece swimsuit`，`sports bikini`，`elegant cutouts` |

### 姿势描述参考

| 姿势 | Prompt |
|------|--------|
| 半躺 | `semi-reclining pose` |
| 正面 | `facing the camera`，`front-facing pose` |
| 看向远方 | `gazing into the distance`，`eyes looking away` |
| 站立自信 | `standing with confident poised posture` |
| 瑜伽动作 | `performing graceful yoga pose`，`warrior pose`，`tree pose` |

### 输出规范
- 图片保存至：`~/Desktop/<描述性文件名>.png`
- 多版本命名：`_A清新自然.png`、`_B时尚运动.png`、`_C文艺气质.png`

---

## 注意事项

- API Key：`~/.config/minimax/music_api_key`
- 生成时间：30秒-5分钟，耐心等待 notify 通知
- 古风/中国风：prompt 加入 `traditional Chinese instruments: guzheng, pipa, erhu`
- 宝锐生物关键词可融入：珠海、创新、生命科学、奋斗、守护等
- **最高境界**：让听众完全察觉不到 AI 的参与，只为一个鲜活的灵魂而动容
- **你，才是那个赋予作品心跳的人。**
