ardagnsrn/elevenlabs-laravel

This is an Open Source Laravel package for ElevenLabs Text to Speech API.

dev-main 2024-04-15 04:39 UTC

README

elevenlabs-js

ElevenLabs.io API for PHP Laravel

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

This is an Open Source PHP Laravel package for elevenlabs.io Text to Speech API. You can find the Official API document here: https://api.elevenlabs.io/docs

Buy me a coffee

Whether you use this project, have learned something from it, or just like it, please consider supporting it by buying me a coffee, so I can dedicate more time on open-source projects like this :)

Buy Me A Coffee

Table of Contents

Installation

You can install the package via composer:

composer require ardagnsrn/elevenlabs-laravel

You can publish the config file with:

php artisan vendor:publish --tag="elevenlabs-laravel-config"

This is the contents of the published config file:

return [
    'api_key' => env('ELEVENLABS_API_KEY'),
];

Supported Methods

Method Parameters EndPoint HTTP Method
textToSpeech() voiceId, text, modelId, voiceSettings /v1/text-to-speech/{voice_id}/stream POST
getModels() N/A /v1/models GET

Parameters

Parameter Type Description Required Default
voiceId String The ID of the voice to use. You can get a list of available voices using getVoices(). Yes N/A
text String The text to convert to speech. Yes N/A
modelId String The ID of the model to use. You can get a list of available models using getModels(). No eleven_multilingual_v2
voiceSettings Array The settings to use for the voice. No ['stability' => 0.95, 'similarity_boost' => 0.75, 'style' => 0.06, 'use_speaker_boost' => true]

Voice Settings

Parameter Type Description Default
stability Float The stability of the voice. 0.95
similarity_boost Float The similarity boost of the voice. 0.75
style Float The style of the voice. 0.06
use_speaker_boost Boolean Whether to use speaker boost or not. true

Usage

textToSpeech() Method

Generate a text to speech audio file. You can either save the file or get the pipe and do whatever you want with it.

$elevenLabs = new ArdaGnsrn\ElevenLabs();
$response = $elevenLabs->textToSpeech('YOUR_VOICE_ID', 'Hello World!', 'eleven_multilingual_v2', [
    'stability' => 0.95, 
    'similarity_boost' => 0.75, 
    'style' => 0.06, 
    'use_speaker_boost' => true
]);

// If you want, you can save to storage like this:
$response->saveFile('audio.mp3');

// Or you can get the response and do whatever you want with it:
$response->getResponse();

getModels() Method

Get a list of available models.

$elevenLabs = new ArdaGnsrn\ElevenLabs();
$models = $elevenLabs->getModels();

Testing

composer test

Other Languages

Also, you can find the other languages of this package here:

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see License File for more information.