STEP 1APIキーを発行する
メールアドレスを入れると、すぐにAPIキーが発行されます。クレジットカードは不要です。
あなたのAPIキー
このキーは再表示できません。パスワード管理ツールなど安全な場所に保管してください。
STEP 2仕立てる
APIキーを Authorization: Bearer ヘッダに付けて POST /api/v1/restyle を呼びます。
curl
# YOUR_KEY を発行したキーに置き換える curl -X POST https://voice.shitate.ai/api/v1/restyle \ -H "Authorization: Bearer YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"person":"yuki","scene":"x_post","text":"新しい機能を追加しました。使ってみてください。"}'
レスポンス
{
"output": "新機能追加した。使ってみて!",
"person": "yuki",
"scene": "x_post"
}
Python
import requests r = requests.post( "https://voice.shitate.ai/api/v1/restyle", headers={"Authorization": "Bearer YOUR_KEY"}, json={"person": "yuki", "scene": "x_post", "text": "新しい機能を追加しました。"}, ) print(r.json()["output"])
JavaScript
const res = await fetch("https://voice.shitate.ai/api/v1/restyle", { method: "POST", headers: { "Authorization": "Bearer YOUR_KEY", "Content-Type": "application/json", }, body: JSON.stringify({ person: "yuki", scene: "x_post", text: "新しい機能を追加しました。" }), }); const { output } = await res.json();
REFERENCEエンドポイント
| メソッド | パス | 説明 |
|---|---|---|
| GET | /api/v1/persons | 使える話者と場面の一覧 |
| POST | /api/v1/restyle | 入力文を本人の言葉に仕立てる |
| POST | /api/v1/speak | 仕立てた文章を本人の声で読み上げ(MP3) |
| POST | /api/signup | メールからAPIキーを発行(認証不要) |
| POST | /api/create | 自分の文章から仕立てトークン st1.* を発行(認証不要・IP 10分20回) |
自分の仕立てを使う
POST /api/create に自分の文章(200〜12,000字)を送ると、st1.* トークンが返ります。このトークンを person の代わりに渡すと、あなたの仕立てで動きます(サーバに保存されません)。
# 仕立てトークンを発行(認証不要) curl -X POST https://voice.shitate.ai/api/create \ -H "Content-Type: application/json" \ -d '{"name":"山田太郎","samples":"自分の文章を200字以上..."}' # そのトークンで仕立てる curl -X POST https://voice.shitate.ai/api/v1/restyle \ -H "Authorization: Bearer YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"person":"st1.あなたのトークン","scene":"x_post","text":"伝えたい内容"}'
トークンは署名のみで暗号化されません。貼った文章の短い文が最大6つ、そのまま読める形で含まれます。秘密の文章は貼らないでください。
リクエスト本文
| 項目 | 型 | 説明 |
|---|---|---|
person | 文字列 | 話者ID(例: yuki) |
scene | 文字列 | x_post / script / polite / chat |
text | 文字列 | 仕立てたい文章(2000字まで) |
レート制限
APIキーごとに10分で120回まで。Web UI(キー不要)はIPごとに10分で20回までです。上限に達すると 429 を返します。
エラー
| コード | 意味 |
|---|---|
400 | 入力が不正(空・長すぎる・メール形式) |
401 | APIキーが無効 |
404 | 話者が存在しない |
429 | レート制限 |
502 | 仕立て・音声合成に失敗(再試行可) |
VOICE自分の声で読み上げる
仕立てトークンに声を紐づけると、/api/speak で自分の声の読み上げが得られます。声の登録・同意・年齢確認・削除はKOEが行います(録音1分・無料)。
# 1) 声の登録を始める(招待URLが返る)
curl -X POST https://voice.shitate.ai/api/voice/claim \
-H "Content-Type: application/json" -d '{}'
# → {"handle":"kayu41","enroll_url":"https://koe.live/enroll?t=..."}
# このURLで録音・同意・年齢確認を行う
# 2) 仕立てトークンに声を紐づける
curl -X POST https://voice.shitate.ai/api/voice/link \
-H "Content-Type: application/json" \
-d '{"token":"st1.あなたのトークン","voice":"kayu41"}'
# → {"style_token":"st1.(声つきトークン)"}
# 3) 自分の声で読み上げる
curl -X POST https://voice.shitate.ai/api/speak \
-H "Content-Type: application/json" \
-d '{"person":"st1.(声つきトークン)","text":"伝えたい内容"}' -o out.mp3
未連携の声はKOEの無料枠(月30回・1回600字まで)で読み上げます。連携済みの声は本人のteaiキーが必要です(x-teai-key ヘッダ、料金は本人負担)。
声のエンドポイント
| メソッド | パス | 説明 |
|---|---|---|
POST | /api/voice/claim | 声の登録招待URLを発行(録音・同意はKOE側) |
POST | /api/voice/link | 仕立てトークンに声を紐づけて再発行 |
GET | /api/voice/status | 声の準備状態を確認 |
POST | /api/speak | 声つきトークンで読み上げ(MP3を返す) |
PRINCIPLES設計原則
事実は足しません。入力に無い事実・数字・意見は加えず、言い方だけを変えます。
素材の主権。本人の許可を得た素材だけを使い、撤回で削除できます。
入力文は保存しません。処理のためだけに使い、サーバに残しません。
自社の話者(社長・担当者)で仕立てたい場合は info@enablerdao.com までご相談ください。