> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Intégration Laravel AI SDK - VOICEVOX for Laravel

> Configuration et utilisation de VOICEVOX for Laravel via la facade Audio du Laravel AI SDK.

## Intégration Laravel AI SDK

VOICEVOX for Laravel est intégré au [Laravel AI SDK](https://github.com/laravel/ai) et permet de générer de la voix via la facade `Audio`.

Deux pilotes sont disponibles :

* `voicevox-client` (mode client)
* `voicevox` (mode natif)

## Pilote client (`voicevox-client`)

Ce mode envoie des requêtes HTTP au moteur VOICEVOX officiel. FFI n'est pas requis.

### Prérequis

```shell theme={null}
docker pull voicevox/voicevox_engine:cpu-latest
docker run --rm -p '127.0.0.1:50021:50021' voicevox/voicevox_engine:cpu-latest
```

### Configuration

Ajoutez le fournisseur `voicevox-client` dans `config/ai.php`.

```php theme={null}
'providers' => [
    'voicevox-client' => [
        'driver' => 'voicevox-client',
        'key' => env('VOICEVOX_URL', 'http://127.0.0.1:50021'),
    ],
],
```

### Utilisation

```php theme={null}
use Laravel\Ai\Audio;

$response = Audio::of('Laravelが好きなのだ')
    ->voice('ずんだもん')
    ->generate('voicevox-client');

Storage::put('talk.wav', $response->content());
```

## Pilote natif (`voicevox`)

Ce mode appelle directement VOICEVOX CORE. FFI est requis.

Seuls les modèles chargés dans `core.vvms` de `config/voicevox.php` sont utilisables.

### Configuration

```php theme={null}
'providers' => [
    'voicevox' => [
        'driver' => 'voicevox',
    ],
],
```

### Utilisation

```php theme={null}
use Laravel\Ai\Audio;

$response = Audio::of('ネイティブで話すのだ')
    ->voice('ずんだもん')
    ->generate('voicevox');

Storage::put('talk.wav', $response->content());
```

## Valeurs acceptées par `voice()`

`voice()` accepte les valeurs suivantes :

* L'ID de style VOICEVOX (chaîne numérique)
* Un alias de nom de personnage (par exemple `ずんだもん`, `四国めたん/ノーマル`)

### Liste des alias

| Alias            | ID de style | Personnage   |
| ---------------- | ----------- | ------------ |
| `ずんだもん`          | 1           | ずんだもん(あまあま)  |
| `ずんだもん/あまあま`     | 1           | ずんだもん(あまあま)  |
| `ずんだもん/ノーマル`     | 3           | ずんだもん(ノーマル)  |
| `ずんだもん/セクシー`     | 5           | ずんだもん(セクシー)  |
| `ずんだもん/ツンツン`     | 7           | ずんだもん(ツンツン)  |
| `ずんだもん/ささやき`     | 22          | ずんだもん(ささやき)  |
| `ずんだもん/ヒソヒソ`     | 38          | ずんだもん(ヒソヒソ)  |
| `四国めたん/あまあま`     | 0           | 四国めたん(あまあま)  |
| `四国めたん`          | 2           | 四国めたん(ノーマル)  |
| `四国めたん/ノーマル`     | 2           | 四国めたん(ノーマル)  |
| `四国めたん/セクシー`     | 4           | 四国めたん(セクシー)  |
| `四国めたん/ツンツン`     | 6           | 四国めたん(ツンツン)  |
| `四国めたん/ヒソヒソ`     | 37          | 四国めたん(ヒソヒソ)  |
| `春日部つむぎ`         | 8           | 春日部つむぎ(ノーマル) |
| `波音リツ`           | 9           | 波音リツ(ノーマル)   |
| `雨晴はう`           | 10          | 雨晴はう(ノーマル)   |
| `玄野武宏`           | 11          | 玄野武宏(ノーマル)   |
| `白上虎太郎`          | 12          | 白上虎太郎(ノーマル)  |
| `青山龍星`           | 13          | 青山龍星(ノーマル)   |
| `冥鳴ひまり`          | 14          | 冥鳴ひまり(ノーマル)  |
| `九州そら`           | 16          | 九州そら(ノーマル)   |
| `default-female` | 10          | 雨晴はう(ノーマル)   |
| `default-male`   | 12          | 白上虎太郎(ノーマル)  |

Si `voice()` est omis, `default-female` (ID : 10) est utilisé.

```php theme={null}
use Laravel\Ai\Audio;

Audio::of('テスト')->voice('3')->generate('voicevox-client');
```

La liste des locuteurs disponibles peut également être obtenue via `Voicevox::speakers()`.

```php theme={null}
use Revolution\Voicevox\Voicevox;

$speakers = Voicevox::speakers();
```

## Agent (KanalizerAgent)

En mode natif, `enable_katakana_english` n'existe pas ; vous pouvez donc utiliser `KanalizerAgent` pour convertir au préalable l'anglais en katakana.

```php theme={null}
use Revolution\Voicevox\Ai\Agents\KanalizerAgent;
use function Revolution\Voicevox\talk;

$kana = KanalizerAgent::make()->prompt('KanalizerAgentで英語をカタカナに変換するのだ');

$response = talk($kana['kana'] ?? $kana->text, id: 1)->generate(id: 1);

$response->storeAs('native', 'kanalizer.wav');
```

<Tip>
  La conversion en katakana par une IA n'est pas toujours exacte. En production, faites vérifier le texte généré par un humain avant la synthèse.
</Tip>

## Pages suivantes

<Columns cols={2}>
  <Card title="Client : Talk" href="/fr/packages/laravel-voicevox/client-talk" icon="message-circle">
    Découvrez le flux normal de l'API en mode client.
  </Card>

  <Card title="Natif : Talk" href="/fr/packages/laravel-voicevox/native-talk" icon="cpu">
    Découvrez l'utilisation du mode de synthèse directe via FFI.
  </Card>
</Columns>


## Related topics

- [Intégration Laravel AI SDK](/fr/packages/laravel-copilot-sdk/ai-sdk.md)
- [Les nouveautés de Laravel 13](/fr/blog/laravel-13-new-features.md)
- [Mises à jour Laravel — mars 2026](/fr/blog/changelog/202603.md)
- [Pilote Amazon Bedrock pour Laravel AI SDK](/fr/packages/laravel-amazon-bedrock.md)
- [Laravel AI SDK](/fr/ai-sdk.md)
