Suno 音乐生成 API 教程
AI音乐创作平台,一键生成原创音乐、歌曲和配乐
AI作曲
智能音乐创作
歌词生成
自动填词配唱
多种风格
支持9+音乐流派
即时预览
实时生成试听
一、基础音乐生成
快速开始
import requests
import json
# Suno AI 音乐生成 API
def generate_music(prompt: str, style: str = "pop"):
url = "https://api.n1n.ai/v1/audio/music/generate"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
data = {
"prompt": prompt,
"model": "suno-v3.5",
"style": style, # pop, rock, jazz, classical, electronic
"duration": 30, # 秒
"instrumental": False, # 是否纯音乐
"lyrics": None # 自定义歌词(可选)
}
response = requests.post(url, headers=headers, json=data)
if response.status_code == 200:
result = response.json()
return result["audio_url"], result["task_id"]
else:
raise Exception(f"生成失败: {response.text}")
# 生成带歌词的歌曲
def create_song_with_lyrics(title: str, lyrics: str, genre: str):
data = {
"model": "suno-v3.5",
"title": title,
"lyrics": lyrics,
"genre": genre,
"mood": "uplifting", # 情绪:uplifting, melancholic, energetic
"tempo": "medium", # 节奏:slow, medium, fast
"voice_type": "female" # 声音类型
}
response = requests.post(
"https://api.n1n.ai/v1/audio/music/create-song",
headers=headers,
json=data
)
return response.json()
# 使用示例
audio_url, task_id = generate_music(
prompt="创作一首关于夏天海滩的欢快歌曲",
style="tropical house"
)
print(f"音乐生成中... Task ID: {task_id}")
print(f"音频地址: {audio_url}")二、支持的音乐风格
Pop
流行音乐
朗朗上口、节奏感强
Rock
摇滚乐
电吉他、强烈节奏
Jazz
爵士乐
即兴、复杂和弦
Classical
古典音乐
交响乐、管弦乐
Electronic
电子音乐
EDM、合成器音色
Hip-Hop
嘻哈音乐
说唱、节奏感
R&B
节奏蓝调
灵魂乐、情感丰富
Country
乡村音乐
吉他、叙事性强
Ambient
氛围音乐
空间感、冥想
三、高级音乐功能
专业创作工具
# 高级音乐生成功能
class MusicGenerator:
def __init__(self, api_key: str):
self.api_key = api_key
self.base_url = "https://api.n1n.ai/v1/audio/music"
def remix(self, audio_url: str, style: str):
"""重新混音现有歌曲"""
response = requests.post(
f"{self.base_url}/remix",
headers=self._get_headers(),
json={
"source_audio": audio_url,
"target_style": style,
"preserve_vocals": True,
"mix_ratio": 0.7 # 原曲保留比例
}
)
return response.json()
def extend_music(self, audio_url: str, duration: int):
"""延长音乐长度"""
response = requests.post(
f"{self.base_url}/extend",
headers=self._get_headers(),
json={
"source_audio": audio_url,
"additional_duration": duration,
"seamless_loop": True
}
)
return response.json()
def generate_variations(self, task_id: str, count: int = 3):
"""生成多个变体版本"""
response = requests.post(
f"{self.base_url}/variations",
headers=self._get_headers(),
json={
"original_task_id": task_id,
"variation_count": count,
"diversity": 0.8 # 变化程度
}
)
return response.json()
def custom_instrumental(self, instruments: list, bpm: int, key: str):
"""自定义乐器编曲"""
response = requests.post(
f"{self.base_url}/instrumental",
headers=self._get_headers(),
json={
"instruments": instruments, # ["piano", "guitar", "drums"]
"bpm": bpm, # 节拍速度
"key": key, # 调性 如 "C major"
"structure": ["intro", "verse", "chorus", "verse", "chorus", "outro"]
}
)
return response.json()
# 批量生成背景音乐
def batch_generate_bgm(scenes: list):
generator = MusicGenerator(API_KEY)
results = []
for scene in scenes:
result = generator.generate_music(
prompt=scene["description"],
style=scene["style"],
duration=scene["duration"]
)
results.append(result)
return results四、应用场景
🎬 内容创作
- ✅ 视频配乐
- ✅ 播客片头曲
- ✅ 游戏背景音乐
- ✅ 广告配乐
🎵 音乐制作
- ✅ Demo创作
- ✅ 编曲灵感
- ✅ 背景音轨
- ✅ 音乐教学