# Unofficial [Kits.AI](https://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:
```bash
pip install kitsai
```
## Publish to PyPi
```bash
python setup.py sdist bdist_wheel
twine upload dist/*
```
## Usage
### 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.
```python
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.
```python
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.
```python
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.
```python
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.
```python
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.
```python
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.
```python
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.
```python
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.
```python
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.
```python
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.
```python
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.
```python
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](LICENSE) file for details.
Raw data
{
"_id": null,
"home_page": "https://github.com/blaise-tk/kitsai",
"name": "kitsai",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "python,audio,vc,ai,rvc,kits",
"author": "Blaise",
"author_email": "iahispano0@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/5d/bc/2a0b8ad195cf6c3a6118a2319758b1957c3e824530e37a7cc6ebf0efc0c6/kitsai-0.0.3.tar.gz",
"platform": null,
"description": "\r\n# Unofficial [Kits.AI](https://kits.ai) API Implementation\r\n\r\n\r\n\r\nkitsai 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.\r\n\r\n\r\n\r\n## Installation\r\n\r\n\r\n\r\nInstall kitsai via pip:\r\n\r\n\r\n\r\n```bash\r\n\r\npip install kitsai\r\n\r\n\r\n\r\n```\r\n\r\n\r\n\r\n## Publish to PyPi\r\n\r\n\r\n\r\n```bash\r\n\r\npython setup.py sdist bdist_wheel\r\n\r\ntwine upload dist/*\r\n\r\n```\r\n\r\n\r\n\r\n## Usage\r\n\r\n\r\n\r\n### Authentication\r\n\r\n\r\n\r\nTo 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.\r\n\r\n\r\n\r\n```python\r\n\r\nfrom kitsai import login\r\n\r\n\r\n\r\napi_key = \"YOUR_API_KEY_HERE\"\r\n\r\nlogin(api_key)\r\n\r\n```\r\n\r\n\r\n\r\n_You can generate an API key by signing up on the https://app.kits.ai/api-access website._\r\n\r\n\r\n\r\n### Voice Models\r\n\r\n\r\n\r\n#### Fetch Voice Models\r\n\r\n\r\n\r\nRetrieve a list of available voice models.\r\n\r\n\r\n\r\n```python\r\n\r\nfrom kitsai import fetch_voice_models\r\n\r\n\r\n\r\nvoice_models = fetch_voice_models(order=\"asc\", page=1, per_page=10, my_models=False, instruments=False)\r\n\r\n```\r\n\r\n\r\n\r\n#### Fetch Voice Model by ID\r\n\r\n\r\n\r\nFetch details of a specific voice model using its ID.\r\n\r\n\r\n\r\n```python\r\n\r\nfrom kitsai import fetch_voice_model_by_id\r\n\r\n\r\n\r\nvoice_model_id = 123\r\n\r\nvoice_model = fetch_voice_model_by_id(voice_model_id)\r\n\r\n```\r\n\r\n\r\n\r\n### Voice Conversions\r\n\r\n\r\n\r\n#### Create Voice Conversion\r\n\r\n\r\n\r\nInitiate a voice conversion task with specified parameters.\r\n\r\n\r\n\r\n```python\r\n\r\nfrom kitsai import create_voice_conversion\r\n\r\n\r\n\r\nresponse = create_voice_conversion(\r\n\r\n voice_model_id=123,\r\n\r\n sound_file=open('input.wav', 'rb'),\r\n\r\n backing_sound_file=open('backing.wav', 'rb'),\r\n\r\n conversion_strength=0.5,\r\n\r\n model_volume_mix=0.8,\r\n\r\n pitch_shift=2,\r\n\r\n pre={\r\n\r\n \"noiseGate\": {\r\n\r\n \"thresholdDb\": -30,\r\n\r\n \"ratio\": 2,\r\n\r\n \"attackMs\": 10,\r\n\r\n \"releaseMs\": 20\r\n\r\n },\r\n\r\n \"highPassFilter\": {\r\n\r\n \"cutoffFrequencyHz\": 1000\r\n\r\n }\r\n\r\n }\r\n\r\n)\r\n\r\n```\r\n\r\n\r\n\r\n#### Fetch Voice Conversion by ID\r\n\r\n\r\n\r\nRetrieve details of a specific voice conversion task using its ID.\r\n\r\n\r\n\r\n```python\r\n\r\nfrom kitsai import fetch_voice_conversion_by_id\r\n\r\n\r\n\r\nvoice_conversion = fetch_voice_conversion_by_id(\"JOB_ID_HERE\")\r\n\r\n```\r\n\r\n\r\n\r\n#### Fetch Voice Conversions\r\n\r\n\r\n\r\nRetrieve a list of voice conversion tasks.\r\n\r\n\r\n\r\n```python\r\n\r\nfrom kitsai import fetch_voice_conversions\r\n\r\n\r\n\r\nvoice_conversions = fetch_voice_conversions(order=\"asc\", page=1, per_page=10)\r\n\r\n```\r\n\r\n\r\n\r\n### Vocal Separations\r\n\r\n\r\n\r\n#### Create Vocal Separation\r\n\r\n\r\n\r\nInitiate a vocal separation task with an audio input.\r\n\r\n\r\n\r\n```python\r\n\r\nfrom kitsai import create_vocal_separation\r\n\r\n\r\n\r\nresponse = create_vocal_separation(\r\n\r\n sound_file=open('input.wav', 'rb')\r\n\r\n)\r\n\r\n```\r\n\r\n\r\n\r\n#### Fetch Vocal Separation by ID\r\n\r\n\r\n\r\nRetrieve details of a specific vocal separation task using its ID.\r\n\r\n\r\n\r\n```python\r\n\r\nfrom kitsai import fetch_vocal_separation_by_id\r\n\r\n\r\n\r\nvocal_separation = fetch_vocal_separation_by_id(\"JOB_ID_HERE\")\r\n\r\n```\r\n\r\n\r\n\r\n#### Fetch Vocal Separations\r\n\r\n\r\n\r\nRetrieve a list of vocal separation tasks.\r\n\r\n\r\n\r\n```python\r\n\r\nfrom kitsai import fetch_vocal_separations\r\n\r\n\r\n\r\nvocal_separations = fetch_vocal_separations(order=\"asc\", page=1, per_page=10)\r\n\r\n```\r\n\r\n\r\n\r\n### Text-to-Speech (TTS)\r\n\r\n\r\n\r\n#### Create TTS\r\n\r\n\r\n\r\nGenerate text-to-speech output using a specified voice model and input text.\r\n\r\n\r\n\r\n```python\r\n\r\nfrom kitsai import create_tts\r\n\r\n\r\n\r\nresponse = create_tts(\r\n\r\n voice_model_id=123,\r\n\r\n input_tts_text=\"Hello, how are you?\"\r\n\r\n)\r\n\r\n```\r\n\r\n\r\n\r\n#### Fetch TTS by ID\r\n\r\n\r\n\r\nRetrieve details of a specific text-to-speech task using its ID.\r\n\r\n\r\n\r\n```python\r\n\r\nfrom kitsai import fetch_tts_by_id\r\n\r\n\r\n\r\ntts_job = fetch_tts_by_id(\"JOB_ID_HERE\")\r\n\r\n```\r\n\r\n\r\n\r\n#### Fetch TTS\r\n\r\n\r\n\r\nRetrieve a list of text-to-speech tasks.\r\n\r\n\r\n\r\n```python\r\n\r\nfrom kitsai import fetch_tts\r\n\r\n\r\n\r\ntts_jobs = fetch_tts(order=\"asc\", page=1, per_page=10)\r\n\r\n```\r\n\r\n\r\n\r\n## License\r\n\r\n\r\n\r\nThis project is licensed under the Attribution-NonCommercial 4.0 International - see the [LICENSE](LICENSE) file for details.\r\n\r\n",
"bugtrack_url": null,
"license": "Attribution-NonCommercial 4.0 International",
"summary": "Unofficial package to easily interact with the Kits.AI API",
"version": "0.0.3",
"project_urls": {
"Homepage": "https://github.com/blaise-tk/kitsai"
},
"split_keywords": [
"python",
"audio",
"vc",
"ai",
"rvc",
"kits"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f012ea458a223368c57313cdf21884030674c454c39dc19d25eea64987a267a3",
"md5": "34498736f55a62467331a165c9d74a16",
"sha256": "354d594cf043050f9dfcef03e95d8d22503b5315e90a09304628084f8ded1a16"
},
"downloads": -1,
"filename": "kitsai-0.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "34498736f55a62467331a165c9d74a16",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 17859,
"upload_time": "2024-03-01T23:26:00",
"upload_time_iso_8601": "2024-03-01T23:26:00.453002Z",
"url": "https://files.pythonhosted.org/packages/f0/12/ea458a223368c57313cdf21884030674c454c39dc19d25eea64987a267a3/kitsai-0.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5dbc2a0b8ad195cf6c3a6118a2319758b1957c3e824530e37a7cc6ebf0efc0c6",
"md5": "519ad0fa5f0add4d85280a7fad87853b",
"sha256": "d3f5c62721c6f1e7906bdcc90398a9f34823b6016e8dce3248d9cec983a4aae0"
},
"downloads": -1,
"filename": "kitsai-0.0.3.tar.gz",
"has_sig": false,
"md5_digest": "519ad0fa5f0add4d85280a7fad87853b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12867,
"upload_time": "2024-03-01T23:26:02",
"upload_time_iso_8601": "2024-03-01T23:26:02.418510Z",
"url": "https://files.pythonhosted.org/packages/5d/bc/2a0b8ad195cf6c3a6118a2319758b1957c3e824530e37a7cc6ebf0efc0c6/kitsai-0.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-01 23:26:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "blaise-tk",
"github_project": "kitsai",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "kitsai"
}