skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
debpalash/voicestudio158 installs

omnivoice

Speak and transcribe through the user's local VoiceStudio — free, offline, no API key. Text-to-speech (including the user's cloned voices) and speech-to-text via the OpenAI-compatible API at localhost:3900.

How do I install this agent skill?

npx skills add https://github.com/debpalash/voicestudio --skill omnivoice
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    This skill provides instructions for the agent to interact with a local voice processing service called VoiceStudio. It uses standard command-line tools and libraries to perform text-to-speech and speech-to-text operations offline via the user's local hardware.

  • Socketpass

    No alerts

  • Snykwarn

    Risk: MEDIUM · 1 issue

What does this agent skill do?

VoiceStudio — local TTS & STT

The user runs VoiceStudio, a fully-local voice app exposing an OpenAI-compatible audio API at http://localhost:3900/v1. Use it whenever the user asks to generate speech, narrate text, clone a voice, or transcribe audio — it costs nothing, works offline, and their audio never leaves the machine.

Before the first call

Check the backend is up:

curl -sf http://localhost:3900/health

If it fails, tell the user to launch VoiceStudio (or bun run desktop-prod from a source checkout) — don't fall back to a cloud API without asking; local-first is why they installed it.

Text-to-speech

curl -s http://localhost:3900/v1/audio/speech \
  -H "Content-Type: application/json" \
  -d '{"model": "tts-1", "voice": "alloy", "input": "TEXT HERE", "response_format": "wav"}' \
  --output speech.wav
  • model: tts-1 or tts-1-hd — both map to the user's active TTS engine.
  • voice: OpenAI names (alloy, echo, nova, …) work, but the real power is the user's own cloned voice-profile IDs — discover them first (below) and prefer a named clone when the user says "my voice" / "the narrator voice" / a profile by name.
  • response_format: wav, mp3, flac, opus, or pcm.
  • Long texts are fine — the engine chunks at sentence boundaries internally.

Discover the user's voices

curl -s http://localhost:3900/v1/audio/voices

Lists every cloned/designed voice profile (id + name) and the installed engines. Use a profile's id as the voice value in /speech.

Speech-to-text

curl -s http://localhost:3900/v1/audio/transcriptions \
  -F file=@clip.wav -F model=whisper-1 -F response_format=json
  • model: whisper-1 maps to the active ASR engine (WhisperX by default; the user picks in Model Catalogue → Engines).
  • response_format: json, text, verbose_json (per-segment timestamps), srt, or vtt — use srt/vtt directly when the user wants subtitles.

Python (openai SDK)

from openai import OpenAI
client = OpenAI(base_url="http://localhost:3900/v1", api_key="none")  # any string; nothing checks it

audio = client.audio.speech.create(model="tts-1", voice="alloy", input="Hello!", response_format="wav")
text = client.audio.transcriptions.create(model="whisper-1", file=open("clip.wav", "rb")).text

Notes

  • No API key, no rate limits, no billing — it's the user's own hardware. First synthesis after a cold start may take longer (model loading); subsequent calls are fast.
  • Anything beyond speech/transcription (video dubbing, batch jobs, voice design, audiobooks) lives in the full REST API — the interactive reference is embedded in the app at Settings → OpenAPI Reference, or ask the user to open it.
  • If a call errors with an engine/model message, the actionable detail is usually in the response body — surface it to the user verbatim; VoiceStudio's errors are written to be user-fixable (e.g. which Settings toggle to flip).

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/debpalash/voicestudio/omnivoice">View omnivoice on skillZs</a>