Openapi

get

List all API tokens for the authenticated user

Authorizations
Responses
200Success
application/json
get
GET /openapi/auth/token/ HTTP/1.1
Host: app.timbr.studio
Authorization: Bearer YOUR_API_KEY
Accept: */*
{
  "status": 1,
  "result_code": "text",
  "message": "text",
  "data": {
    "tokens": [
      {
        "access_token": "text",
        "token_type": "text",
        "expires_in": 1
      }
    ]
  }
}
post

Issue a new API token

Authorizations
Body
grant_typestring · enumRequiredPossible values:
scopestringOptional
client_idstring · uuidRequired
client_secretstring · min: 1Optional
Responses
200Success
application/json
post
POST /openapi/auth/token/ HTTP/1.1
Host: app.timbr.studio
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 124

{
  "grant_type": "client_credentials",
  "scope": "text",
  "client_id": "123e4567-e89b-12d3-a456-426614174000",
  "client_secret": "text"
}
{
  "status": 1,
  "result_code": "text",
  "message": "text",
  "data": {
    "access_token": "text",
    "token_type": "text",
    "expires_in": 1
  }
}
post

Delete API tokens

Authorizations
Body
api_tokensstring[]Required
Responses
200Success
application/json
post
POST /openapi/auth/token/delete/ HTTP/1.1
Host: app.timbr.studio
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 23

{
  "api_tokens": [
    "text"
  ]
}
{
  "status": 1,
  "result_code": "text",
  "message": "text",
  "data": {
    "requested_count": 1,
    "deleted_count": 1
  }
}
post

Audio source seperation

Authorizations
Body
file_idstringRequired

File ID

Responses
200Success
application/json
post
POST /openapi/v1/audio-separation/ HTTP/1.1
Host: app.timbr.studio
Authorization: Bearer YOUR_API_KEY
Content-Type: multipart/form-data
Accept: */*
Content-Length: 18

{
  "file_id": "text"
}
{
  "status": 1,
  "result_code": "text",
  "message": "text",
  "data": {
    "task_id": "text"
  }
}
get

API user gets credit

Authorizations
Responses
200Success
application/json
get
GET /openapi/v1/credit/ HTTP/1.1
Host: app.timbr.studio
Authorization: Bearer YOUR_API_KEY
Accept: */*
{
  "status": 1,
  "result_code": "text",
  "message": "text",
  "data": {
    "credit": 1
  }
}
post

View task

Authorizations
Body
task_idstringRequired

Task ID

Responses
200Success
application/json
post
POST /openapi/v1/task/ HTTP/1.1
Host: app.timbr.studio
Authorization: Bearer YOUR_API_KEY
Content-Type: multipart/form-data
Accept: */*
Content-Length: 18

{
  "task_id": "text"
}
{
  "status": 1,
  "result_code": "text",
  "message": "text",
  "data": {
    "source_assets": [
      {
        "id": "text",
        "name": "text",
        "mime_type": "text",
        "extension": "text",
        "link": "text"
      }
    ],
    "output_assets": [
      {
        "id": "text",
        "name": "text",
        "mime_type": "text",
        "extension": "text",
        "link": "text"
      }
    ],
    "status": "text",
    "created_at": "text",
    "updated_at": "text",
    "started_at": "text",
    "error_message": "text"
  }
}
post

Transcription

Authorizations
Body
file_idstringRequired

File ID

detect_speakersbooleanRequired

Detect speakers

Default: true
speakersinteger · int32Optional

Number of speakers (0~9, 0 for auto-detect)

speaker_namebooleanOptional

Enable speaker name

denoise_audiobooleanRequired

Denoise audio

Default: false
Responses
200Success
application/json
post
POST /openapi/v1/transcription/ HTTP/1.1
Host: app.timbr.studio
Authorization: Bearer YOUR_API_KEY
Content-Type: multipart/form-data
Accept: */*
Content-Length: 96

{
  "file_id": "text",
  "detect_speakers": true,
  "speakers": 1,
  "speaker_name": true,
  "denoise_audio": false
}
{
  "status": 1,
  "result_code": "text",
  "message": "text",
  "data": {
    "task_id": "text"
  }
}
post

Translation

Authorizations
Body
file_idstringRequired

File ID of SRT file

speaker_namebooleanOptional

Enable speaker name

source_languagestringRequired

Source language (en, ko, ja, zh, ca, cs, da, de, el, hu, hi, id, it, lv, mk, ms, nl, pl, pt, ro, ru, sr, sl, es, sv, th, fr, hr, yue)

target_languagestringRequired

Target language (en, ko, ja, es, zh, de, fr, pt, vi, id, ru, hi, ta, hr, el, sv, cs, ro, hu, da, fi, ms, sk)

Responses
200Success
application/json
post
POST /openapi/v1/translation/ HTTP/1.1
Host: app.timbr.studio
Authorization: Bearer YOUR_API_KEY
Content-Type: multipart/form-data
Accept: */*
Content-Length: 88

{
  "file_id": "text",
  "speaker_name": true,
  "source_language": "text",
  "target_language": "text"
}
{
  "status": 1,
  "result_code": "text",
  "message": "text",
  "data": {
    "task_id": "text"
  }
}
post

API user uploads a single file

Authorizations
Body
filestring · binaryRequired

Upload a file (e.g. @/path/to/file.wav;type=audio/wav)

Responses
200Success
application/json
post
POST /openapi/v1/upload/file/ HTTP/1.1
Host: app.timbr.studio
Authorization: Bearer YOUR_API_KEY
Content-Type: multipart/form-data
Accept: */*
Content-Length: 17

{
  "file": "binary"
}
{
  "status": 1,
  "result_code": "text",
  "message": "text",
  "data": {
    "files": [
      {
        "file_id": "text",
        "expires_at": "text",
        "content_type": "text",
        "file_size": 1,
        "uploaded_size": 1
      }
    ]
  }
}