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.5.1

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.5.1
File Size Uploaded
runapi_suno-0.5.1.tar.gz 21.7 kB Details

Built distribution (wheel)

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

Total release size: 61.8 kB

Release files / runapi_suno-0.5.1.tar.gz

Download URL runapi_suno-0.5.1.tar.gz
Size 21.7 kB
Tags Source
SHA-256 checksum
How to use checksums
6fa0d0b7047a31b94e4cf2ed6bb95b319aba0504181b1f38cc2a87fc593e5e4d
BLAKE2b-256 checksum
How to use checksums
c3d42c055e967a85b404d760e9a0d9f73472ffc7f3ace6bd71405e5c3f9f75ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"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.5.1-py3-none-any.whl

Download URL runapi_suno-0.5.1-py3-none-any.whl
Size 40.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6ec37d7ef2149f57b4648a24a15054d5d012c25108db92a691de4f44d7b125dc
BLAKE2b-256 checksum
How to use checksums
1339a41abe1778c2d7628f0f5923cd8fd20158df051f0a17e2cf968df9867126
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"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

0.6.0

2 release files

This release

0.5.1 This release

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