Skip to content

keryx voice lexicon sync

Description

Push the rules in pronunciation.yaml to the voice provider's pronunciation dictionary (spec 0022 R-GEN-35). This is the one verb that calls the provider; list and add are offline.

Usage

keryx voice lexicon sync [--dict <id>] [--theme <kw>] [--name <label>] [--file pronunciation.yaml]
keryx voice lexicon sync                          # into the default reel theme's dictionary
keryx voice lexicon sync --theme editorial        # into the 'editorial' reel theme's dictionary
keryx voice lexicon sync --dict SQnFpW9tuADX8ugtpo00
keryx voice lexicon sync --name phpboyscout-reels # create a new dictionary

Behaviour

Which dictionary the rules land in:

  1. --dict <id> if given, else
  2. the voice.pronunciation of the reel theme named by --theme (default: the default reel theme) — the same dictionary synthesis attaches for that theme, so a matching-theme sync targets what the pipeline actually uses, else
  3. create a new dictionary (named --name, defaulting to keryx-lexicon) and print its new id plus the theme line to set so synthesis uses it.

  4. Rules are upserted — a re-declared word replaces its existing rule; the sync returns the dictionary's new version. Words removed from the file are not pruned from the dictionary in this version.

  5. Errors cleanly on an empty/missing rules file (before any provider call), and when the configured voice provider does not support dictionary management.

Flags

Flag Description Default Required
--file pronunciation rules file pronunciation.yaml
--dict dictionary id to sync into (empty creates a new dictionary) resolved reel theme's voice.pronunciation
--theme reel theme whose dictionary to sync into default reel theme
--name name for a newly created dictionary (only used when creating) keryx-lexicon

Credentials

sync needs the ElevenLabs credential (ELEVENLABS_API_TOKEN) like the other generation commands — resolved from the environment or the GTB keychain, never config.