Интеграция Suno AI для генерации музыки
Suno — платформа для генерации полноценных песен с вокалом по текстовому описанию. Версия v4 генерирует 4-минутные треки с реалистичным вокалом, инструментальными партиями, структурой (куплет-припев-бридж).
Unofficial API интеграция
Suno не предоставляет официального REST API для внешних разработчиков. Доступны unofficial обёртки:
import httpx
import asyncio
import json
class SunoUnofficial:
"""
Использует cookie-аутентификацию через Clerk.
Только для личного использования, нарушает ToS при коммерческом использовании.
"""
def __init__(self, cookie: str):
self.session = httpx.AsyncClient(
headers={"Cookie": cookie},
base_url="https://studio-api.suno.ai"
)
async def generate_song(
self,
prompt: str,
style: str = "",
title: str = "",
custom_mode: bool = False
) -> list[dict]:
payload = {
"gpt_description_prompt": prompt if not custom_mode else None,
"prompt": prompt if custom_mode else "",
"tags": style,
"title": title,
"make_instrumental": False,
"mv": "chirp-v4"
}
resp = await self.session.post("/api/generate/v2/", json=payload)
clips = resp.json()["clips"]
ids = [c["id"] for c in clips]
# Ждём генерации
return await self.wait_for_clips(ids)
async def wait_for_clips(self, ids: list[str], timeout: int = 300) -> list[dict]:
for _ in range(timeout // 5):
await asyncio.sleep(5)
resp = await self.session.get(f"/api/feed/?ids={','.join(ids)}")
clips = resp.json()
if all(c["status"] == "complete" for c in clips):
return clips
raise TimeoutError("Suno generation timeout")
Применения Suno
SUNO_PROMPTS = {
"corporate_background": "uplifting corporate background music, no vocals, modern, professional",
"podcast_intro": "short catchy podcast intro, 15 seconds, upbeat, modern",
"ad_jingle": "{brand} jingle, catchy, {duration} seconds, {style} style",
"game_menu": "video game menu music, epic orchestral, loopable",
"retail_ambient": "pleasant retail store background music, upbeat, no vocals",
}
Suno v4 лучший по вокалу среди всех AI-музыкальных генераторов. Для инструментальной музыки с высокой управляемостью — MusicGen предпочтительнее. Официальный API ожидается — до тех пор self-hosted AudioCraft или Stable Audio для production.







