ASR クイックスタート
このガイドでは、Shisa ASR に対して最初の文字起こしを行います。API キーが必要です — Shisa プラットフォームで作成してください。新規アカウントには**$10 分の無料クレジット**が含まれます。
1. API キーを取得する
Shisa AI アカウントにサインアップし、Shisa プラットフォームから API キーを取得します。shsk: プレフィックスを付けて Authorization ヘッダーに含めてください:
Authorization: Bearer shsk:YOUR_API_KEY
ASR は ASR 専用の認証ヘッダーを使用します。トークンには shsk: プレフィックスを付ける必要があります — Authorization: Bearer shsk:YOUR_API_KEY。トークンが欠落しているか不正な形式の場合は 401 エラーが返されます。
API キーをソース管理に含めないでください。実際のアプリケーションでは、環境変数(例: SHISA_API_KEY)から読み込んでください。
2. 音声を準備する
API は WAV、OGG、MP3、または FLAC の base64 エンコードされた音声を受け付けます。まず、サポートされているファイルを base64 にエンコードします:
base64 -w0 audio.ogg # Linux
base64 -i audio.ogg # macOS
3. リクエストを送信する
base64 エンコードされた音声を audio フィールドに入れて、エンドポイントに POST リクエストを送信します。
curl
curl -s -XPOST 'https://api.shisa.ai/asr/srt/audio_llm' \
-H 'Authorization: Bearer shsk:YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"audio": "'$(base64 -w0 audio.ogg)'"
}'
Python
import base64
import requests
# Read and encode audio file
with open("audio.ogg", "rb") as f:
audio_data = base64.b64encode(f.read()).decode("utf-8")
url = "https://api.shisa.ai/asr/srt/audio_llm"
headers = {
"Authorization": "Bearer shsk:YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"audio": audio_data
}
response = requests.post(url, headers=headers, json=payload)
response.raise_for_status()
print(response.json())
JavaScript
async function transcribeAudio(audioFile) {
// Read file and convert to base64
const fileBuffer = await audioFile.arrayBuffer();
const base64Audio = btoa(
new Uint8Array(fileBuffer).reduce(
(data, byte) => data + String.fromCharCode(byte),
''
)
);
const response = await fetch('https://api.shisa.ai/asr/srt/audio_llm', {
method: 'POST',
headers: {
'Authorization': 'Bearer shsk:YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
audio: base64Audio
})
});
if (!response.ok) {
throw new Error(`API request failed: ${response.status}`);
}
return await response.json();
}
// Example usage with file input
document.querySelector('#audioInput').addEventListener('change', async (e) => {
const file = e.target.files[0];
if (file) {
const result = await transcribeAudio(file);
console.log('Transcription:', result);
}
});
必須なのは audio フィールドのみです。言語は自動検出され、チューニングパラメータには適切なデフォルト値が使用されます。特定の言語を指定したり、ドメイン用語を追加したりするには、API リファレンスを参照してください。
4. レスポンスを読む
API は、文字起こしされたテキスト、検出された言語、信頼度スコアを含む JSON レスポンスを返します:
{
"text": "こんにちは、シサAIです。",
"language": "ja",
"confidence": 0.98
}
次のステップ
- すべてのリクエストパラメータとエラーコードは API リファレンスを参照してください。
- サポートされている形式と検出可能な97言語については、音声と言語を参照してください。
- サービス全体の認証ヘッダーの規約については、認証で学べます。