SunoAI API Library هو عميل Python غير رسمي للتفاعل مع منشئ الموسيقى الخاص بـ Suno AI . تسهل هذه المكتبة إنشاء الموسيقى باستخدام نموذج Suno's Chirp v3 وتتضمن الوظائف الرئيسية لـ Suno AI مع أداة تنزيل الموسيقى المدمجة. يمكن نشرها كواجهة برمجة تطبيقات REST باستخدام FastAPI، وLocal، وDocker، على مزود PaaS مثل Heroku.
؟ قبل استخدام المكتبة أو 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 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
ولكن مع معرفات الصوت. في مثل هذه الحالات، ستحتاج إلى استدعاء الأسلوب 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
: واسع ومتعدد الاستخدامات، بحد أقصى دقيقتين.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 معلومات حول الرصيد الائتماني للمستخدم واستخدامه داخل نظام 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. توفر واجهة برمجة التطبيقات غير الرسمية هذه طريقة ملائمة للتفاعل مع خدمات Suno AI ولكنها لا تطالب بأي ملكية أو حقوق على الموسيقى التي تم إنشاؤها. يرجى احترام شروط خدمة Suno AI عند استخدام منصتهم ❤️.
هذه المكتبة مخصصة في المقام الأول للأغراض التعليمية والتنموية. ويهدف إلى تعزيز وتبسيط الوصول إلى إمكانات توليد الموسيقى الخاصة بـ Suno AI. إذا كنت تستمتع بالموسيقى التي تم إنشاؤها، فكر في دعم Suno AI مباشرة. رصيد الشعار: @rejaul43
يتم توزيع هذا المشروع بموجب ترخيص MIT. يسمح هذا الترخيص للجميع باستخدام الكود وتعديله وإعادة توزيعه. ومع ذلك، فإنه يأتي مع أي ضمانات فيما يتعلق بوظائفه. لمزيد من التفاصيل، راجع ملف الترخيص الموجود في المستودع.
إذا وجدت هذا المشروع مفيدًا، فلا تنس مشاركته على GitHub. وهذا يساعد الآخرين في العثور على المشروع واستخدامه أيضًا! ؟
انضم إلى قنواتنا على التليجرام،
إذا كانت لديك أي أسئلة أو تعليقات أو أردت فقط إلقاء التحية، يمكنك التواصل معي:
بنيت مع ؟ بواسطة مطورين فرديين >