Transibo Transibo
Developers

Build transcription into your product

A clean REST API for synchronous short-clip transcription and asynchronous jobs, with per-org API keys and signed webhooks.

Authentication

Create a per-organization API key in the console under Organization → API keys (format tsk_<prefix>_<secret>, shown once, stored hashed). Send it as a bearer token:

Authorization: Bearer <YOUR_API_KEY>
# or
X-Internal-Key: <YOUR_API_KEY>

Endpoints

MethodPathScopePurpose
GET/v1/healthnoneLiveness + fast-lane readiness
POST/v1/transcribetranscribeSync short-clip transcription
POST/v1/jobsjobs:writeEnqueue an async job (long media)
GET/v1/jobs/{id}jobs:readJob status + transcript/SRT when done

Quickstart

Sync transcription (cURL)

curl -sS https://YOUR_HOST/v1/transcribe \
  -H "Authorization: Bearer $TRANSIBO_KEY" \
  -F "file=@clip.wav" -F language=auto

Async job + poll (Python)

import time, requests

BASE = "https://YOUR_HOST"
H = {"Authorization": f"Bearer {TOKEN}"}

job = requests.post(f"{BASE}/v1/jobs", headers=H,
                    files={"file": open("meeting.mp4", "rb")},
                    data={"language": "auto"}).json()
jid = job["job_id"]

while True:
    s = requests.get(f"{BASE}/v1/jobs/{jid}", headers=H).json()
    if s["status"] in ("done", "error"):
        break
    time.sleep(3)

print(s.get("text"))

Webhooks

Register an endpoint under Organization → Webhooks. On job.completed / job.failed you receive a signed POST; verify HMAC_SHA256(secret, raw_body) against the signature header.

X-Transibo-Event: job.completed
X-Transibo-Signature: sha256=<hex>