SunoAI API ライブラリは、Suno AI の音楽ジェネレーターと対話するための非公式 Python クライアントです。このライブラリは、Suno の Chirp v3 モデルを使用した音楽の生成を容易にし、内蔵の音楽ダウンローダーを備えた Suno AI の主要な機能が含まれています。 Heroku などの PaaS プロバイダー上で FastAPI、Local、Docker を使用してREST APIとしてデプロイできます。
?ライブラリまたは REST API を使用する前に、 suno.ai Web サイトにサインアップして、このスクリーンショットに示すように Cookie を取得する必要があります。
Cookie は、Web ブラウザの[開発者ツール] -> [ネットワーク] タブから見つけることができます。
右クリックして「検査」を開くだけです。フィルター : _clerk_js_version
この Cookie を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クラスは、ユーザーのクレジット残高と 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 の音楽生成機能へのアクセスを強化および簡素化することを目的としています。生成された音楽を楽しむ場合は、Suno AI を直接サポートすることを検討してください。ロゴクレジット : @rejaul43
このプロジェクトは MIT ライセンスに基づいて配布されています。このライセンスにより、誰もがコードを使用、変更、再配布することができます。ただし、その機能についての保証はありません。詳細については、リポジトリ内の LICENSE ファイルを参照してください。
このプロジェクトが役に立ったと思われた場合は、 GitHub で を付けることを忘れないでください。これにより、他の人もプロジェクトを見つけて使用することができます。 ?
Telegram チャンネルに参加してください。
ご質問、フィードバックがある場合、または単にご挨拶したい場合は、私までご連絡ください。
? ?で構築単一の開発者による >