Logo

Explore every Abestar API endpoint and learn how to integrate them.

Public Metadata

Public
4 endpoints

Supported languages and models for translation and ASR; no auth.

Returns every language currently supported by the translation module, with code and display name. No auth header is required. The code follows BCP 47 (e.g. zh-TW, en-US) and can be passed directly as source_lang / target_lang on /api/v1/translations/text. Currently 26 languages are supported.

Authorization

Public endpoint (no auth)

Request Examples

bash
curl https://abemono.abestar.com.tw/translations/languages

Responses

Full list of supported languages.

NameTypeDescription
languagesRequired
object[]

Array of language entries; each element `{ code: string, name: string }`. code is the BCP 47 tag, name is the English display name.

json
{
  "languages": [
    { "code": "zh-TW", "name": "Traditional Chinese" },
    { "code": "en-US", "name": "English (US)" },
    { "code": "ja-JP", "name": "Japanese" }
  ]
}

Error Codes

internal_server_error

Notes

Translation and ASR modules maintain independent language lists. If you use both, call /translations/languages and /audio/languages separately to obtain each side's actual supported set.

Returns every translation model currently available, with code, display name, and description. No auth required. The code can be passed directly as the model field on /api/v1/translations/text.

Authorization

Public endpoint (no auth)

Request Examples

bash
curl https://abemono.abestar.com.tw/translations/models

Responses

Full list of available models.

NameTypeDescription
modelsRequired
object[]

Array of model entries; each element `{ code: string, name: string, description: string }`. code is the identifier passed to the translation endpoint.

json
{
  "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

internal_server_error

Notes

This endpoint returns every model currently available for translation requests. Currently exposes 3 model codes (as listed above); the `description` field is written in Traditional Chinese.

Returns every language currently supported by the speech recognition module, with code and display name. No auth header is required. The code follows BCP 47 (e.g. zh-TW, en-US) and is used as the language field on /api/v1/audio/transcriptions. Currently 26 languages are supported.

Authorization

Public endpoint (no auth)

Request Examples

bash
curl https://abemono.abestar.com.tw/audio/languages

Responses

Full list of supported languages.

NameTypeDescription
languagesRequired
object[]

Array of language entries; each element `{ code: string, name: string }`. code is the BCP 47 tag, name is the English display name.

json
{
  "languages": [
    { "code": "zh-TW", "name": "Traditional Chinese" },
    { "code": "en-US", "name": "English (US)" },
    { "code": "ja-JP", "name": "Japanese" }
  ]
}

Error Codes

internal_server_error

Notes

The detected_language returned by /api/v1/audio/transcriptions is one of the codes in this list.

Returns every speech recognition model currently available, with code, display name, and description. No auth required. The code can be passed directly as the model field on /api/v1/audio/transcriptions.

Authorization

Public endpoint (no auth)

Request Examples

bash
curl https://abemono.abestar.com.tw/audio/models

Responses

Full list of available models.

NameTypeDescription
modelsRequired
object[]

Array of model entries; each element `{ code: string, name: string, description: string }`. code is the identifier passed to the ASR endpoint.

json
{
  "models": [
    {
      "code": "tranc-std-v1",
      "name": "Tranc Standard V1",
      "description": "標準語音辨識模型"
    },
    {
      "code": "tranc-pro-v1",
      "name": "Tranc Pro V1",
      "description": "進階語音辨識模型"
    }
  ]
}

Error Codes

internal_server_error

Notes

ASR and translation model lists are independent; do not assume the same code works on both endpoints. Currently exposes 2 model codes (as listed above); the `description` field is written in Traditional Chinese.

Error codes

Error code catalog

Complete error code reference, filterable by scope and status.

Scope
Status
Showing 26 error codes
CodeHTTP statusScopeDescription
validation_error
400
Common

Request body validation failed. `details.issues` contains per-field errors; each element has shape `{ field: string; message: string }`.

{ issues: object[] }
bad_request
400
Common

Request shape or content does not conform. `details.reason` carries the sub-reason code; other fields vary by reason. The batch-create endpoint may return: `body_not_array` / `empty_batch` / `batch_too_large` (3 reasons). The import endpoint may return: `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 reasons).

{ "reason": "...", "...": "其他欄位依 reason 而異" }
unauthorized
401
Common

Missing or invalid API key (X-API-Key header absent, malformed, or revoked). Four sub-reasons: `api_key_missing` / `api_key_invalid_format` / `api_key_invalid` / `api_key_revoked`.

forbidden
403
Common

Request is denied.

resource_not_found
404
Common

Route not found.

conflict
409
Common

Request conflicts with the current state of the resource (e.g. duplicate creation, concurrent modification of the same resource). Specific sub-reasons are documented per endpoint.

internal_server_error
500
Common

Internal server error.

service_unavailable
503
Common

Infrastructure temporarily unavailable.

dictionary_not_found
404
Dictionaries

Dictionary not found. Dictionaries owned by other users are reported with this code rather than 403 forbidden.

term_not_found
404
Dictionaries

Term not found. Resources owned by other users are reported with this code rather than 403 forbidden.

duplicate_name
409
Dictionaries

Dictionary name already exists.

duplicate_term
409
Dictionaries

Term already exists in this dictionary.

text_too_long
400
Text Translation

Input text exceeds 5000-character limit. Currently intercepted by `validation_error`; this code is reserved for future granular surfacing.

unsupported_language_pair
400
Text Translation

Unsupported source/target language pair. Currently intercepted by `validation_error`; this code is reserved for future granular surfacing.

content_policy_violation
400
Text Translation

Content rejected by safety policy.

dictionary_type_mismatch
400
Text Translation

vocabulary_dictionary_id points to a forced_replacement dictionary (or vice versa).

model_not_found
404
Text Translation

Specified model not found or unavailable.

translation_failed
502
Text Translation

Upstream translation provider failed.

translation_timeout
504
Text Translation

Translation backend timed out.

unsupported_audio_format
400
Speech Recognition

Magic bytes detection failed; supported: MP3 / WAV / M4A / FLAC / OGG / WEBM.

asr_audio_decode_error
400
Speech Recognition

Base64 decode failed or content does not match declared MIME.

asr_model_not_found
400
Speech Recognition

Specified ASR model not found or unavailable. Note: distinct error code from translation's model_not_found (uses asr_* prefix). Currently intercepted by `validation_error`; this code is reserved for future granular surfacing.

asr_content_policy_violation
400
Speech Recognition

Audio content rejected by safety policy.

audio_too_long
413
Speech Recognition

Audio payload exceeds 15 MiB limit.

asr_failed
502
Speech Recognition

Upstream ASR provider failed.

asr_timeout
504
Speech Recognition

ASR backend timed out.