Skip to main content

Supertone Python Library

LOGO

Summary

Supertone Public API: Supertone API is a RESTful API for using our state-of-the-art AI voice models.

SDK Installation

The SDK can be installed with uv, pip, or poetry package managers.

uv

uv is a fast Python package installer and resolver, designed as a drop-in replacement for pip and pip-tools. It's recommended for its speed and modern Python tooling capabilities.

uv add supertone

PIP

PIP is the default package installer for Python, enabling easy installation and management of packages from PyPI via the command line.

pip install supertone

Poetry

Poetry is a modern tool that simplifies dependency management and package publishing by using a single pyproject.toml file to handle project metadata and dependencies.

poetry add supertone

SDK Example Usage

Example

# Synchronous Example
from supertone import Supertone, models


with Supertone(
    api_key="<YOUR_API_KEY_HERE>",
) as s_client:

    res = s_client.text_to_speech.create_speech(voice_id="<id>", text="<value>", language=models.APIConvertTextToSpeechUsingCharacterRequestLanguage.JA, model=models.APIConvertTextToSpeechUsingCharacterRequestModel.SONA_SPEECH_1, output_format=models.APIConvertTextToSpeechUsingCharacterRequestOutputFormat.WAV, include_phonemes=False)

    # Handle response
    print(res)

The same SDK client can also be used to make asynchronous requests by importing asyncio.

# Asynchronous Example
import asyncio
from supertone import Supertone, models

async def main():

    async with Supertone(
        api_key="<YOUR_API_KEY_HERE>",
    ) as s_client:

        res = await s_client.text_to_speech.create_speech_async(voice_id="<id>", text="<value>", language=models.APIConvertTextToSpeechUsingCharacterRequestLanguage.JA, model=models.APIConvertTextToSpeechUsingCharacterRequestModel.SONA_SPEECH_1, output_format=models.APIConvertTextToSpeechUsingCharacterRequestOutputFormat.WAV, include_phonemes=False)

        # Handle response
        print(res)

asyncio.run(main())

Authentication

Per-Client Security Schemes

This SDK supports the following security scheme globally:

Name Type Scheme
api_key apiKey API key

To authenticate with the API the api_key parameter must be set when initializing the SDK client instance. For example:

from supertone import Supertone, models


with Supertone(
    api_key="<YOUR_API_KEY_HERE>",
) as s_client:

    res = s_client.text_to_speech.create_speech(voice_id="<id>", text="<value>", language=models.APIConvertTextToSpeechUsingCharacterRequestLanguage.JA, model=models.APIConvertTextToSpeechUsingCharacterRequestModel.SONA_SPEECH_1, output_format=models.APIConvertTextToSpeechUsingCharacterRequestOutputFormat.WAV, include_phonemes=False)

    # Handle response
    print(res)

Models

Supertone’s Text-to-Speech API provides multiple TTS models, each with different supported languages, available voice settings, and streaming capabilities.

Model Overview

Model Overview

Model Name Identifier Streaming Support (stream_speech) Voice Settings Support
SONA Speech 1 sona_speech_1 ✅ Supported Supports all Voice Settings
Supertonic API 1 supertonic_api_1 ❌ Not supported Supports only the speed setting (others are ignored)
Supertonic API 3 supertonic_api_3 ❌ Not supported Supports only the speed setting (others are ignored)
SONA Speech 2 sona_speech_2 ❌ Not supported Supports all Voice Settings except subharmonic_amplitude_control
SONA Speech 2 Flash sona_speech_2_flash ❌ Not supported Supports all Voice Settings except similarity, text_guidance, subharmonic_amplitude_control

|


