Skip to content

blaise-tk/kitsai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unofficial Kits.AI API Implementation

kitsai is a Python package designed to streamline interactions with the Kits.AI API, offering convenient functionalities for voice models, voice conversions, vocal separations, and text-to-speech (TTS) tasks.

Installation

Install kitsai via pip:

pip install kitsai

Publish to PyPi

python setup.py sdist bdist_wheel
twine upload dist/*

Usage

Rate Limits

Current rate limits are set at 1000 GET requests per user each minute and 5 POST requests per user each minute for POST requests.

Rate limits are subject to change after our Alpha period.

Authentication

To utilize any functions within this package, authentication via your API key is necessary. Simply invoke the login function from the token module, providing your API key as an argument.

from kitsai import login

api_key = "YOUR_API_KEY_HERE"
login(api_key)

You can generate an API key by signing up on the https://app.kits.ai/api-access website.

Voice Models

Fetch Voice Models

Retrieve a list of available voice models.

from kitsai import fetch_voice_models

voice_models = fetch_voice_models(order="asc", page=1, per_page=10, my_models=False, instruments=False)

Fetch Voice Model by ID

Fetch details of a specific voice model using its ID.

from kitsai import fetch_voice_model_by_id

voice_model_id = 123
voice_model = fetch_voice_model_by_id(voice_model_id)

Voice Conversions

Create Voice Conversion

Initiate a voice conversion task with specified parameters.

from kitsai import create_voice_conversion

response = create_voice_conversion(
    voice_model_id=123,
    sound_file=open('input.wav', 'rb'),
    backing_sound_file=open('backing.wav', 'rb'),
    conversion_strength=0.5,
    model_volume_mix=0.8,
    pitch_shift=2,
    pre={
        "noiseGate": {
            "thresholdDb": -30,
            "ratio": 2,
            "attackMs": 10,
            "releaseMs": 20
        },
        "highPassFilter": {
            "cutoffFrequencyHz": 1000
        }
    }
)

Fetch Voice Conversion by ID

Retrieve details of a specific voice conversion task using its ID.

from kitsai import fetch_voice_conversion_by_id

voice_conversion = fetch_voice_conversion_by_id("JOB_ID_HERE")

Fetch Voice Conversions

Retrieve a list of voice conversion tasks.

from kitsai import fetch_voice_conversions

voice_conversions = fetch_voice_conversions(order="asc", page=1, per_page=10)

Vocal Separations

Create Vocal Separation

Initiate a vocal separation task with an audio input.

from kitsai import create_vocal_separation

response = create_vocal_separation(
    sound_file=open('input.wav', 'rb')
)

Fetch Vocal Separation by ID

Retrieve details of a specific vocal separation task using its ID.

from kitsai import fetch_vocal_separation_by_id

vocal_separation = fetch_vocal_separation_by_id("JOB_ID_HERE")

Fetch Vocal Separations

Retrieve a list of vocal separation tasks.

from kitsai import fetch_vocal_separations

vocal_separations = fetch_vocal_separations(order="asc", page=1, per_page=10)

Text-to-Speech (TTS)

Create TTS

Generate text-to-speech output using a specified voice model and input text.

from kitsai import create_tts

response = create_tts(
    voice_model_id=123,
    input_tts_text="Hello, how are you?"
)

Fetch TTS by ID

Retrieve details of a specific text-to-speech task using its ID.

from kitsai import fetch_tts_by_id

tts_job = fetch_tts_by_id("JOB_ID_HERE")

Fetch TTS

Retrieve a list of text-to-speech tasks.

from kitsai import fetch_tts

tts_jobs = fetch_tts(order="asc", page=1, per_page=10)

License

This project is licensed under the Attribution-NonCommercial 4.0 International - see the LICENSE file for details.

About

Unofficial package to easily interact with the Kits.AI API

Topics

Resources

License

Stars

Watchers

Forks

Languages