A Biblioteca API SunoAI é um cliente Python não oficial para interagir com o gerador de música do Suno AI . Esta biblioteca facilita a geração de música usando o modelo Chirp v3 da Suno e inclui funções principais do Suno AI com um downloader de música integrado. Ele pode ser implantado como uma API REST usando FastAPI, Local, Docker, em um provedor PaaS como Heroku.
? Antes de usar a biblioteca ou API REST, você deve se cadastrar no site suno.ai e obter seu cookie conforme mostrado nesta captura de tela.
Você pode encontrar o cookie nas Ferramentas do desenvolvedor do navegador da Web -> Guia Rede
Basta clicar com o botão direito e abrir Inspecionar. Filtro: _clerk_js_version
Defina este cookie como variável de ambiente SUNO_COOKIE
ou inicialize a biblioteca conforme mostrado abaixo.
from suno import Suno , ModelVersions
client = Suno (
cookie = 'YOUR_COOKIE_HERE' ,
model_version = ModelVersions . CHIRP_V3_5 )
Instale a biblioteca usando pip:
pip install SunoAI
Defina SUNO_COOKIE
como uma variável ambiental antes da implantação. - Instruções
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
? Disponível em: http://127.0.0.1:8080
⚡️ Início rápido:
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()
<- Inicializando
chirp-v3-5
, chirp-v3-0
, chirp-v2-0
o padrão é chirp-v3-5
. | Visualização detalhada generate()
Clip
contendo dados de música com IDs. 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 )
✍️ Nota de uso:
is_custom
como True
, certifique-se de que o parâmetro prompt contém a letra da música que você deseja gerar. Por outro lado, se is_custom
estiver definido como False
, forneça um prompt descritivo detalhando a essência da música desejada.wait_audio
estiver definido como True , a solicitação demorará mais enquanto aguarda que os URLs de áudio estejam prontos. Se não for definido, a resposta retornará sem audio_url
, mas com IDs de áudio. Nesses casos, você precisará chamar o método get_songs ou get_song após um curto intervalo para recuperar a resposta com o audio_url
incluído, assim que o processo de geração for concluído. get_songs()
Clip
que representam as músicas recuperadas. 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 } " )
Modelos fornecidos pela Suno AI para gerar música.
chirp-v3-5
: Modelo mais recente, melhor estrutura de música, máximo de 4 minutos.chirp-v3-0
: amplo, versátil, no máximo 2 minutos.chirp-v2-0
: modelo Suno vintage, máximo de 1,3 minutos.Exemplo de como usar:
from suno import Suno , ModelVersions
client = Suno ( model_version = ModelVersions . CHIRP_V3_5 )
ou
from suno import Suno
client = Suno ( model_version = 'chirp-v3-5' )
Modelo de clipe:
A classe Clip encapsula os detalhes de uma faixa de música gerada pelo Suno AI. Cada atributo desta classe fornece informações específicas sobre a trilha:
Modelo de informações de créditos:
A classe CreditsInfo fornece informações sobre o saldo de crédito e o uso do usuário no sistema Suno AI.
1. Gere música
POST /generate
Corpo da solicitação:
{
"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
}
Resposta:
[
{
"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. Recuperar músicas
POST /songs
{
"song_ids" : " uuid-format-1234,4567-abcd "
}
/generate
Response3. Obtenha uma música específica
POST /get_song
{
"song_id" : " uuid-song-id "
}
/generate
Response, mas apenas Clip POST /set_visibility
{
"song_id" : " uuid-song-id " ,
"is_public" : true
}
{
"is_public" : true
}
4. Recuperar informações de crédito
GET /credits
{
"credits_left" : 50 ,
"period" : " 2024-05 " ,
"monthly_limit" : 100 ,
"monthly_usage" : 25
}
De acordo com Suno.ai Cada geração de música consome 5 créditos, portanto, é necessário um total de 10 créditos para cada chamada bem-sucedida.
As contribuições são o que tornam a comunidade de código aberto um lugar incrível para aprender, inspirar e criar. Qualquer contribuição que você fizer será muito apreciada.
Todo o conteúdo e música gerados por meio desta biblioteca são creditados à Suno AI. Esta API não oficial fornece uma maneira conveniente de interagir com os serviços da Suno AI, mas não reivindica qualquer propriedade ou direito sobre a música gerada. Respeite os termos de serviço da Suno AI ao usar sua plataforma ❤️.
Esta biblioteca destina-se principalmente a fins educacionais e de desenvolvimento. O objetivo é aprimorar e simplificar o acesso aos recursos de geração de música da Suno AI. Se você gosta da música gerada, considere apoiar diretamente o Suno AI. Crédito do logotipo: @ rejaul43
Este projeto é distribuído sob a licença MIT. Esta licença permite que todos usem, modifiquem e redistribuam o código. No entanto, ele não oferece garantias quanto à sua funcionalidade. Para mais detalhes, consulte o arquivo LICENSE no repositório.
Se você achou este projeto útil, não se esqueça de dar uma olhada no GitHub. Isso ajuda outras pessoas a encontrar e usar o projeto também! ?
Junte-se aos nossos canais do Telegram,
Se você tiver alguma dúvida, feedback ou apenas quiser dizer oi, entre em contato comigo:
? Construído com ? por desenvolvedores individuais >