Supported Languages by Model

  • sona_speech_2

    • en, ko, ja, bg, cs, da, el, es, et, fi, hu, it, nl, pl, pt, ro,
      ar, de, fr, hi, id, ru, vi
  • sona_speech_2_flash

    • en, ko, ja, bg, cs, da, el, es, et, fi, hu, it, nl, pl, pt, ro,
      ar, de, fr, hi, id, ru, vi
  • sona_speech_1

    • en, ko, ja
  • supertonic_api_3

    • en, ko, ja, ar, bg, cs, da, de, el, es, et, fi, fr, hi, hr, hu,
      id, it, lt, lv, nl, pl, pt, ro, ru, sk, sl, sv, tr, uk, vi
  • supertonic_api_1

    • en, ko, ja, es, pt

Voice Settings (Optional)

Some TTS models support optional voice settings that allow fine control over output speech characteristics (e.g., speed, pitch, pitch variance).

  • sona_speech_2

    • Supports all Voice Settings except subharmonic_amplitude_control.
  • sona_speech_2_flash

    • Supports all Voice Settings except similarity, text_guidance, subharmonic_amplitude_control.
  • sona_speech_1

    • Supports all available Voice Settings.
  • supertonic_api_3

    • Supports only the speed setting. All other settings will be ignored.
  • supertonic_api_1

    • Supports only the speed setting. All other settings will be ignored.

All Voice Settings are optional. When omitted, each model’s default values will be applied.

Error Handling

SupertoneError is the base class for all HTTP error responses. It has the following properties:

Property Type Description
err.message str Error message
err.status_code int HTTP response status code eg 404
err.headers httpx.Headers HTTP response headers
err.body str HTTP body. Can be empty string if no body is returned.
err.raw_response httpx.Response Raw HTTP response
err.data Optional. Some errors may contain structured data. See Error Classes.

Example

from supertone import Supertone, errors, models


with Supertone(
    api_key="<YOUR_API_KEY_HERE>",
) as s_client:
    res = None
    try:

        res = s_client.text_to_speech.create_speech(voice_id="<id>", text="<value>", language=models.APIConvertTextToSpeechUsingCharacterRequestLanguage.JA, model=models.APIConvertTextToSpeechUsingCharacterRequestModel.SONA_SPEECH_1, output_format=models.APIConvertTextToSpeechUsingCharacterRequestOutputFormat.WAV, include_phonemes=False)

        # Handle response
        print(res)


    except errors.SupertoneError as e:
        # The base class for HTTP error responses
        print(e.message)
        print(e.status_code)
        print(e.body)
        print(e.headers)
        print(e.raw_response)

        # Depending on the method different errors may be thrown
        if isinstance(e, errors.BadRequestErrorResponse):
            print(e.data.status)  # str
            print(e.data.message)  # str

Error Classes

Primary error:

Less common errors (15)

Network errors:

Inherit from SupertoneError:

* Check the method documentation to see if the error is applicable.

Additional Example Code

Additional example code can be found in the examples directory.

Metadata

Release files for supertone 0.2.3

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

Source distribution (sdist)

Source distribution for supertone 0.2.3
File Size Uploaded
supertone-0.2.3.tar.gz 68.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for supertone 0.2.3
File Interpreter ABI Platform
supertone-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 172.6 kB

Release files / supertone-0.2.3.tar.gz

Download URL supertone-0.2.3.tar.gz
Size 68.0 kB
Tags Source
SHA-256 checksum
How to use checksums
7fcaa9cb4fee6496c127922d783a4d8d07ced306160c6d3c6cfb1679b390fd22
BLAKE2b-256 checksum
How to use checksums
43ea384f4b86e0481e455513d06a22e4b49de264825ddb51bdbc6792ec247cd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.14

Release files / supertone-0.2.3-py3-none-any.whl

Download URL supertone-0.2.3-py3-none-any.whl
Size 104.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fbd2af7ae823114e0482989055b8dc222b7f013bc592aabb6ce68105746d6809
BLAKE2b-256 checksum
How to use checksums
8805b9fccef2e75389ceed3653be512998b411562bff367bff9fe985c75388eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.14

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.5

2 release files

0.1.4

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