Media & agents

Text to speech

Text → natural speech audio, ready to embed. Voice notes, IVR lines, narration.

POST /v1/speak$0.05/clip · 5 credits, charged only on success

Send this

{
  "text": "Your order has shipped and will arrive Thursday.",
  "pace": "normal"
}

Every response carries usage — the credits burned and your remaining balance. A failed call never burns credits.

Try it live against your own key in the interactive reference; every account gets 500 free credits a month, no card.

Get this back

{
  "audio": "<base64…>",
  "mimeType": "audio/wav",
  "durationSec": 3.4,
  "usage": {
    "credits": 5,
    "balanceRemaining": 200
  }
}

Four ways in. Same $0.05/clip.

curl
curl https://api.kynth.studio/v1/speak \
  -H "Authorization: Bearer ksk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"text":"Your order has shipped and will arrive Thursday.","pace":"normal"}'
TypeScript
import { KynthCore } from "@kynth/api";

const kynth = new KynthCore({ apiKey: process.env.KYNTH_API_KEY! });
const result = await kynth.speak({
  "text": "Your order has shipped and will arrive Thursday.",
  "pace": "normal"
});
Python
from kynth import Kynth

client = Kynth(api_key=os.environ["KYNTH_API_KEY"])
result = client.speak(
    text="Your order has shipped and will arrive Thursday.",
    pace="normal",
)
MCP
// One-time setup in your MCP client (Claude, Cursor, …):
{ "mcpServers": { "kynth-core": {
    "command": "npx", "args": ["@kynth/api-mcp"],
    "env": { "KYNTH_API_KEY": "ksk_live_…" } } } }

// Then the agent just calls the kynth_speak tool.

More from media & agents