Zum Hauptinhalt springen

Was ist der Engine-API-Modus?

Der Engine-API-Modus stellt in einer Laravel-Anwendung eine HTTP-API bereit, die mit der offiziellen VOICEVOX-Engine kompatibel ist. Sobald Sie die Anwendung mit php artisan serve --port=50513 starten, können Sie /audio_query und /synthesis direkt verwenden.

Vorbereitung

1

VOICEVOX Core für PHP einrichten

Folgen Sie den Schritten unter Installation und Konfiguration, um voicevox-core-php und die Core-Library bereitzustellen.
2

Umgebungsvariablen setzen und FFI aktivieren

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

Charakter-Ressourcen installieren

php artisan voicevox:install

Laravel-Version der Engine starten

php artisan serve --port=50513
Standardmäßig läuft sie unter http://127.0.0.1:50513.

Zum Port 50513

Der Standardport der offiziellen VOICEVOX-Engine ist 50021. Damit die Laravel-Version und die offizielle Engine parallel gestartet werden können, ist als Standardport 50513 festgelegt. Da nur --port=50513 beim Start übergeben wird, ist auch die Nutzung anderer Ports wie --port=8000 problemlos möglich.
Die offizielle Engine passt den Port automatisch auf einen freien Port ab 50022 an, falls der aktuelle Port belegt ist. Auch php artisan serve passt auf 8001 ff. an, wenn --port nicht angegeben wird; bei angegebenem --port schlägt der Start dagegen fehl, falls der Port belegt ist. Es wird empfohlen, einen Port festzulegen, der mit anderen Diensten unwahrscheinlich kollidiert. 50513 ist ein Beispiel dafür.

Talk-Audio generieren

1. audio_query erstellen

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

2. Sprachsynthese mit 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

Verwendung aus einem Laravel-Client

Sie können die Laravel-Version der Engine als Verbindungsziel im Client-Modus verwenden.
// 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');

Aktivierung/Deaktivierung der Engine-API und Fallback

'engine' => [
    'disabled' => env('VOICEVOX_ENGINE_DISABLED', false),
    'fallback_url' => env('VOICEVOX_ENGINE_FALLBACK_URL', 'http://127.0.0.1:50021'),
],
Nicht implementierte Endpunkte wie cancellable_synthesis oder multi_synthesis können auf die offizielle Engine gefallbackt werden.
Wenn Sie den Fallback nutzen, starten Sie die offizielle Engine unter VOICEVOX_ENGINE_FALLBACK_URL.

Unterstützungsstatus der Talk-Endpunkte

EndpunktLaravel-VersionFallbackHinweise
POST /audio_queryenable_katakana_english nicht unterstützt
POST /accent_phrasesenable_katakana_english nicht unterstützt
POST /synthesis
POST /mora_data
POST /mora_length
POST /mora_pitch
GET /speakers
GET /speaker_infoRessourceninstallation erforderlich
POST /cancellable_synthesisNur Fallback
POST /multi_synthesisNur Fallback

OpenAI-kompatibler TTS-Endpunkt

Mit POST /v1/audio/speech wird dasselbe Request-Format wie die OpenAI-Sprachsynthese-API akzeptiert. Durch reine Änderung der Base URL kann er unter anderem aus dem Laravel AI SDK und vielen anderen OpenAI-kompatiblen Tools verwendet werden.
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

Parameter

ParameterBeschreibung
inputZu sprechender Text (max. 4096 Zeichen)
voiceStyle-ID (numerisch), Alias (ずんだもん, 四国めたん usw.) oder OpenAI-Voice-Name (alloy, shimmer usw.)
speedWiedergabegeschwindigkeit. Wird als speedScale angewendet (0,25–4,0, Standard 1,0)
response_formatEs wird immer WAV zurückgegeben. Angegebene Werte werden ignoriert.
Weitere ParameterWerden ignoriert.
Die OpenAI-Voice-Namen (alloy, shimmer usw.) sind vorläufige Zuweisungen. Da es keine definierte Zuordnung zwischen den Klangeigenschaften der einzelnen OpenAI-Voices und VOICEVOX-Charakteren gibt, wird zur Kompatibilität pragmatisch gemappt. Es wird empfohlen, die VOICEVOX-Charakter-Aliase (ずんだもん, 四国めたん/ノーマル usw.) zu verwenden.

Nächste Seiten

Engine-API: Song

Verwendung von sing_frame_audio_query und frame_synthesis.

Laravel-AI-SDK-Integration

Konfiguration zur Nutzung von VOICEVOX über die Audio-Facade.
Zuletzt geändert am 13. Juli 2026