Skip to content
EN

Riffusion API 调用说明文档

Riffusion API 调用说明文档

概述

Riffusion API 是一套音乐生成服务接口,可以通过提供歌词、主题或现有音频来创作音乐作品。本文档将指导您如何正确调用这些接口,理解它们之间的逻辑关系,并充分利用各种创作模式。

基本工作流程

Riffusion API 的标准工作流程通常包含以下步骤:

  1. 生成音乐任务:通过专业模式或灵感模式提交创作请求

  2. 获取生成结果:使用返回的任务ID查询生成状态和结果

  3. 高级创作:可选择上传音频并使用各种变形模式进行二次创作

授权认证

所有接口调用都需要在请求头中包含授权信息:

Authorization: Bearer your-key

主要接口使用说明

1. 音乐生成(两种模式)

您可以选择两种方式生成音乐:

专业模式/riffusion/generate):提供详细歌词、标签和标题,适合有明确创作意图的用户

灵感模式/riffusion/generate/topic):仅提供主题词,系统自动生成歌词和音乐,适合寻找创作灵感的用户

这两种模式都会返回两个任务ID,每个ID对应一个独立的音乐创作作品。系统会基于相同输入生成两个不同版本,供用户选择。

2. 查询生成结果

提交生成请求后,使用返回的任务ID调用/riffusion/feed/{riff_id1},{riff_id2}接口查询结果。需要注意:

处理状态通过status字段判断:process(处理中)或success(成功)

处理进度通过process字段获取(0-100)

音频是否生成成功通过generations[].audio_url是否有值来判断

完成的音乐作品可通过audio_url直接获取

建议实现定时轮询查询结果,直到状态变为success

3. 音频上传与二次创作

Riffusion支持上传现有音频并进行二次创作,通过以下流程实现:

  1. 调用/riffusion/upload接口上传音频文件(URL形式)

  2. 获取返回的id作为audio_upload_id

  3. 选择下列某种变形模式进行二次创作

4. 变形模式说明

Riffusion提供多种音乐变形模式,需在morph对象中设置transform参数:

翻唱(cover):保留原曲风格,替换歌词和人声

续写(extend):在原曲基础上延续创作,需指定crop_end_at参数

替换(inpaint):替换原曲特定部分,需指定replace_start_atreplace_end_at参数

人声替换(swap_vocals):仅替换人声,保留伴奏

音乐风格替换(swap_sound):仅替换伴奏,保留人声

每种变形模式都可以使用系统生成的音乐ID(riff_id)或您上传的音频ID(audio_upload_id)作为源素材。

参数调整与创意控制

通过调整morph对象中的各种参数,可以精细控制创作效果:

normalized_lyrics_strength:控制歌词影响力(0-1)

normalized_sound_prompt_strength:控制声音提示影响力(0-1)

normalized_weirdness:控制创意怪异度(0-1)

normalized_cover_strength:控制翻唱时对原曲的忠实程度(0-1)

normalized_variation_strength:控制变异程度(0-1)

较高的值会增强相应特性,较低的值则会减弱。

典型使用场景

  1. 创作原创歌曲:使用专业模式提供完整歌词,或使用灵感模式提供主题

  2. 歌曲改编:上传现有歌曲,使用cover模式改变风格或语言

  3. 混合创作:上传片段,使用extend模式续写,或使用inpaint模式替换部分内容

  4. 保留原曲风格换歌词:使用swap_vocals模式

  5. 保留原曲歌词换风格:使用swap_sound模式

最佳实践

  1. 提供结构化的歌词(包含[Verse]、[Chorus]等标记)获得更好的效果

  2. 在查询结果时实现指数退避算法,避免过于频繁的轮询

  3. 对于复杂创作,先使用灵感模式获取初步创意,再使用专业模式精细调整

  4. 调整normalized参数时进行小幅度改变,观察效果后再决定下一步调整

  5. 保存生成的音乐ID,便于后续使用各种变形模式进行二次创作

通过理解这些接口的调用逻辑和相互关系,您可以充分发挥Riffusion API的创作潜力,生成丰富多样的音乐作品。