Metadata-Version: 2.1
Name: elevenlabs-s3
Version: 0.3.0
Summary: A package that combines ElevenLabs TTS and AWS S3 upload.
Author: Andy
Author-email: andychert@protonmail.com
Requires-Python: >=3.10,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: boto3 (>=1.35.36,<2.0.0)
Requires-Dist: elevenlabs (>=1.9.0,<2.0.0)
Requires-Dist: requests (>=2.32.3,<3.0.0)
Description-Content-Type: text/markdown

# ElevenLabs S3 Package

This package combines the ElevenLabs text-to-speech functionality with AWS S3 uploading capabilities.

## Installation

```bash
pip install elevenlabs_s3
```

## Usage

```python
from elevenlabs_s3 import VoiceSettings, text_to_speech

# Call the function
result = text_to_speech(
    text="Hello, this is a test.",
    elevenlabs_api_key="YOUR_ELEVENLABS_API_KEY",
    voice_id="YOUR_VOICE_ID"
    output_folder="local_files", # Specify if you want to save locally
    # Specify if you want to upload to S3
    aws_s3_output_folder="s3_files",
    aws_s3_bucket_name="your-s3-bucket",
    aws_access_key_id="YOUR_AWS_ACCESS_KEY_ID",
    aws_secret_access_key="YOUR_AWS_SECRET_ACCESS_KEY",
    aws_region_name="YOUR_AWS_REGION",
)

print(result)

"""
Elevenlabs ID: `I8xNqL3yp2LqoGrqUdyV`
Example: `previous_request_ids=["I8xNqL3yp2LqoGrqUdyV"]`

{
   "id": "I8xNqL3yp2LqoGrqUdyV",
   "file_name":"local_files/I8xNqL3yp2LqoGrqUdyV.mp3",
   "s3_file_name":"s3_files/I8xNqL3yp2LqoGrqUdyV.mp3",
   "s3_bucket_name":"mybucket",
   "s3_presigned_url":"https://mybucket.s3.amazonaws.com/I8xNqL3yp2LqoGrqUdyV.mp3?AWSAccessKeyId=AKIAVY2PHBT7JH2FX7K2&Signature=DGDRWa6GJeTXIyhihW%2BOEymTTpo%3D&Expires=1728922077"
}
"""

```

## Rules

- If the folder where to save the audio file is specified and AWS S3 authorization data is not specified, then save only in the folder.
- If the folder where to save the audio file and AWS S3 authorization data is specified, then save in S3 and in the folder.
- If no folder is specified where to save the audio file and AWS S3 authorization data is specified, save only to S3.
- If no folder is specified where to save the audio file and AWS S3 authorization data is not specified, save only in the default folder.

## License

This project is licensed under the MIT License.

