Skip to main content
Presets let you save and reuse common synthesis parameter combinations on the official VOICEVOX engine. In client mode, presets are managed entirely by the connected official engine — Laravel does not store preset data locally.

Overview

The client mode presets are operated through the Voicevox facade. Internally it sends HTTP requests to the official VOICEVOX engine endpoints /presets, /add_preset, /update_preset, /delete_preset, and /audio_query_from_preset. The official engine stores presets in the OS user area as presets.yaml. On macOS (VOICEVOX app product build), the default path is:
When running the official engine via Docker, data is stored inside the container’s user area. Data persists across container restarts as long as you reuse the same container. However, when creating a temporary container each time with docker run --rm, presets are lost when the container stops. Use a Docker volume to mount the container’s user area if you need persistence. This is separate from the native mode storage/voicevox/presets.json. The Laravel config('voicevox.core.presets') setting is not used in client mode.

Prerequisites

Start the official VOICEVOX engine.
The connection URL can be changed with VOICEVOX_URL.

Preset structure

Presets in client mode use the official engine API schema.

Basic usage

Create a preset

Use Voicevox::addPreset() to create a preset. Set id to 0 for auto-assignment.

Get all presets

Update a preset

Delete a preset

Synthesize with a preset

talkFromPreset()

Voicevox::talkFromPreset() uses the official engine’s /audio_query_from_preset to create a TalkAudioQuery with the preset already applied.

audioQueryFromPreset()

Use audioQueryFromPreset() to retrieve only the audio query array before synthesis.

Additional adjustment with tap()

A TalkAudioQuery created from a preset can be adjusted with tap(), just like Voicevox::talk().

Engine API mapping

Each Voicevox facade method maps to an official engine API endpoint.

Differences from native mode

Examples

Narration preset

Fast-talk preset

Parameter reference

  • speedScale: 0.5 to 2.0
  • pitchScale: -0.15 to 0.15
  • intonationScale: 0.0 to 2.0
  • volumeScale: 0.0 to 2.0
  • prePhonemeLength: 0.0 to 1.5 seconds
  • postPhonemeLength: 0.0 to 1.5 seconds

Notes

In client mode, the official engine’s presets.yaml is updated. Nothing is stored in your Laravel project’s storage.
  • With docker run --rm, presets are lost when the container exits.
  • Include both speaker_uuid and style_id in each preset.
  • When calling generate(id:) on a query built with talkFromPreset(), use the same ID as the preset’s style_id.

Troubleshooting

Presets are not found

  1. Confirm the official VOICEVOX engine is running.
  2. Check that VOICEVOX_URL points to the correct engine.
  3. Check whether a different Docker container was started.

Check preset file path

On the macOS product build, check:
In Docker, presets are inside the container’s user area. Mount that path as a Docker volume if persistence is required.

speaker_uuid is unknown

You can retrieve the speaker UUID from the speaker list.
Last modified on May 26, 2026