Japanese systems often require specific kana variants — full-width katakana for legal documents, half-width katakana for legacy systems. Torify converts between all three.
https://torify.dev/v1/kana/convert
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
text |
string | Yes | Japanese text | みずほぎんこう |
to |
string | Yes | hiragana | katakana | halfKatakana | katakana |
{ "ok": true, "data": { "input": "みずほぎんこう", "output": "ミズホギンコウ" } }
curl "https://torify.dev/v1/kana/convert?text=%E3%81%BF%E3%81%9A%E3%81%BB%E3%81%8E%E3%82%93%E3%81%93%E3%81%86&to=katakana"
import { wrapFetchWithPayment } from 'x402-fetch';
import { privateKeyToAccount } from 'viem/accounts';
const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`);
const fetchWithPayment = wrapFetchWithPayment(fetch, account);
const res = await fetchWithPayment(
'https://torify.dev/v1/kana/convert?text=%E3%81%BF%E3%81%9A%E3%81%BB%E3%81%8E%E3%82%93%E3%81%93%E3%81%86&to=katakana'
);
const data = await res.json();
console.log(data); // { ok: true, data: { ... } }
import requests
# Free MCP tier (no auth) or API key (X-API-Key header)
res = requests.get(
"https://torify.dev/v1/kana/convert?text=%E3%81%BF%E3%81%9A%E3%81%BB%E3%81%8E%E3%82%93%E3%81%93%E3%81%86&to=katakana",
headers={"X-API-Key": "your_torify_pro_key"}
)
print(res.json())
/v1/name/romanize — Japanese Name Romanization API: Passport-Style Hepburn
/v1/name/split — Japanese Name Split API: Surname / Given Name Separation
/v1/name/validate — Japanese Name Validation API: Jinmei Kanji Check
/v1/text/normalize — Japanese Text Normalization API