1.9 KiB
1.9 KiB
1. Architecture
- 1.1 为 Suno 请求增加
sunoAction,并定义music / lyrics两类执行动作 - 1.2 为任务结果增加
resultKind与歌词结果字段,解除“所有 audio 任务都有媒体 URL”的假设 - 1.3 明确歌词结果的统一 markdown / text 画布格式
2. Provider Routing And Service Layer
- 2.1 为 Suno audio binding metadata 增加
lyrics动作描述 - 2.2 实现
POST /suno/submit/lyrics - 2.3 复用
GET /suno/fetch/{task_id},并新增歌词结果标准化提取:texttitletagsproviderTaskId
- 2.4 让
music与lyrics共用轮询框架,但分别走各自的 submit body 与 result extractor
3. Task Queue And Persistence
- 3.1 调整
TaskResult、任务存储读写和恢复逻辑,支持无 URL 的歌词结果 - 3.2 调整任务队列 item 展示,使歌词任务显示动作、标题、标签和歌词摘要
- 3.3 为歌词任务补齐重试、刷新恢复和搜索行为
- 3.4 为歌词任务增加队列操作:
- 复制歌词
- 插入画布
4. UI And Canvas
- 4.1 在音频模式中增加
music / lyrics动作切换 - 4.2 在
lyrics动作下隐藏音乐专属参数:mvtitletagscontinueSourcecontinueClipIdcontinueAt
- 4.3 调整手动“插入到画布”路径,让歌词结果走文本插入而不是音频节点
- 4.4 调整自动插入路径,按
resultKind在音频节点和文本插入之间分流
5. Verification
- 5.1 验证歌词任务能正确提交到
/suno/submit/lyrics - 5.2 验证
/suno/fetch/{task_id}返回歌词结果时能正确完成任务 - 5.3 验证刷新页面后歌词任务仍可恢复与展示
- 5.4 验证歌词任务在队列中可复制、可插入,且不会被误渲染为音频卡片
- 5.5 验证音乐生成既有链路不回归