Korean TTS API and MCP quickstart
Soft Story Audio offers Korean text-to-speech through a REST API (OpenAPI 3.1) and an MCP server at https://softstoryaudio.com/mcp. Create an API key at /dashboard/keys, list the 189 voices, then call POST /api/v1/synthesize. API and MCP synthesis costs 320 credits per 1,000 characters (base rate, rounded up per request); SSA-2.0 requests with 분노 (angry), 슬픔 (sad) or 사랑 (warm) use 1.3x that.
Steps
- Create an API key at https://softstoryaudio.com/dashboard/keys (keys start with ssa_).
- List voices: GET /api/v1/voices with the header Authorization: Bearer <key>.
- Synthesize: POST /api/v1/synthesize. mode "sync" returns audio inline for one utterance up to 300 characters; otherwise you get 202 and a job.
- Poll the job with GET /api/v1/jobs/{id}?wait=10, then download GET /api/v1/jobs/{id}/audio.
- Or connect MCP: claude mcp add --transport http soft-story-audio https://softstoryaudio.com/mcp --header "Authorization: Bearer ssa_..."
REST API
The full reference and the OpenAPI 3.1 spec are at /docs and /api/v1/openapi.
curl -s https://softstoryaudio.com/api/v1/voices \
-H "Authorization: Bearer $SSA_API_KEY"MCP tools
Endpoint https://softstoryaudio.com/mcp — Streamable HTTP, stateless, JSON responses. The Authorization header is required on every request, including initialize.
- list_voices (free)
- synthesize (320 credits per 1,000 characters base; SSA-2.0 requests with 분노, 슬픔 or 사랑 use 1.3x)
- get_job (free)
- get_credits (free)
- list_models (free)
Limits and rules
120 requests/min and 16 concurrent renders. Failed renders are refunded automatically.
Emotion is Korean-only. Models: SSA-1.3 (default), SSA-1.2 and SSA-2.0 (beta: emotion acting with intensity for 분노 angry, 슬픔 sad and 사랑 warm).
Published AI-generated voice must be labelled as AI-generated under Korean law (AI Basic Act).
FAQ
- How much does the API cost?
- 320 credits per 1,000 characters (base rate), rounded up per request. SSA-2.0 requests with 분노, 슬픔 or 사랑 use 1.3x. Monthly API plans are listed at /pricing/api.
- Is there a synchronous mode?
- Yes. mode "sync" returns audio inline for one utterance up to 300 characters. Longer scripts run as async jobs.
- Which clients support the MCP server?
- Any client that supports HTTP MCP servers, for example Claude Code, Cursor, Windsurf and VS Code. Claude Desktop can connect through npx mcp-remote.
