Passer au contenu principal

Qu’est-ce que le mode API du moteur

Le mode API du moteur expose, à l’intérieur de l’application Laravel, une API HTTP compatible avec le moteur officiel VOICEVOX. En démarrant l’application par php artisan serve --port=50513, vous pouvez utiliser directement /audio_query, /synthesis, etc.

Prérequis

1

Mettre en place VOICEVOX Core for PHP

Suivez la procédure d’Installation et configuration pour préparer voicevox-core-php et la bibliothèque core.
2

Activer les variables d'environnement et FFI

VOICEVOX_CORE_PATH=/path/to/voicevox_core/
ffi.enable=true
3

Installer les ressources d'informations sur les personnages

php artisan voicevox:install

Démarrer le moteur version Laravel

php artisan serve --port=50513
Par défaut, il démarre sur http://127.0.0.1:50513.

À propos du port 50513

Le port par défaut du moteur officiel VOICEVOX est 50021. Pour permettre l’exécution simultanée du moteur version Laravel et du moteur officiel, le port par défaut est fixé à 50513. C’est simplement un démarrage avec --port=50513 ; vous pouvez utiliser un autre port comme --port=8000 sans problème.
Si son port par défaut est déjà occupé, le moteur officiel s’ajuste automatiquement sur 50022 ou un port libre suivant. php artisan serve sans --port fait de même à partir de 8001, mais avec --port spécifié, un port occupé fait échouer le démarrage. Il est recommandé de choisir un port fixe peu susceptible d’entrer en collision avec d’autres services. 50513 en est un exemple.

Générer une voix Talk

1. Créer une audio_query

curl -s -X POST "http://127.0.0.1:50513/audio_query?speaker=1&text=ララベルが好きなのだ" \
  -H "Content-Type: application/json" \
  > audio_query.json

2. Synthétiser via synthesis

curl -s -X POST "http://127.0.0.1:50513/synthesis?speaker=1" \
  -H "Content-Type: application/json" \
  -d @audio_query.json \
  > talk.wav

Utilisation depuis un client Laravel

Le moteur version Laravel peut servir de cible en mode client.
// config/voicevox.php
'client' => [
    'url' => env('VOICEVOX_URL', 'http://127.0.0.1:50513'),
],
use Revolution\Voicevox\Voicevox;

$response = Voicevox::talk('ララベルが好きなのだ', id: 1)
    ->generate(id: 1);

$response->storeAs('engine', 'talk.wav');

Activation/désactivation de l’API du moteur et fallback

'engine' => [
    'disabled' => env('VOICEVOX_ENGINE_DISABLED', false),
    'fallback_url' => env('VOICEVOX_ENGINE_FALLBACK_URL', 'http://127.0.0.1:50021'),
],
Les endpoints non encore implémentés comme cancellable_synthesis ou multi_synthesis peuvent être relayés en fallback vers le moteur officiel.
Pour utiliser le fallback, démarrez le moteur officiel à l’URL indiquée par VOICEVOX_ENGINE_FALLBACK_URL.

État de la prise en charge côté Talk

EndpointVersion LaravelFallbackRemarque
POST /audio_queryenable_katakana_english non pris en charge
POST /accent_phrasesenable_katakana_english non pris en charge
POST /synthesis
POST /mora_data
POST /mora_length
POST /mora_pitch
GET /speakers
GET /speaker_infoL’installation des ressources est nécessaire
POST /cancellable_synthesisUniquement en fallback
POST /multi_synthesisUniquement en fallback

Endpoint TTS compatible OpenAI

POST /v1/audio/speech accepte le même format de requête que l’API de synthèse vocale d’OpenAI. Il suffit de changer la Base URL pour l’utiliser depuis Laravel AI SDK et de nombreux outils compatibles avec l’API OpenAI.
curl -s -X POST "http://127.0.0.1:50513/v1/audio/speech" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "voicevox",
    "input": "ララベルが好きなのだ",
    "voice": "ずんだもん"
  }' \
  > talk.wav

Paramètres

ParamètreDescription
inputTexte à lire (jusqu’à 4096 caractères)
voiceID de style (numérique), alias (ずんだもん, 四国めたん…) ou nom de voix OpenAI (alloy, shimmer…)
speedVitesse de lecture. Appliquée comme speedScale (0.25 à 4.0, 1.0 par défaut)
response_formatRetourne toujours du wav. La valeur spécifiée est ignorée
Autres paramètresIgnorés
Les noms de voix OpenAI (alloy, shimmer…) sont une correspondance provisoire. Il n’existe pas de définition officielle pour associer les voix d’OpenAI aux personnages VOICEVOX ; cette correspondance existe donc pour la compatibilité. Nous recommandons d’utiliser les alias des personnages VOICEVOX (ずんだもん, 四国めたん/ノーマル, etc.).

Pages suivantes

API du moteur : Song

Découvrez l’utilisation de sing_frame_audio_query et frame_synthesis.

Intégration Laravel AI SDK

Découvrez la configuration pour utiliser VOICEVOX depuis la facade Audio.
Dernière modification le 13 juillet 2026