SunoAI API 라이브러리는 Suno AI의 음악 생성기와 상호 작용하기 위한 비공식 Python 클라이언트입니다 . 이 라이브러리는 Suno의 Chirp v3 모델을 사용하여 음악 생성을 용이하게 하며 내장된 음악 다운로더와 함께 Suno AI의 주요 기능을 포함합니다. Heroku와 같은 PaaS 공급자에서 FastAPI, Local, Docker를 사용하여 REST API 로 배포할 수 있습니다.
? 라이브러리나 REST API를 사용하기 전에 먼저 suno.ai 웹사이트에 가입하고 이 스크린샷과 같이 쿠키를 얻어야 합니다 .
웹 브라우저의 개발자 도구 -> 네트워크 탭 에서 쿠키를 찾을 수 있습니다.
마우스 오른쪽 버튼을 클릭하고 검사를 엽니다. 필터 : _clerk_js_version
이 쿠키를 SUNO_COOKIE
환경 변수로 설정하거나 아래와 같이 라이브러리를 초기화하세요.
from suno import Suno , ModelVersions
client = Suno (
cookie = 'YOUR_COOKIE_HERE' ,
model_version = ModelVersions . CHIRP_V3_5 )
pip를 사용하여 라이브러리를 설치합니다.
pip install SunoAI
배포하기 전에 SUNO_COOKIE
환경 변수로 설정합니다. - 지침
export SUNO_COOKIE= " YOUR_COOKIE_HERE "
git clone [email protected]:Malith-Rukshan/Suno-API.git
pip3 install -r requirements.txt
cd Suno-API
fastapi run api.py --port 8080
? 사용 가능 위치: http://127.0.0.1:8080
⚡️ 빠른 시작:
from suno import Suno , ModelVersions
client = Suno (
cookie = 'YOUR_COOKIE_HERE' ,
model_version = ModelVersions . CHIRP_V3_5 )
# Generate a song
songs = client . generate ( prompt = "A serene landscape" , is_custom = False , wait_audio = True )
# Download generated songs
for song in songs :
file_path = client . download ( song = song )
print ( f"Song downloaded to: { file_path } " )
Suno()
<- 초기화 중
chirp-v3-5
, chirp-v3-0
, chirp-v2-0
기본값은 chirp-v3-5
입니다. | 상세보기 generate()
Clip
개체 목록입니다. clips = client . generate (
prompt = "A peaceful melody reflecting a serene landscape" ,
is_custom = False ,
wait_audio = True
)
print ( clips )
clips = client . generate (
prompt = "I found a love, for me n Darling, just dive right in and follow my lead n Well, I found a girl, beautiful and sweet n Oh, I never knew you were the someone waiting for me..." ,
tags = "English men voice" ,
title = "Perfect by Malith-Rukshan/Suno-API" ,
make_instrumental = False ,
is_custom = True ,
wait_audio = True
)
print ( clips )
✍️ 사용 참고 사항:
is_custom
True
로 설정하는 경우 프롬프트 매개변수에 생성하려는 노래 가사가 포함되어 있는지 확인하세요. 반대로 is_custom
False
로 설정된 경우 원하는 노래의 본질을 자세히 설명하는 설명 프롬프트를 제공하세요.wait_audio
가 True 로 설정되면 오디오 URL이 준비될 때까지 기다리므로 요청 시간이 더 오래 걸립니다. 설정하지 않으면 응답은 audio_url
없이 오디오 ID와 함께 반환됩니다. 이러한 경우 생성 프로세스가 완료되면 짧은 간격 후에 get_songs 또는 get_song 메서드를 호출하여 audio_url
이 포함된 응답을 검색해야 합니다. get_songs()
Clip
개체 목록입니다. songs = client . get_songs ( song_ids = "123,456" )
print ( songs )
set_visibility()
response = client . set_visibility ( song_id = "uuid-type-songid-1234" , is_public = False )
print ( response )
get_credits()
CreditsInfo
개체로 반환합니다. credits_info = client . get_credits ()
print ( credits_info )
download()
# Using a song ID
file_path = client . download ( song = "uuid-type-songid-1234" )
print ( f"Song downloaded to: { file_path } " )
# Using a Clip object
clip = client . get_song ( "uuid-type-songid-1234" )
file_path = client . download ( song = clip )
print ( f"Song downloaded to: { file_path } " )
음악 생성을 위해 Suno AI에서 제공하는 모델입니다.
chirp-v3-5
: 최신 모델, 더 나은 노래 구조, 최대 4분.chirp-v3-0
: 광범위, 다용도, 최대 2분.chirp-v2-0
: 빈티지 Suno 모델, 최대 1.3분.예 사용 방법:
from suno import Suno , ModelVersions
client = Suno ( model_version = ModelVersions . CHIRP_V3_5 )
또는
from suno import Suno
client = Suno ( model_version = 'chirp-v3-5' )
클립 모델:
Clip 클래스는 Suno AI에서 생성된 음악 트랙의 세부 정보를 캡슐화합니다. 이 클래스의 각 속성은 트랙에 대한 특정 정보를 제공합니다.
CreditsInfo 모델:
CreditsInfo 클래스는 Suno AI 시스템 내에서 사용자의 신용 잔액 및 사용량에 대한 정보를 제공합니다.
1. 음악 생성
POST /generate
요청 본문:
{
"prompt" : " A serene melody about the ocean " ,
"is_custom" : false ,
"tags" : " relaxing, instrumental " ,
"title" : " Ocean Waves " ,
"make_instrumental" : true ,
"model_version" : " chirp-v3-5 " ,
"wait_audio" : true
}
응답:
[
{
"id" : " 124b735f-7fb0-42b9-8b35-761aed65a7f6 " ,
"video_url" : " " ,
"audio_url" : " https://audiopipe.suno.ai/item_id=124b735f-7fb0-42b9-8b35-761aed65a7f6 " ,
"image_url" : " https://cdn1.suno.aiimage_124b735f-7fb0-42b9-8b35-761aed65a7f6.png " ,
"image_large_url" : " https://cdn1.suno.aiimage_large_124b735f-7fb0-42b9-8b35-761aed65a7f.png " ,
"is_video_pending" : False,
"major_model_version" : " v3 " ,
"model_name" : " chirp-v3 " ,
"metadata" : {
"tags" : " English men voice " ,
"prompt" : " I found a love, for me n Darling,just dive right in and follow mylead n Well, I found a girl, beautiful andsweet n Oh, I never knew you were thesomeone waiting for me nn ′Cause we werejust kids when we fell in love n Not knowingwhat it was n I will not give you up thistime n But darling, just kiss me slow n Yourheart is all I own n And in your eyes,you're holding mine nn Baby, I′m dancing inthe dark n With you between myarms n Barefoot on the grass n Listening toour favourite song n When you said youlooked a mess n I whispered underneath mybreath n But you heard it n Darling, you lookperfect tonight " ,
"gpt_description_prompt" : None,
"audio_prompt_id" : None,
"history" : None,
"concat_history" : None,
"type" : " gen " ,
"duration" : None,
"refund_credits" : None,
"stream" : True,
"error_type" : None,
"error_message" : None
},
"is_liked" : False,
"user_id" : " 2340653f-32cb-4343-artb-09203ty749e9 " ,
"display_name" : " Snonymous " ,
"handle" : " anonymous " ,
"is_handle_updated" : False,
"is_trashed" : False,
"reaction" : None,
"created_at" : " 2024-05-05T11:54:09.356Z " ,
"status" : " streaming " ,
"title" : " Perfect by Malith-Rukshan/Suno-API " ,
"play_count" : 0 ,
"upvote_count" : 0 ,
"is_public" : False
}
]
2. 노래 검색
POST /songs
{
"song_ids" : " uuid-format-1234,4567-abcd "
}
/generate
응답과 동일3. 특정 노래 얻기
POST /get_song
{
"song_id" : " uuid-song-id "
}
/generate
응답과 동일하지만 클립만 가능 POST /set_visibility
{
"song_id" : " uuid-song-id " ,
"is_public" : true
}
{
"is_public" : true
}
4. 신용정보 조회
GET /credits
{
"credits_left" : 50 ,
"period" : " 2024-05 " ,
"monthly_limit" : 100 ,
"monthly_usage" : 25
}
Suno.ai에 따르면 각 노래 세대는 5크레딧을 소비하므로 각 호출이 성공하려면 총 10크레딧이 필요합니다.
기여는 오픈 소스 커뮤니티를 배우고, 영감을 주고, 창조할 수 있는 놀라운 장소로 만드는 것입니다. 귀하의 기여에 크게 감사드립니다.
이 라이브러리를 통해 생성된 모든 콘텐츠와 음악은 Suno AI에 귀속됩니다. 이 비공식 API는 Suno AI 서비스와 상호 작용하는 편리한 방법을 제공하지만 생성된 음악에 대한 소유권이나 권리를 주장하지 않습니다. 플랫폼을 사용할 때 Suno AI의 서비스 약관을 존중하십시오 ❤️.
이 라이브러리는 주로 교육 및 개발 목적으로 만들어졌습니다. Suno AI의 음악 생성 기능에 대한 액세스를 향상하고 단순화하는 것을 목표로 합니다. 생성된 음악을 즐기고 싶다면 Suno AI를 직접 지원하는 것을 고려해 보세요. 로고 크레디트 : @rejaul43
이 프로젝트는 MIT 라이선스에 따라 배포됩니다. 이 라이센스를 통해 모든 사람이 코드를 사용, 수정 및 재배포할 수 있습니다. 그러나 기능에 대한 보증은 제공되지 않습니다. 자세한 내용은 저장소의 LICENSE 파일을 참조하세요.
이 프로젝트가 도움이 되었다면 GitHub에서 추천하는 것을 잊지 마세요. 이는 다른 사람들도 프로젝트를 찾고 사용하는 데 도움이 됩니다! ?
텔레그램 채널에 가입하세요.
질문이나 피드백이 있거나 인사하고 싶은 사항이 있으면 저에게 연락하세요.
?로 제작된 ? 단일 개발자 제공 >