認証
すべての Shisa サービスは、共通ホスト https://api.shisa.ai 上で HTTPS 経由でアクセスし、API キーで認証します。本ガイドでは、キーの取得方法、安全な管理方法、そして各サービスが要求する正確な Authorization ヘッダーについて説明します。
API キーを取得する
キーの作成と管理は Shisa プラットフォーム で行います。新規アカウントには $10 分の無料 API クレジットが付属しており、これは LLM、ASR、TTS、翻訳のすべてのサービスで利用できます。そのため、支払い方法を追加する前にすべてを試すことができます。
キーを秘密に保つ
API キーは、アカウントのクレジットとクォータへのアクセスを許可します。パスワードと同じように扱ってください。
- キーをソース管理にコミットしないでください。 代わりに、たとえば
SHISA_API_KEYのような環境変数から読み込みます。 - キーをクライアントサイドのコードに埋め込まないでください — ブラウザの JavaScript、モバイルアプリ、ユーザーが調べられるものすべてが対象です。自分のバックエンドから Shisa を呼び出し、リクエストをプロキシしてください。
- 漏洩した疑いがある場合はすぐにキーをローテーションし、使用していないキーは削除してください。
# Set the key once in your shell or deployment environment
export SHISA_API_KEY="YOUR_API_KEY"
フロントエンドのコードや公開リポジトリに API キーを露出させないでください。漏洩したキーは、取り消すまでクレジットを消費するために使われる可能性があります。キーはサーバーサイドに保持し、環境から読み込んでください。
サービスごとのヘッダー規約
Authorization ヘッダーは意図的にサービスごとに異なります — 各呼び出しで正確に一致させてください。ASR と翻訳で使われる shsk: プレフィックスに注意してください。また、翻訳では Bearer キーワードを使用しない点にも注意してください。
| Service | Endpoint | Authorization header |
|---|---|---|
| LLM | POST /openai/v1/chat/completions | Authorization: Bearer YOUR_API_KEY |
| TTS | POST /tts, GET /tts/voices | Authorization: Bearer YOUR_API_KEY |
| ASR | POST /asr/srt/audio_llm | Authorization: Bearer shsk:YOUR_API_KEY |
| Translation | POST /translate/ | Authorization: shsk:YOUR_API_KEY |
LLM — Bearer YOUR_API_KEY
Shisa LLM は OpenAI 互換で、標準的なベアラートークンを使用します。完全な例については LLM クイックスタートを参照してください。
curl -XPOST https://api.shisa.ai/openai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $SHISA_API_KEY" \
-d '{"model": "shisa-ai/shisa-v2.1-llama3.3-70b", "messages": [{"role": "user", "content": "こんにちは"}]}'
TTS — Bearer YOUR_API_KEY
Text-to-Speech も標準的なベアラートークンを使用します。
curl -XGET https://api.shisa.ai/tts/voices \
-H "Authorization: Bearer $SHISA_API_KEY"
ASR — Bearer shsk:YOUR_API_KEY
音声認識はベアラートークンを使用しますが、ヘッダー内ではキーに shsk: プレフィックスが付きます。
curl -XPOST https://api.shisa.ai/asr/srt/audio_llm \
-H "Authorization: Bearer shsk:$SHISA_API_KEY" \
-F "audio=@sample.wav"
Translation — shsk:YOUR_API_KEY(Bearer なし)
翻訳も shsk: プレフィックスを使用しますが、Bearer キーワードは完全に省略します — ヘッダーの値は shsk: の後にキーを続けるだけです。
curl -XPOST https://api.shisa.ai/translate/ \
-H "Content-Type: application/json" \
-H "Authorization: shsk:$SHISA_API_KEY" \
-d '{"text": "Hello", "target": "ja"}'
リクエストが HTTP 401 と Authentication error: Invalid token のようなエラーで失敗した場合、最も一般的な原因はヘッダーの形式が間違っていることです — たとえば、shsk: プレフィックスなしで素のベアラートークンを ASR や翻訳に送信した場合などです。エラーの完全な形については エラーを参照してください。