昨天花了3小时折腾本地部署ACE-Step 1.5音乐生成模型,结果是本地部署彻底失败。今天换了思路,用官方云端API,5分钟搞定,生成了一首古琴箫合奏的《苏武牧羊》。
核心结论:别在Intel Arc 130T上折腾本地部署了,直接用云端API。
为什么放弃本地部署
我的配置:Intel Arc 130T GPU(16GB显存),Windows 11,Python 3.11。
按官方文档下载了模型包(2.24GB),解压后尝试启动API服务器:
export ACESTEP_DEVICE=vulkan
python -m acestep.api_server --port 8021
结果报了一堆错误:
- CPU模式:
failed:1,显存不足(实际上我的16GB够用了) - Vulkan模式:任务提交成功,但轮询5分钟无结果
- 检查日志:
PyTorch CUDA build detected, but CUDA is not available
根本原因:PyTorch没有Intel XPU后端。我的PyTorch是CUDA版本(2.7.1+cu128),Intel Arc需要XPU版本。
卸载重装XPU版本的PyTorch,下载了789MB的模型,结果安装到一半就超时了。
3小时过去,一首歌都没生成出来。
转机:云端API
官方文档里提到有云端API:https://api.acemusic.ai
我申请了一个免费API Key,测试了一下:
curl -X POST https://api.acemusic.ai/v1/chat/completions \
-H "Authorization: Bearer ***" \
-d '{"model": "ace-step-1.5", "messages": [{"role": "user", "content": "jazz saxophone"}], "duration": 30}'
30秒后,一首完整的爵士萨克斯风音乐就出来了!
生成《苏武牧羊》
用同样的方法,我生成了古琴和箫合奏的中国风纯音乐:
curl -X POST https://api.acemusic.ai/v1/chat/completions \
-H "Authorization: Bearer 2e4a62...43f2" \
-d '{
"model": "ace-step-1.5",
"messages": [{"role": "user", "content": "ancient Chinese instrumental, guqin and xiao flute duet, Su Wu herding sheep style, F major key, traditional Chinese philosophy, melancholic and elegant atmosphere, pure instrumental no vocals"}],
"duration": 120
}'
2分钟后,一首1分50秒的古琴箫合奏完成了。
文件保存在:D:\Users\woodt\workspace\guqin_xiao_suwu.mp3
API使用说明
端点
POST https://api.acemusic.ai/v1/chat/completions
参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 固定填 ace-step-1.5 |
| messages | array | 是 | 格式同OpenAI,role=user,content=提示词 |
| duration | int | 否 | 时长(秒),范围5-240,不填由AI自动决定 |
请求示例
{
"model": "ace-step-1.5",
"messages": [
{"role": "user", "content": "jazz saxophone solo, smoky bar, late night lounge"}
],
"duration": 30
}
响应格式
{
"choices": [{
"message": {
"audio": [{
"audio_url": {
"url": "data:audio/mpeg;base64,..."
}
}],
"content": "## Metadata\n**Caption:** ...**BPM:** 158\n**Duration:** 286s..."
}
}]
}
音频是base64编码的MP3,需要解码保存。
Python脚本
我写了一个简单的生成脚本:
import json, base64, urllib.request
API_URL = "https://api.acemusic.ai/v1/chat/completions"
API_KEY = "2e4a62ee2e73430894bdf9a8f8c243f2"
def generate_music(prompt, duration=30, output_file="output.mp3"):
data = {
"model": "ace-step-1.5",
"messages": [{"role": "user", "content": prompt}],
"duration": duration
}
req = urllib.request.Request(
API_URL,
data=json.dumps(data).encode('utf-8'),
headers={
'Content-Type': 'application/json',
'Authorization': f'Bearer {API_KEY}'
},
method='POST'
)
with urllib.request.urlopen(req, timeout=120) as response:
result = json.loads(response.read().decode('utf-8'))
audio_url = result['choices'][0]['message']['audio'][0]['audio_url']['url']
b64_data = audio_url.split(',')[1]
audio_bytes = base64.b64decode(b64_data)
with open(output_file, 'wb') as f:
f.write(audio_bytes)
print(f"✅ 已保存: {output_file}")
if __name__ == "__main__":
generate_music("jazz saxophone solo", 30)
提示词技巧
ACE-Step对英文提示词理解更好。关键术语可以保留拼音:
中国风
ancient Chinese instrumental, guqin and xiao flute duet, traditional style, F major, melancholic atmosphere, pure instrumental
爵士乐
jazz saxophone solo, smoky bar, late night lounge, upbeat tempo, smooth jazz combo
流行
upbeat pop song with acoustic guitar, bright piano, cheerful melody
电影配乐
cinematic orchestral, Hans Zimmer style, building tension, epic atmosphere
免费额度
根据官方说明,云端API永久免费(2026-08-19确认)。
API Key申请地址:https://acemusic.ai
注册后在设置页面获取Key,每天有一定生成次数限制,但个人使用完全够用。
总结
| 方案 | 耗时 | 效果 | 推荐度 |
|---|---|---|---|
| 本地部署(CPU) | 3小时+ | 失败(内存不足) | ❌ |
| 本地部署(Vulkan) | 3小时+ | 失败(无响应) | ❌ |
| 云端API | 30秒-2分钟 | ✅ 完美 | ✅✅✅ |
结论:直接上云端API,别折腾本地部署了。
如果觉得有帮助,点个「赞」和「在看」支持一下 👇
