Passport-style Hepburn romanization requires specific handling for っ (double consonants), ん (n→m before b/p), and long vowels. Torify gets all the edge cases right.
https://torify.dev/v1/name/romanize
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
name |
string | Yes | Japanese name in kana | やまだ たろう |
order |
string | No | family-first or given-first | family-first |
{ "ok": true, "data": { "input": "やまだ たろう", "romaji": "YAMADA Taro", "order": "family-first" } }
curl "https://torify.dev/v1/name/romanize?name=%E3%82%84%E3%81%BE%E3%81%A0%20%E3%81%9F%E3%82%8D%E3%81%86"
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/name/romanize?name=%E3%82%84%E3%81%BE%E3%81%A0%20%E3%81%9F%E3%82%8D%E3%81%86'
);
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/name/romanize?name=%E3%82%84%E3%81%BE%E3%81%A0%20%E3%81%9F%E3%82%8D%E3%81%86",
headers={"X-API-Key": "your_torify_pro_key"}
)
print(res.json())
/v1/name/split — Japanese Name Split API: Surname / Given Name Separation
/v1/name/validate — Japanese Name Validation API: Jinmei Kanji Check
/v1/kana/convert — Japanese Kana Conversion API
/v1/text/normalize — Japanese Text Normalization API