EmpirioLabs AI Speech

Turn text into natural speech with EmpirioLabs AI and save the audio file (MP3, WAV, and other formats). Use when the user asks to read text aloud, create a voiceover, narration, o…

EmpirioLabs AI

@empiriolabs

Install

$ openclaw skills install @empiriolabs/empiriolabs-speech

EmpirioLabs AI text to speech

Turn text into speech with the EmpirioLabs AI speech API. The bundled script picks a voice model, requests the audio, and saves the file.

Setup

  1. Create an API key at https://platform.empiriolabs.ai/dashboard/api-keys. Keys start with sk-empiriolabs-.
  2. Make the key available as EMPIRIOLABS_API_KEY in the environment where commands run. Never paste the key into a prompt or a file in the project.
  3. Python 3.8 or later. There is nothing to install.

Script paths below are relative to this skill's folder. On Windows, use python instead of python3.

Speak a line of text

python3 scripts/speech.py "Welcome to the weekly product update." --out ./audio/welcome.mp3

The file extension in --out selects the audio format when the model offers it (.mp3, .wav, .ogg, .flac). The script prints a JSON summary:

{
  "model": "tts-2",
  "files": ["/home/me/project/audio/welcome.mp3"],
  "urls": ["https://media.empiriolabs.ai/..."]
}

Some models return the audio directly, in which case urls is empty and the saved file is the only copy.

Longer scripts, voices, and languages

python3 scripts/speech.py --text-file ./script.txt --voice Olivia --out ./audio/narration.wav
python3 scripts/speech.py "Bonjour et bienvenue." --language fr-FR --out ./audio/bonjour.mp3
python3 scripts/speech.py --list-voices --model tts-2

Each model has a per-request text limit (for example 2,000 characters). The script stops with a clear message when the text is longer; split long scripts at sentence boundaries and generate one file per part.

Options

OptionMeaning
--model IDUse a specific model, for example tts-2 or qwen-audio-3-0-tts.
--voice NAMEVoice for the chosen model. See --list-voices.
--language CODELanguage or locale, for example en-US, on models that accept it.
--format FMTAudio format such as mp3 or wav. Default: taken from --out.
--speed XSpeaking rate on models that accept it (1.0 is normal).
--text-file PATHRead the text from a UTF-8 file.
--param key=valueAny other model parameter, for example --param temperature=0.8.
--out PATHFile or directory to save to (default: current directory).
--overwriteReplace an existing file. By default a numeric suffix is added instead.

Choose a model and check prices

python3 scripts/speech.py --list-models

Speech is billed by characters or tokens at the model's listed price. * marks the model used when --model is omitted. For a model's voices, formats, and limits, use the empiriolabs-models skill (models.py --show MODEL_ID).

Exit codes and errors

Other ways to connect

The same models are available through the EmpirioLabs AI remote MCP server at https://mcp.empiriolabs.ai/mcp (OAuth sign-in, or the API key as a bearer token). Setup: https://docs.empiriolabs.ai/mcp. API reference: https://docs.empiriolabs.ai.

Top skills in this category