Speech Synthesis
Select a voice and type your text to generate speech.
🎤
No voice selected
Click to select or add a voice
Inference Steps
32
Speed
1.0x
Generated audio
Voice Library
Create and manage your cloned voices. Voices are stored in your browser.
History
Your recent generations.
No generations yet
API
Use your HF token to call OmniVoice directly from your code or AI agents.
// Auth: set TOKEN to your HF token from https://huggingface.co/settings/tokens
const TOKEN = process.env.HF_TOKEN || "hf_...";
const BASE = "https://k2-fsa-omnivoice.hf.space/gradio_api";
const SESSION = crypto.randomUUID();
// 1. Upload
const form = new FormData();
form.append("files", audioFile);
const [path] = await fetch(`${BASE}/upload`, {
method: "POST",
headers: { Authorization: `Bearer ${TOKEN}` },
body: form
}).then(r => r.json());
// 2. Join queue
await fetch(`${BASE}/queue/join`, {
method: "POST",
headers: { "Content-Type": "application/json",
Authorization: `Bearer ${TOKEN}` },
body: JSON.stringify({
data: ["Text", "English",
{ path, meta: { _type: "gradio.FileData" },
orig_name: "voice.mp3" },
"", "", 32, 2.0, true, 1.0, 0, true, true],
fn_index: 0, session_hash: SESSION })
});
// 3. Stream SSE
const r = await fetch(
`${BASE}/queue/data?session_hash=${SESSION}`,
{ headers: { Authorization: `Bearer ${TOKEN}` } }
);
Use with AI agents — These API calls work great with Claude Code, Cursor, Windsurf, or any AI coding agent. Just paste the curl or Python snippet into your agent's context and ask it to clone a voice. The agent can use your
HF_TOKEN environment variable to authenticate. Works with MCP servers, automation scripts, and CI/CD pipelines too.