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

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

Built distribution (wheel)

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

Total release size: 61.7 kB

Release files / runapi_suno-0.4.4.tar.gz

Download URL runapi_suno-0.4.4.tar.gz
Size 21.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b018db0a68ece03ce20e89e4e11ab63dc8e9dcc65d90098886744124915f502d
BLAKE2b-256 checksum
How to use checksums
9ff743a795ee600770bbb898f81a66ad8c58fb9343eaa608a3ef3fea3e01d9f9
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":true}

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

Download URL runapi_suno-0.4.4-py3-none-any.whl
Size 40.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
30a193a1a285f1886ac33c1b3d7d9dbf896d5edc8da8ab2e331d0286c8954187
BLAKE2b-256 checksum
How to use checksums
0edc73a83aac8dc4538af68b28ffe940b2f4d18b6c2b1d94fe1ec1d7830d2667
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":true}

Release history Release notifications | RSS feed

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

This release

0.4.4 This release

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