Skip to main content

Mythic Infinity python client library.

Project description

Logo

MythicInfinity Python Client

pypi version supported python versions license

Ultra-low latency realtime AI Text to Speech.
Sign Up for an API Key »

Read the docs · Report Bug

Overview

  • Easy installation with pip.
  • Streaming audio bytes and non-streaming both supported.
  • Async/await and standard sync code both supported.
  • Full IDE support with autocomplete, type-hinting, and in-code documentation.

Installation

Install the python package as a dependency of your application.

$ pip install mythicinfinity

Basic Example

from mythicinfinity import MythicInfinityClient


def main():
    # Instantiate the client with your api key
    client = MythicInfinityClient(api_key="YOUR_API_KEY")
    
    # Call the TTS API. By default, stream is False.
    audio_bytes = client.tts.generate(text="Hello world.")
    
    with open('my_audio.wav', 'wb') as f:
        f.write(audio_bytes)

if __name__ == "__main__":
    main()

This sample calls the Text-To-Speech service and saves the resultant audio bytes to a file.

Environment Variables

Name Description
MYTHICINFINITY_API_KEY Sets the api key. There is no need to pass api_key="YOUR_API_KEY" to the client constructor when using the environment variable.

Streaming Example

from mythicinfinity import MythicInfinityClient


def main():
    # Instantiate the client with your api key
    client = MythicInfinityClient(api_key="YOUR_API_KEY")
    
    # Call the TTS API with stream=True.
    # This will stream the audio bytes in real-time, 
    #   as they become available from the AI model.
    audio_bytes_generator = client.tts.generate(text="Hello world.", stream=True)
    
    with open('my_audio.wav', 'wb') as f:
        for audio_bytes in audio_bytes_generator:
            f.write(audio_bytes)

if __name__ == "__main__":
    main()

Async Support

  • Code relying on async / await patterns is fully supported.
import asyncio
from mythicinfinity import AsyncMythicInfinityClient


async def main():
    # Instantiate the client with your api key
    client = AsyncMythicInfinityClient(api_key="YOUR_API_KEY")
    
    # Call the TTS API with stream=False.
    audio_bytes = await client.tts.generate(text="Hello world.")
    
    with open('my_async_audio_1.wav', 'wb') as f:
        f.write(audio_bytes)
    
    # Call the TTS API with stream=True.
    # This will stream the audio bytes in real-time, 
    #   as they become available from the AI model.
    audio_bytes_generator = await client.tts.generate(text="Hello world.", stream=True)
    
    with open('my_async_audio_2.wav', 'wb') as f:
        async for audio_bytes in audio_bytes_generator:
            f.write(audio_bytes)

if __name__ == "__main__":
    asyncio.run(main())

This sample first calls the client.tts.generate method without streaming using await and then does the same with streaming enabled.

Voice API

Voice Object
class Voice:
    name: str
    voice_id: str
    model_ids: typing.List[str]
    """
    Model IDs that this voice is compatible with.
    """

    preview_urls_by_model_id: typing.Dict[str, str]
    """
    Preview urls for this voice per model id.
    """

The voice objects returned by this api will have this structure.

List Voices

Sync

all_voices = client.tts.voices.list()

Async

all_voices = await async_client.tts.voices.list()
Get Voice Data

Sync

voice = client.tts.voices.get("kiera")

Async

voice = await async_client.tts.voices.get("kiera")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mythicinfinity-0.1.3.tar.gz (24.1 kB view details)

Uploaded Source

File details

Details for the file mythicinfinity-0.1.3.tar.gz.

File metadata

  • Download URL: mythicinfinity-0.1.3.tar.gz
  • Upload date:
  • Size: 24.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for mythicinfinity-0.1.3.tar.gz
Algorithm Hash digest
SHA256 dbe9a8349bad9487e65f459da62f7301cd5dcb9775b81420028b05945714dda7
MD5 dcfc7a803f5b9975281f6a59aee18d37
BLAKE2b-256 3c5d60855096c4e492f9719c74d87930af1407b94caeb27a9c01b8d9a33ab96f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mythicinfinity-0.1.3.tar.gz:

Publisher: release.yml on MythicInfinity/mythicinfinity-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page