メインコンテンツまでスキップ

ASR API リファレンス

Shisa ASR API は、​単一の​ JSON リクエストで​ base64 エンコードされた​音声を​テキストに​変換します。​この​ページでは、​エンドポイント、​リクエストパラメータ、​成功レスポンス、​エラー処理に​ついて​説明します。

エンドポイント

POST https://api.shisa.ai/asr/srt/audio_llm

完全なshsk: APIキーを​含むベアラートークンで​認証します:

Authorization: Bearer YOUR_API_KEY

リクエストボディは​ JSON で、​サーバーは​バイナリヘッダーから​音声形式を​自動検出します。

リクエストパラメータ

パラメータ必須説明
audiostring必須base64 エンコードされた​音声データ​(WAV、​OGG、​MP3、​または​ FLAC)。
languagestring任意言語コード​(例: "ja""en")。​自動言語検出​(LID)の​場合は​省略します。
hotwordsstring[]任意ドメイン固有の​用語の​認識精度を​高める​ための​単語/フレーズの​配列。
temperaturefloat任意サンプリング温度。​値を​低く​すると​出力が​より​決定的に​なります。​デフォルト: 0.0
top_pfloat任意Nucleus サンプリングパラメータ。​出力の​多様性を​制御します。​デフォルト: 0.85
frequency_penaltyfloat任意頻出トークンに​ペナルティを​課して​繰り返しを​減らします。​デフォルト: 0.5
repetition_penaltyfloat任意トークンの​繰り返しに​ペナルティを​課します。1.0 を​超える​値は​繰り返しを​抑制します。​デフォルト: 1.05
vadinteger または​ string任意音声区​間​検出。0/"off"(デフォルト)、1/"on"、​または​タイムスタンプ付きチャンクを​返す"segments"
min_silence_gapintegersegmentsのみ分割を​作成する​無音区間​(ミリ秒)。​デフォルト: 400
segment_paddingintegersegmentsのみセグメント端に​追加する​パディング​(ミリ秒)。​デフォルト: 100、​範囲​: 05000
initial_segment_padding_msintegersegmentsのみ最初の​セグメントの​先頭プリロール​(ミリ秒)。​デフォルト: 1500、​範囲​: 05000
speech_pad_msintegersegmentsのみ音声タイムスタンプの​パディング​(ミリ秒)。​デフォルト: 200
min_segment_durationfloatsegmentsのみマージ前の​最小セグメント長​(秒)。​デフォルト: 1.5
注記

必須なのはaudioのみです。​推奨される​トップレベルaudio形式では、​言語は​自動検出され、vadの​デフォルトは"off"です。​フィールド名はvadであり、vad_filterは​サポートされません。

旧形式のリクエスト

messagesを​使う​旧形式では、vadの​デフォルトは1です。​OpenAI互換のmodelフィールドは​互換性の​ため受け付けられますが​無視され、​ASRの​バックエンドと​モデルは​デプロイ側で​選択されます。

成功レスポンス

成功したリクエストは、​文字起こし、​検出または​指定された​言語、​信頼度スコアを​含む JSON オブジェクトを​返します:

{
"text": "こんにちは、シサAIです。",
"language": "ja",
"confidence": 0.98
}
フィールド説明
text音声から​文字起こしされた​テキスト。
language検出または​指定された​言語コード。
confidence0 から​ 1 までの​文字起こし信頼度スコア。

セグメントレスポンス

vad: "segments"を​指定すると、​トップレベルのtextフィールドの​代わりに、​タイムスタンプ付きチャンクが​返されます。

{
"language": "ja",
"confidence": 1.0,
"segments": [
{
"start": 0.0,
"end": 4.78,
"text": "こんにちは、シサAIです。"
}
]
}

segments[].startsegments[].endは、​パディングと​マージを​適用した​後の​出力音声チャンク境界​(秒)です。

エラー処理

ルーターが​生成する​エラーには​通常、context、​数値のcodename、​文字列のerrorが​含まれます。

{
"context": ["authMiddleware"],
"code": 104,
"name": "ErrAuthenticationFailed",
"error": "Authentication error: Invalid token"
}

エラーコード

ステータス原​因
400JSON、​base64/音声、​言語、​VAD設定、​または​セッションIDが​不正。​ASRリクエスト本文の​検証内容の​多くは​バックエンド依存です。
401APIキーが​ない、​または​無効。
403キーは​有効だが、​バッチASRへの​アクセス権が​ない。
404ルーティング先の​ASRサービス/プロバイダーが​登録されていない。
429APIキー全体の​制限、​ASR固有の​制限、​または​バックエンド容量に​到達。​バック​オフして​再試行してください。
500ルーター内部または​後処理の​障害。
502選択された​バックエンドに​ルーターが​接続できない。
バックエンドの​ステータスバックエンドエラーは、​その​ステータスと​レスポンス本文のまま​転送されます。

バックエンド固有の​正確な​フィールドや​メッセージは、​ルーター契約の​一部では​ありません。​堅牢な​エラー処理に​ついてはエラーを​参照してください。

次の​ステップ

  • クイックスタートで​動作する​リクエストを​作成します。
  • サポートされている​形式と​言語選択に​ついては、音声と​言語を​参照してください。
  • 利用が​どのように​課金されるかは料​金を​参照してください。