avacast
写真から作ったアバターをリアルタイムに喋らせる API (日本製)。会話の開始・発話・利用状況を tool で扱う。API キーは管理画面で発行
我該用這個嗎
品質與安全性
發現項目(11)
- LOW在 get_integration_guide 中
- LOW在 create_session 中
- LOW在 interrupt 中
- LOW在 get_session 中
- LOW在 end_session 中
- LOW在 set_spending_cap 中
- LOW在 get_account 中
- LOW在 resend_verification 中
- LOW在 list_sessions 中
- LOW在 get_billing_portal 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"avacast": {
"url": "https://api.avacast.jp/api/v1/mcp"
}
}
}遠端端點
https://api.avacast.jp/api/v1/mcpstreamable-http它能做什麼
工具清單
工具(21)
🟢get_integration_guide
avacast の組み込み方 (セッションの作り方、ブラウザ SDK、REST API、エラーコード) を Markdown で返します。
輸入結構描述
{
"type": "object",
"properties": {}
}🟢list_plans
プランごとの月額・含まれる接続分数・同時セッション数・1 セッションの最大長・アバター数を返します。まず Free (signup) で試し、足りなければ create_checkout で有料化します。
輸入結構描述
{
"type": "object",
"properties": {}
}⚪signup(email)
メールアドレスで avacast のアカウントを作り、その場で API キーと確認リンク (verify_url) を返します (パスワード不要)。受け取ったキーで接続し直せばすぐ使えます。利用者に verify_url を開いてもらうと無料枠の上限 (同時 2・月 30 分・アバター作成可) に広がります。開かれないと 1 時間で消えます。
輸入結構描述
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "利用者のメールアドレス"
}
},
"required": [
"email"
]
}🟢list_avatars(api_key)
使えるアバター (プリセットと、このテナントで作った ready のもの) を返します。create_session の avatar_id にはここの id を使います。 (api_key が必要: signup で受け取ったキー)
輸入結構描述
{
"type": "object",
"properties": {
"api_key": {
"type": "string",
"description": "API キー (sk_live_…)"
}
},
"required": [
"api_key"
]
}🟡create_session(avatar_id, language, voice_id, speed, idle_timeout_seconds, ...)
アバターの枠を確保し、ブラウザへ渡す client_token と WebRTC の接続情報を返します。課金はセッションが開いていた時間で数えるので、終わったら end_session してください。 (api_key が必要: signup で受け取ったキー)
輸入結構描述
{
"type": "object",
"properties": {
"avatar_id": {
"type": "string",
"description": "list_avatars の id"
},
"language": {
"type": "string",
"description": "読み上げ言語 (既定 ja)"
},
"voice_id": {
"type": "string",
"description": "声。edge-tts の音声名 (例 ja-JP-NanamiNeural) か gemini:<声>:<性別>:<年代>:<調子>。省略でアバターの既定"
},
"speed": {
"type": "number",
"description": "発話速度 0.8〜1.2 (既定 1.0)"
},
"idle_timeout_seconds": {
"type": "number",
"description": "無発話で自動終了する秒数 30〜1800 (既定 180)"
},
"metadata": {
"type": "object",
"description": "自由なラベル"
},
"api_key": {
"type": "string",
"description": "API キー (sk_live_…)"
}
},
"required": [
"avatar_id",
"api_key"
]
}⚪speak(session_id, text, api_key)
セッションのアバターにテキストを喋らせます (キューに積まれ、順に発話)。ブラウザ SDK が接続 (session.start) してから呼んでください。接続前は session_not_connected になります。 (api_key が必要: signup で受け取ったキー)
輸入結構描述
{
"type": "object",
"properties": {
"session_id": {
"type": "string"
},
"text": {
"type": "string",
"description": "喋らせる文"
},
"api_key": {
"type": "string",
"description": "API キー (sk_live_…)"
}
},
"required": [
"session_id",
"text",
"api_key"
]
}⚪interrupt(session_id, api_key)
発話中の文を止め、キューに残っている文を捨てます。 (api_key が必要: signup で受け取ったキー)
輸入結構描述
{
"type": "object",
"properties": {
"session_id": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "API キー (sk_live_…)"
}
},
"required": [
"session_id",
"api_key"
]
}🟢get_session(session_id, api_key)
セッションの状態 (active/ended)、キューの長さ、接続時間、有効期限を返します。 (api_key が必要: signup で受け取ったキー)
輸入結構描述
{
"type": "object",
"properties": {
"session_id": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "API キー (sk_live_…)"
}
},
"required": [
"session_id",
"api_key"
]
}🔴end_session(session_id, api_key)
セッションを閉じて GPU の枠を返します。閉じ忘れは請求に乗ります。 (api_key が必要: signup で受け取ったキー)
輸入結構描述
{
"type": "object",
"properties": {
"session_id": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "API キー (sk_live_…)"
}
},
"required": [
"session_id",
"api_key"
]
}🟢get_usage(api_key)
当月の接続時間 (請求の根拠)、発話時間、セッション数と、プランの上限を返します。cap_period は上限を数える期間 (有料プランは請求期間) の接続時間と、止まる上限 (プランの上限と set_spending_cap の小さい方) です。 (api_key が必要: signup で受け取ったキー)
輸入結構描述
{
"type": "object",
"properties": {
"api_key": {
"type": "string",
"description": "API キー (sk_live_…)"
}
},
"required": [
"api_key"
]
}🟡create_api_key(name, environment, api_key)
このテナントに API キーをもう 1 本発行します (本番用 live / テスト用 test)。平文は今回だけ返します。 (api_key が必要: signup で受け取ったキー)
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "管理画面に出る名前 (例: staging)"
},
"environment": {
"type": "string",
"enum": [
"live",
"test"
],
"description": "既定 live"
},
"api_key": {
"type": "string",
"description": "API キー (sk_live_…)"
}
},
"required": [
"name",
"api_key"
]
}🟡create_checkout(plan, confirm, api_key)
有料プラン (starter / standard / business) に申し込む・変えます。まだ有料プランでなければ Stripe Checkout の URL を返すので、利用者に開いてカードを入力してもらってください (人の手はこの 1 回だけ)。既に有料プランなら Checkout は作らず購読そのものを変えます: 上位へは即時 (基本料の差額を日割りで今すぐ請求)、下位へは次の請求期間から。購読の変更は confirm: true を付けたときだけ実行し、付けなければ何が起きるかを返します (利用者に確かめてから付けてください)。金額は税抜の月額で、超過分は従量です。メールアドレスの確認が済んでいる必要があります。 (api_key が必要: signup で受け取ったキー)
輸入結構描述
{
"type": "object",
"properties": {
"plan": {
"type": "string",
"enum": [
"starter",
"standard",
"business"
],
"description": "申し込む・変えるプラン"
},
"confirm": {
"type": "boolean",
"description": "既に有料プランのとき、true で変更を実行する (課金が発生する)"
},
"api_key": {
"type": "string",
"description": "API キー (sk_live_…)"
}
},
"required": [
"plan",
"api_key"
]
}🟡set_spending_cap(minutes, api_key)
月間 (有料プランは請求期間) の接続時間の上限を分で決めます。上限に達すると新しいセッションは作れなくなり、上限を超える料金は発生しません。null で上限なし。 (api_key が必要: signup で受け取ったキー)
輸入結構描述
{
"type": "object",
"properties": {
"minutes": {
"type": [
"integer",
"null"
],
"description": "上限 (分)。null で上限なし"
},
"api_key": {
"type": "string",
"description": "API キー (sk_live_…)"
}
},
"required": [
"minutes",
"api_key"
]
}🟢get_account(api_key)
テナント名・プラン・上限・メール確認の有無・API キーの一覧を返します。セッションやアバターが作れないときは、まずこれで上限と確認状態を見てください。 (api_key が必要: signup で受け取ったキー)
輸入結構描述
{
"type": "object",
"properties": {
"api_key": {
"type": "string",
"description": "API キー (sk_live_…)"
}
},
"required": [
"api_key"
]
}⚪resend_verification(api_key)
メール未確認のテナントの確認リンクを再発行して返し、メールにも送ります。利用者に開いてもらうと無料枠の上限になります。 (api_key が必要: signup で受け取ったキー)
輸入結構描述
{
"type": "object",
"properties": {
"api_key": {
"type": "string",
"description": "API キー (sk_live_…)"
}
},
"required": [
"api_key"
]
}🟢list_sessions(limit, api_key)
直近のセッション (最大 50 件) と状態・終了理由・接続秒数を返します。繋がらない・すぐ切れる問題の切り分けに使います。 (api_key が必要: signup で受け取ったキー)
輸入結構描述
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "件数 (既定 20、最大 50)"
},
"api_key": {
"type": "string",
"description": "API キー (sk_live_…)"
}
},
"required": [
"api_key"
]
}🟢list_voices(api_key)
使える声 (voice_id) の一覧。create_session の voice_id や create_avatar の voice_id に使います。日本語の標準 2 声は無料、年代つきの声は Gemini-TTS です。 (api_key が必要: signup で受け取ったキー)
輸入結構描述
{
"type": "object",
"properties": {
"api_key": {
"type": "string",
"description": "API キー (sk_live_…)"
}
},
"required": [
"api_key"
]
}🟢get_billing_portal(api_key)
Stripe の顧客ポータルの URL を返します (支払い方法の変更・領収書・解約)。有料プランの契約後に使えます。 (api_key が必要: signup で受け取ったキー)
輸入結構描述
{
"type": "object",
"properties": {
"api_key": {
"type": "string",
"description": "API キー (sk_live_…)"
}
},
"required": [
"api_key"
]
}🟡create_avatar(name, image_base64, image_url, voice_gender, voice_id, ...)
正面・明るい・口を閉じた 1 人の写真 (PNG/JPEG、6MB まで) からアバターを作ります。生成に 2〜3 分かかるので get_avatar で ready になるのを待ってください。メール確認済みのテナントでのみ作れます。プランごとに作れる数に上限があります。 (api_key が必要: signup で受け取ったキー)
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "一覧に出す名前 (60 文字まで)"
},
"image_base64": {
"type": "string",
"description": "画像の base64 (data URL 可)"
},
"image_url": {
"type": "string",
"description": "画像の URL (image_base64 の代わり)"
},
"voice_gender": {
"type": "string",
"enum": [
"female",
"male"
],
"description": "声の性別 (既定 female)"
},
"voice_id": {
"type": "string",
"description": "既定の声 (省略で言語 × 性別の既定)"
},
"api_key": {
"type": "string",
"description": "API キー (sk_live_…)"
}
},
"required": [
"name",
"api_key"
]
}🟢get_avatar(avatar_id, api_key)
自分で作ったアバターの状態 (preparing / ready / failed) と失敗理由を返します。 (api_key が必要: signup で受け取ったキー)
輸入結構描述
{
"type": "object",
"properties": {
"avatar_id": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "API キー (sk_live_…)"
}
},
"required": [
"avatar_id",
"api_key"
]
}🔴delete_avatar(avatar_id, api_key)
自分で作ったアバターを消します (プリセットは消せません)。過去のセッションの記録は残ります。 (api_key が必要: signup で受け取ったキー)
輸入結構描述
{
"type": "object",
"properties": {
"avatar_id": {
"type": "string"
},
"api_key": {
"type": "string",
"description": "API キー (sk_live_…)"
}
},
"required": [
"avatar_id",
"api_key"
]
}建議的提示詞
get_integration_guideget_integration_guidelist_planslist_planslist_plansget_integration_guide社群
證據