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

# Integración con Laravel AI SDK - VOICEVOX for Laravel

> Explica cómo configurar y utilizar VOICEVOX for Laravel desde la facade Audio del Laravel AI SDK.

## Integración con Laravel AI SDK

VOICEVOX for Laravel se integra con [Laravel AI SDK](https://github.com/laravel/ai), permitiendo generar audio desde la facade `Audio`.

Los drivers disponibles son estos dos:

* `voicevox-client` (modo cliente)
* `voicevox` (modo nativo)

## Driver cliente (`voicevox-client`)

Modo que envía peticiones HTTP al motor oficial de VOICEVOX. No requiere FFI.

### Preparación

```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
```

### Configuración

Añade el proveedor `voicevox-client` a `config/ai.php`.

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

### Uso

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

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

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

## Driver nativo (`voicevox`)

Modo que llama directamente a VOICEVOX CORE. Requiere FFI.

Solo se pueden usar los modelos cargados en `core.vvms` de `config/voicevox.php`.

### Configuración

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

### Uso

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

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

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

## Valores que puedes pasar a `voice()`

En `voice()` puedes indicar:

* El ID de estilo de VOICEVOX (cadena numérica)
* Un alias del nombre del personaje (por ejemplo, `ずんだもん`, `四国めたん/ノーマル`)

### Lista de alias

| Alias            | ID de estilo | Personaje    |
| ---------------- | ------------ | ------------ |
| `ずんだもん`          | 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 omites `voice()`, se utiliza `default-female` (ID: 10).

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

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

También puedes consultar la lista de speakers disponibles con `Voicevox::speakers()`.

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

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

## Agente (KanalizerAgent)

Como el modo nativo no dispone de `enable_katakana_english`, puedes usar `KanalizerAgent` para convertir de antemano el inglés a 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 conversión a katakana por IA no siempre es exacta. En producción, revisa el texto generado por una persona antes de sintetizarlo.
</Tip>

## Siguientes páginas

<Columns cols={2}>
  <Card title="Cliente: Talk" href="/es/packages/laravel-voicevox/client-talk" icon="message-circle">
    Revisa el flujo normal de la API en modo cliente.
  </Card>

  <Card title="Nativo: Talk" href="/es/packages/laravel-voicevox/native-talk" icon="cpu">
    Revisa cómo usar el modo que sintetiza directamente con FFI.
  </Card>
</Columns>


## Related topics

- [Integración con Laravel AI SDK](/es/packages/laravel-copilot-sdk/ai-sdk.md)
- [Guía de desarrollo de apps con integración de la Engine API - VOICEVOX for Laravel](/es/packages/laravel-voicevox/app-guide.md)
- [Actualización de Laravel — Marzo de 2026](/es/blog/changelog/202603.md)
- [Resumen de las novedades de Laravel 13](/es/blog/laravel-13-new-features.md)
- [Driver de Amazon Bedrock para Laravel AI SDK](/es/packages/laravel-amazon-bedrock.md)
