Install
openclaw skills install @empiriolabs/empiriolabs-transcribeTranscribe audio or video files to text with EmpirioLabs AI, from an https URL or a local file. Use when the user asks for a transcript of a recording, meeting, interview, podcast, voice note, or video, wants speaker-labeled text, or needs the spoken words as text for notes, summaries, or captions. Runs a bundled Python script that picks a transcription model from the live catalog (or the one you name) and waits for the result.
openclaw skills install @empiriolabs/empiriolabs-transcribeTurn speech in an audio or video file into text with the EmpirioLabs AI transcription API. Transcription runs as a job: the bundled script submits the file, waits, and prints the transcript.
sk-empiriolabs-.EMPIRIOLABS_API_KEY in the environment where commands run. Never paste the key into a prompt or a file in the project.Script paths below are relative to this skill's folder. On Windows, use python instead of python3.
python3 scripts/transcribe.py https://example.com/interview.mp3
python3 scripts/transcribe.py ./recordings/meeting.m4a --out ./notes/meeting.txt
The source can be an https URL to an audio or video file, or a local file, which the script uploads. Without --out, the transcript is printed to stdout. With --out, it is saved (a .json path saves the full result, including timing data where the model returns it) and a JSON summary is printed:
{
"model": "whisper-large-v3-turbo",
"job_id": "...",
"file": "/home/me/project/notes/meeting.txt",
"characters": 5321
}
python3 scripts/transcribe.py https://example.com/panel.mp4 --model deepgram-nova-3 --diarize --out ./panel.json
python3 scripts/transcribe.py ./voice-note.ogg --language es
python3 scripts/transcribe.py ./call.wav --json # full result with segments and words
python3 scripts/transcribe.py https://example.com/webinar.mp3 --no-wait # prints the job id
python3 scripts/transcribe.py --job-id JOB_ID --out ./webinar.txt # waits, then saves
If --timeout (default 1800 seconds) runs out, the job keeps running. The script exits with code 3 and prints the --job-id command that resumes it.
| Option | Meaning |
|---|---|
--model ID | Use a specific model, for example whisper-large-v3-turbo or deepgram-nova-3. |
--language CODE | Spoken language hint, for example en, on models that accept it. |
--diarize | Label speakers, on models that support it. |
--param key=value | Any other model parameter, for example --param smart_format=true. |
--out PATH | Save the transcript (.txt) or the full result (.json). |
--json | Print the full result as JSON instead of plain text. |
--no-wait / --job-id ID | Submit and return, then resume later. |
python3 scripts/transcribe.py --list-models
Transcription is billed by audio length at the model's listed price. * marks the model used when --model is omitted. For a model's options, use the empiriolabs-models skill (models.py --show MODEL_ID).
0 success, 1 the request failed (the message says why), 2 invalid arguments or a missing file, 3 still running when --timeout ran out.HTTP 401: the key is missing or invalid. HTTP 402: add credits at https://platform.empiriolabs.ai/dashboard/billing. HTTP 413: the upload is too large; pass an https URL to the file instead.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.