SHITATE VOICE API

あなたのアプリに、
「その人の言葉」を。

メールだけで登録。APIキーを発行して、入力文を本人ならどう言うかに仕立てます。

STEP 1APIキーを発行する

メールアドレスを入れると、すぐに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入力が不正(空・長すぎる・メール形式)
401APIキーが無効
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 までご相談ください。