masterarrow/laravel-elevenlabs-client

dev-main 2024-01-24 12:41 UTC

This package is auto-updated.

Last update: 2024-09-24 14:03:55 UTC


README

License

这是一个用作ElevenLabs语音生成API包装器的Laravel包。它提供了一个易于使用的接口,用于根据提供的内容生成语音。

安装

您可以通过Composer安装此包。运行以下命令

composer require masterarrow/elevenlabs-api-client

接下来,您需要将服务提供者在您的Laravel应用程序的config/app.php文件中添加。打开文件并定位到'providers'数组。将以下行添加到数组中

ElevenLabsWrapper\ElevenLabsClient\Providers\ElevenLabsClientServiceProvider::class,

用法

要开始使用,请确保设置您的ElevenLabs API密钥。您可以通过在.env文件中添加以下密钥来完成此操作

ELEVEN_API_KEY=your-api-key

然后,您可以通过访问ElevenLabsClient实例来使用此包。例如,您可以将以下路由添加到您的web.php或api.php文件中,以测试库是否正常工作

<?php

use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "web" middleware group. Make something great!
|
*/

Route::get('/test_elevenlabsclient', function() {
    $elevenLabsClient = app()->make(\ElevenLabsWrapper\ElevenLabsClient\ElevenLabsClient::class);
    return $elevenLabsClient->voices()->getAll();
});

   

语音类

命名空间

ElevenLabsWrapper\ElevenLabsClient\Voice

类描述

Voice类是ElevenLabsWrapper\ElevenLabsClient\Voice命名空间的一部分。它实现了VoiceInterface

getAll()

检索所有可用的语音。

getVoice(string $voice_id)

返回特定语音的元数据。

defaultSettings()

获取语音的默认设置。

voiceSettings(string $voice_id)

addVoice(string $name, ?string $description, string $files, ?string $labels = "American")

将新的语音添加到您的VoiceLab语音集合中。

参数

  • $name (string): 语音的名称。
  • $description (string|null): 语音的描述。
  • $files (string): 语音的文件路径。
  • $labels (string|null, default: "American"): 语音的标签。

editVoice(string $voice_id, string $name, ?string $description, ?string $files, ?string $labels = "American")

编辑VoiceLab中语音集合中的语音。

参数

  • $voice_id (string): 语音的ID。
  • $name (string): 语音的新名称。
  • $description (string|null): 语音的新描述。
  • $files (string|null): 语音的新文件路径。
  • $labels (string|null, default: "American"): 语音的新标签。

deleteVoice(string $voice_id)

从VoiceLab中语音集合中删除特定语音。

参数

  • $voice_id (string): 语音的ID。

   

语音合成类

命名空间

ElevenLabsWrapper\ElevenLabsClient\TextToSpeech

类描述

TextToSpeech类是ElevenLabsWrapper\ElevenLabsClient\TextToSpeech命名空间的一部分。它实现了TextToSpeechInterface

generate(string $content, string $voice_id , ?bool $optimize_latency, ?string $model_id, ?array $voice_settings = [])

generate_stream(string $content, string $voice_id , ?bool $optimize_latency, ?string $model_id , ?array $voice_settings = [])

   

历史记录

命名空间

ElevenLabsWrapper\ElevenLabsClient\History

类描述

History类是ElevenLabsWrapper\ElevenLabsClient\History命名空间的一部分。它实现了HistoryInterface

getHistory()

返回有关您所有生成音频的元数据。

getHistoryItem(string $history_item_id)

根据其ID返回历史条目的信息。

参数

  • $history_item_id (string): 历史条目的ID。

getHistoryItemAudio(string $history_item_id, string $fileName)

返回历史条目的音频。

参数

  • $history_item_id (string): 历史条目的ID。
  • $fileName (string): 音频文件的所需文件名。

deleteHistoryItem(string $history_item_id)

根据其ID删除历史条目。

参数

  • $history_item_id (string): 历史条目的ID。

downloadHistory(array $history_items, string $filename)

下载一个或多个历史条目。如果提供一个历史条目ID,则返回单个音频文件。如果提供多个历史条目ID,则将历史条目打包到.zip文件中。

参数

  • $history_items (数组): 历史项目ID数组。
  • $filename (字符串): 下载文件的期望文件名。

     

Models

可用方法

getModels()

获取可用模型列表。

返回类型: 数组

   

User

命名空间

ElevenLabsWrapper\ElevenLabsClient\User

类描述

User 类是 ElevenLabsWrapper\ElevenLabsClient\User 命名空间的一部分。它实现了 UserInterface

可用方法

getUserInfo()

获取用户信息。

返回类型: 数组

描述: 此方法检索当前用户的信息。它向 user 端点发送 GET 请求,并将解码后的响应数据作为数组返回。

getUserSubscription()

获取用户订阅的扩展信息。

返回类型: 数组

描述: 此方法检索当前用户订阅的扩展信息。它向 user/subscription 端点发送 GET 请求,并将解码后的响应数据作为数组返回。

   

请自由地在您的 Laravel 应用程序中使用这些方法与 ElevenLabs 语音生成 API 交互。