Skip to main content

Suno API Python SDK for RunAPI

The Suno Python SDK is the language-specific package for Suno on RunAPI. Use this package for song generation, lyrics, vocals, extension, and audio transformation workflows when your application needs request bodies, task status lookup, and consistent RunAPI errors in Python.

This README is the Python package guide inside the public suno-sdk repository. For the repository overview, start at ../README.md; for model details, use https://runapi.ai/models/suno; for API reference, use https://runapi.ai/docs/api/suno/text-to-music; for SDK docs, use https://runapi.ai/docs/resources/sdks.

Install

pip install runapi-suno

Quick start

from runapi.suno import SunoClient

client = SunoClient()  # reads RUNAPI_API_KEY, or pass api_key="sk-..."

# Generate music and poll until completion.
result = client.text_to_music.run(
    model="suno-v4.5-plus",
    vocal_mode="auto_lyrics",
    prompt="A chill lo-fi beat with soft vocals",
)
print(result.audios[0].audio_url)

# Generate lyrics from a prompt.
lyrics = client.generate_lyrics.run(prompt="a song about the ocean at night")
print(lyrics.lyrics[0].text)

blended = client.blend_lyrics.run(
    lyrics_a="[Verse]\nCity lights fade into dawn",
    lyrics_b="[Chorus]\nWe rise with the morning sun",
)
print(blended.lyrics[0].text)

Use create to submit a task and return quickly, get to fetch the latest task state, and run when a script should create and poll until completion:

task = client.text_to_music.create(
    model="suno-v4.5-plus",
    vocal_mode="instrumental",
    style="ambient piano",
    title="Quiet Morning",
)
status = client.text_to_music.get(task.id)

In web request handlers, prefer create plus webhook or later get polling so a worker is not held open.

RunAPI-generated file URLs are temporary. Download and store generated images, videos, audio, or other files in your own durable storage within 7 days; do not treat returned URLs as long-term assets.

Language notes

Pass parameters as keyword arguments and catch the runapi.suno error classes when building music jobs or scripts. The available resources are text_to_music, extend_music, generate_artwork, cover_audio, add_instrumental, add_vocals, separate_audio_stems, generate_midi, convert_audio, visualize_music, generate_lyrics, blend_lyrics, get_timestamped_lyrics, replace_section, create_mashup, text_to_sound, voice_to_validation_phrase, regenerate_validation_phrase, generate_voice, check_voice, generate_persona, and boost_style. Keep RUNAPI_API_KEY in the environment or your secret manager; never commit API keys or callback secrets.

License

Licensed under the Apache License, Version 2.0.

Metadata

Release files for runapi-suno 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for runapi-suno 0.6.0
File Size Uploaded
runapi_suno-0.6.0.tar.gz 15.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for runapi-suno 0.6.0
File Interpreter ABI Platform
runapi_suno-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 47.7 kB

Release files / runapi_suno-0.6.0.tar.gz

Download URL runapi_suno-0.6.0.tar.gz
Size 15.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7e5f368b65883238bae879b37828588ab10a47ab450544e2de198d19b2cb83ec
BLAKE2b-256 checksum
How to use checksums
9ec759a2b432a2f46f739a86e83f31702d208c10758d89829e8af4cc978f51bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Omarchy","version":"4.0.1","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / runapi_suno-0.6.0-py3-none-any.whl

Download URL runapi_suno-0.6.0-py3-none-any.whl
Size 32.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3e6701bc13c6f31979cab2ee248424c4934b9210e50857d14f9443a8583f98bd
BLAKE2b-256 checksum
How to use checksums
913ea22418dfdc4ccda35e48b40333865b872b53f3f88093e8f1a3b2b005e8bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Omarchy","version":"4.0.1","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page