Japanese TTS API for product and course narration — Audra

Japanese TTS pipelines live or die on reading hints: kanji with several readings, mixed kana/romaji, and number counters. Five ja Essential presets handle narration-grade Japanese behind the same OpenAI-compatible endpoint your English pipeline already uses.

Japanese voice slugs on Essential

Japanese-specific pitfalls

Example request in Japanese (ja-JP)

curl
curl https://audratalks.com/v2/speech \
  -H "Authorization: Bearer sk-live-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"audra-essential","text":"\u7b2c\u4e09\u8ab2\u3078\u3088\u3046\u3053\u305d\u3002\u3053\u306e\u7ae0\u3067\u306f\u30ec\u30f3\u30c0\u30ea\u30f3\u30b0\u30ad\u30e5\u30fc\u306e\u4ed5\u7d44\u307f\u3068\u3088\u304f\u3042\u308b\u554f\u984c\u3092\u6271\u3044\u307e\u3059\u3002","voice":"sora","language":"ja-JP","format":"mp3"}' \
  --output out.mp3
Python
import requests

r = requests.post(
    "https://audratalks.com/v2/speech",
    headers={"Authorization": "Bearer sk-live-YOUR_KEY"},
    json={
        "model": "audra-essential",
        "text": '第三課へようこそ。この章ではレンダリングキューの仕組みとよくある問題を扱います。',
        "voice": "sora",
        "language": "ja-JP",
        "format": "mp3",
    },
    timeout=120,
)
r.raise_for_status()
open("out.mp3", "wb").write(r.content)
JavaScript
import { writeFile } from "node:fs/promises";

const res = await fetch("https://audratalks.com/v2/speech", {
  method: "POST",
  headers: {
    Authorization: "Bearer sk-live-YOUR_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "audra-essential",
    text: '第三課へようこそ。この章ではレンダリングキューの仕組みとよくある問題を扱います。',
    voice: "sora",
    language: "ja-JP",
    format: "mp3",
  }),
});

if (!res.ok) throw new Error(await res.text());
await writeFile("out.mp3", Buffer.from(await res.arrayBuffer()));

Render a real chapter through sora — API key at /dashboard with 25k free characters.

FAQ

How do I force a specific kanji reading?

Add an account lexicon entry (/docs) mapping the term to kana, or rewrite the phrase in kana for that occurrence.

Does the ja set cost extra?

No — Japanese is one of the ten Essential languages at $25/1M characters before engine multipliers.

Can I mix Japanese and English product names in one script?

Yes, but test each name — readings of Latin script depend on context; a lexicon entry pins recurring brand names.

Voice previews: /voices. Long serialized content: one chapter per jobs request over 50k characters.