Perpustakaan API SunoAI adalah klien Python tidak resmi untuk berinteraksi dengan generator musik Suno AI . Perpustakaan ini memfasilitasi pembuatan musik menggunakan model Suno's Chirp v3 dan mencakup fungsi utama Suno AI dengan pengunduh musik bawaan. Itu dapat diterapkan sebagai REST API menggunakan FastAPI, Lokal, Docker, pada penyedia PaaS seperti Heroku.
? Sebelum menggunakan perpustakaan atau REST API, Anda harus mendaftar di situs web suno.ai dan mendapatkan cookie seperti yang ditunjukkan pada tangkapan layar ini.
Anda dapat menemukan cookie dari Alat Pengembang Peramban Web -> Tab Jaringan
Cukup klik kanan & buka Inspeksi. Filter : _clerk_js_version
Tetapkan cookie ini sebagai variabel lingkungan SUNO_COOKIE
atau inisialisasi perpustakaan seperti yang ditunjukkan di bawah ini.
from suno import Suno , ModelVersions
client = Suno (
cookie = 'YOUR_COOKIE_HERE' ,
model_version = ModelVersions . CHIRP_V3_5 )
Instal perpustakaan menggunakan pip:
pip install SunoAI
Tetapkan SUNO_COOKIE
sebagai variabel Lingkungan sebelum diterapkan. - Instruksi
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
? Tersedia di : http://127.0.0.1:8080
⚡️ Mulai Cepat:
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()
<- Menginisialisasi
chirp-v3-5
, chirp-v3-0
, chirp-v2-0
defaultnya adalah chirp-v3-5
. | Tampilan detail generate()
Clip
yang berisi data lagu dengan ID. 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 )
✍️ Catatan Penggunaan:
is_custom
ke True
, pastikan parameter prompt berisi lirik lagu yang ingin Anda buat. Sebaliknya, jika is_custom
diatur ke False
, berikan prompt deskriptif yang merinci esensi lagu yang Anda inginkan.wait_audio
disetel ke True , permintaan akan memakan waktu lebih lama karena menunggu URL audio siap. Jika tidak disetel, respons akan kembali tanpa audio_url
namun dengan ID audio. Dalam kasus seperti ini, Anda perlu memanggil metode get_songs atau get_song setelah beberapa saat untuk mengambil respons dengan audio_url
yang disertakan, setelah proses pembuatan selesai. get_songs()
Clip
yang mewakili lagu yang diambil. 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 } " )
Model disediakan oleh Suno AI untuk Menghasilkan musik.
chirp-v3-5
: Model terbaru, struktur lagu lebih baik, maks 4 menit.chirp-v3-0
: Luas, serbaguna, maks 2 menit.chirp-v2-0
: Model Vintage Suno, maks 1,3 menit.Contoh Cara menggunakan:
from suno import Suno , ModelVersions
client = Suno ( model_version = ModelVersions . CHIRP_V3_5 )
atau
from suno import Suno
client = Suno ( model_version = 'chirp-v3-5' )
Model Klip:
Kelas Clip merangkum detail trek musik yang dihasilkan oleh Suno AI. Setiap atribut kelas ini memberikan informasi spesifik tentang trek:
Model Info Kredit:
Kelas CreditsInfo memberikan informasi tentang saldo kredit pengguna dan penggunaan dalam sistem Suno AI.
1. Hasilkan Musik
POST /generate
Badan Permintaan:
{
"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
}
Tanggapan:
[
{
"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. Ambil Lagu
POST /songs
{
"song_ids" : " uuid-format-1234,4567-abcd "
}
/generate
Respons3. Dapatkan Lagu Tertentu
POST /get_song
{
"song_id" : " uuid-song-id "
}
/generate
Respons tetapi Hanya Klip POST /set_visibility
{
"song_id" : " uuid-song-id " ,
"is_public" : true
}
{
"is_public" : true
}
4. Ambil Informasi Kredit
GET /credits
{
"credits_left" : 50 ,
"period" : " 2024-05 " ,
"monthly_limit" : 100 ,
"monthly_usage" : 25
}
Menurut Suno.ai Setiap generasi lagu memerlukan 5 kredit, sehingga diperlukan total 10 kredit untuk setiap panggilan yang berhasil.
Kontribusi inilah yang membuat komunitas sumber terbuka menjadi tempat yang luar biasa untuk belajar, menginspirasi, dan berkreasi. Setiap kontribusi yang Anda berikan sangat dihargai.
Semua konten dan musik yang dihasilkan melalui perpustakaan ini dikreditkan ke Suno AI. API tidak resmi ini menyediakan cara yang nyaman untuk berinteraksi dengan layanan Suno AI tetapi tidak mengklaim kepemilikan atau hak apa pun atas musik yang dihasilkan. Harap hormati persyaratan layanan Suno AI saat menggunakan platform mereka ❤️.
Perpustakaan ini ditujukan terutama untuk tujuan pendidikan dan pengembangan. Hal ini bertujuan untuk meningkatkan dan menyederhanakan akses terhadap kemampuan generasi musik Suno AI. Jika Anda menyukai musik yang dihasilkan, pertimbangkan untuk mendukung Suno AI secara langsung. Kredit Logo: @ rejaul43
Proyek ini didistribusikan di bawah Lisensi MIT. Lisensi ini mengizinkan semua orang untuk menggunakan, memodifikasi, dan mendistribusikan ulang kode tersebut. Namun, tidak ada jaminan mengenai fungsinya. Untuk lebih jelasnya, lihat file LICENSE di repositori.
Jika Anda merasa proyek ini bermanfaat, jangan lupa untuk memberikannya di GitHub. Ini membantu orang lain menemukan dan menggunakan proyek ini juga! ?
Bergabunglah dengan saluran Telegram kami,
Jika Anda memiliki pertanyaan, masukan, atau sekadar ingin menyapa, Anda dapat menghubungi saya:
? Dibangun dengan ? oleh Pengembang Tunggal >