Abestar API のすべてのエンドポイントを確認し、各機能の統合方法を学べます。
パブリックメタデータ
翻訳と ASR がサポートする言語・モデル一覧。認証不要。
翻訳モジュールが現在対応している全言語の code と表示名を返却。認証ヘッダ不要。code は BCP 47 形式(例:zh-TW、en-US)で、/api/v1/translations/text の source_lang / target_lang にそのまま渡せる。現在 26 言語に対応。
Authorization
Request Examples
curl https://abemono.abestar.com.tw/translations/languagesResponses
対応言語の完全リスト。
| Name | Type | Description |
|---|---|---|
languagesRequired | object[] | 言語エントリの配列。各要素 `{ code: string, name: string }`。code は BCP 47 タグ、name は英語表示名。 |
{
"languages": [
{ "code": "zh-TW", "name": "Traditional Chinese" },
{ "code": "en-US", "name": "English (US)" },
{ "code": "ja-JP", "name": "Japanese" }
]
}Error Codes
Notes
翻訳モジュールと ASR モジュールはそれぞれ独立した言語リストを保持。両方を利用する場合は /translations/languages と /audio/languages をそれぞれ呼び出し、各モジュールの実際の対応言語を確認してください。
翻訳モジュールで現在利用可能な全モデルの code、表示名、説明を返却。認証不要。code は /api/v1/translations/text の model フィールドにそのまま渡せる。
Authorization
Request Examples
curl https://abemono.abestar.com.tw/translations/modelsResponses
利用可能モデルの完全リスト。
| Name | Type | Description |
|---|---|---|
modelsRequired | object[] | モデルエントリの配列。各要素 `{ code: string, name: string, description: string }`。code は翻訳エンドポイント呼び出し時の識別子。 |
{
"models": [
{
"code": "PSSC-V1-251215",
"name": "PSSC V1",
"description": "第一代翻譯模型"
},
{
"code": "PSSC-V2-251215",
"name": "PSSC V2",
"description": "第二代翻譯模型"
},
{
"code": "PSSC-V3-251215",
"name": "PSSC V3",
"description": "第三代翻譯模型"
}
]
}Error Codes
Notes
本エンドポイントは翻訳リクエストで現在利用可能な全モデルの一覧を返す。現時点で 3 件のモデルコードを公開(上記参照);`description` フィールドは繁体字中国語で記述。
音声認識モジュールが現在対応している全言語の code と表示名を返却。認証ヘッダ不要。code は BCP 47 形式(例:zh-TW、en-US)で、/api/v1/audio/transcriptions の language フィールドに渡す。現在 26 言語に対応。
Authorization
Request Examples
curl https://abemono.abestar.com.tw/audio/languagesResponses
対応言語の完全リスト。
| Name | Type | Description |
|---|---|---|
languagesRequired | object[] | 言語エントリの配列。各要素 `{ code: string, name: string }`。code は BCP 47 タグ、name は英語表示名。 |
{
"languages": [
{ "code": "zh-TW", "name": "Traditional Chinese" },
{ "code": "en-US", "name": "English (US)" },
{ "code": "ja-JP", "name": "Japanese" }
]
}Error Codes
Notes
/api/v1/audio/transcriptions が返す detected_language はこの一覧に含まれる code のいずれか。
音声認識モジュールで現在利用可能な全モデルの code、表示名、説明を返却。認証不要。code は /api/v1/audio/transcriptions の model フィールドにそのまま渡せる。
Authorization
Request Examples
curl https://abemono.abestar.com.tw/audio/modelsResponses
利用可能モデルの完全リスト。
| Name | Type | Description |
|---|---|---|
modelsRequired | object[] | モデルエントリの配列。各要素 `{ code: string, name: string, description: string }`。code は ASR エンドポイント呼び出し時の識別子。 |
{
"models": [
{
"code": "tranc-std-v1",
"name": "Tranc Standard V1",
"description": "標準語音辨識模型"
},
{
"code": "tranc-pro-v1",
"name": "Tranc Pro V1",
"description": "進階語音辨識模型"
}
]
}Error Codes
Notes
ASR と翻訳のモデル一覧は完全に独立しており、両エンドポイントで同じ code が使えるとは限らない。現時点で 2 件のモデルコードを公開(上記参照);`description` フィールドは繁体字中国語で記述。
エラーコード一覧
スコープとステータスで絞り込めるエラーコードの全一覧。
| コード | HTTP ステータス | スコープ | 説明 |
|---|---|---|---|
validation_error | 400 | 共通 | リクエストボディの検証エラー。`details.issues` にフィールド別エラーが含まれ、各要素は `{ field: string; message: string }` の構造。 { issues: object[] } |
bad_request | 400 | 共通 | リクエストの構造または内容が仕様に合致しない。`details.reason` がサブ理由コードを保持し、他フィールドは reason により異なる。batch-create エンドポイントが返し得るのは:`body_not_array` / `empty_batch` / `batch_too_large`(3 種)。import エンドポイントが返し得るのは:`file_not_uploaded` / `file_too_large` / `empty_file` / `too_many_rows` / `too_many_columns` / `duplicate_header` / `invalid_header` / `missing_required_headers` / `unexpected_headers` / `csv_parse_failed` / `xlsx_parse_failed` / `sheet_not_found` / `unsupported_file_type`(13 種)。 { "reason": "...", "...": "其他欄位依 reason 而異" } |
unauthorized | 401 | 共通 | API キーが欠落または無効(X-API-Key ヘッダ欠落、形式不正、または取消済み)。4 つのサブ理由:`api_key_missing` / `api_key_invalid_format` / `api_key_invalid` / `api_key_revoked`。 |
forbidden | 403 | 共通 | リクエストが拒否されました。 |
resource_not_found | 404 | 共通 | ルートが存在しない。 |
conflict | 409 | 共通 | リクエストがリソースの現状と競合(例:重複作成、同一リソースの同時変更)。具体的なサブ理由は各エンドポイントの説明を参照。 |
internal_server_error | 500 | 共通 | サーバー内部エラー。 |
service_unavailable | 503 | 共通 | インフラ層の一時的な不可用。 |
dictionary_not_found | 404 | 辞書管理 | 辞書が存在しない。他者所有の辞書も 403 forbidden ではなくこの code で応答する。 |
term_not_found | 404 | 辞書管理 | 用語が存在しない。他者所有のリソースも 403 forbidden ではなくこの code で応答する。 |
duplicate_name | 409 | 辞書管理 | 辞書名が重複。 |
duplicate_term | 409 | 辞書管理 | 用語は同じ辞書に既に存在。 |
text_too_long | 400 | テキスト翻訳 | 入力テキストが 5000 文字の上限を超過。現在は `validation_error` で捕捉、将来の細分化に向け予約済み。 |
unsupported_language_pair | 400 | テキスト翻訳 | 非対応の言語ペア。現在は `validation_error` で捕捉、将来の細分化に向け予約済み。 |
content_policy_violation | 400 | テキスト翻訳 | コンテンツが安全ポリシーにより拒否。 |
dictionary_type_mismatch | 400 | テキスト翻訳 | vocabulary_dictionary_id が forced_replacement 辞書を指す(または逆)。 |
model_not_found | 404 | テキスト翻訳 | 指定モデルが存在しないか利用不可。 |
translation_failed | 502 | テキスト翻訳 | 翻訳バックエンドの失敗。 |
translation_timeout | 504 | テキスト翻訳 | 翻訳バックエンドのタイムアウト。 |
unsupported_audio_format | 400 | 音声認識 | マジックバイト検出失敗。対応: MP3 / WAV / M4A / FLAC / OGG / WEBM。 |
asr_audio_decode_error | 400 | 音声認識 | Base64 デコード失敗、または MIME と内容が不一致。 |
asr_model_not_found | 400 | 音声認識 | 指定 ASR モデルが存在しないか利用不可。注意:translation の model_not_found とは別のエラーコード(asr_* 前綴)。現在は `validation_error` で捕捉、将来の細分化に向け予約済み。 |
asr_content_policy_violation | 400 | 音声認識 | 音声コンテンツが安全ポリシーにより拒否。 |
audio_too_long | 413 | 音声認識 | 音声データが 15 MiB の上限を超過。 |
asr_failed | 502 | 音声認識 | ASR バックエンドの失敗。 |
asr_timeout | 504 | 音声認識 | ASR バックエンドのタイムアウト。 |

