Gumzo AI API Documentation

Integrate speech-to-text and translation capabilities

Dashboard

API Reference

Overview

The Gumzo AI API provides speech-to-text transcription and translation capabilities. This documentation describes how to integrate with our API to add powerful audio processing features to your applications.

!Base URL

https://api.gumzoai.com/api/v2/

Authentication

All API requests require authentication using your API token. Include the token in theAuthorizationheader with the Token prefix.

Authorization: Token sk_autoscribe_1234567890abcdef1234567890abcdef

!Keep your token secure

Your API token grants full access to your account. Do not expose it in client-side code or public repositories. Regenerate your token immediately if you suspect it's been compromised.

POST

/transcribe/

Transcribes audio files into text with speaker diarization and formatting options.

Speech-to-Text

Request Parameters

ParameterTypeRequiredDescription
fileFileYesAudio file to transcribe (MP3, WAV, FLAC, OGG)
job_languageStringYesBCP-47 language code (e.g., "en", "es", "fr")
job_typeStringYesTranscription type ("Verbatim", "Smart", "Summary")
skip_diarizationBooleanNoSet to "true" to disable speaker identification
webhook_urlStringNoURL for completion callback

Example Request

import requests

BASE_URL = "https://api.gumzoai.com/api/v2/"
TOKEN = "sk_autoscribe_1234567890abcdef1234567890abcdef"

# Create transcription
response = requests.post(
    f"{BASE_URL}transcribe/",
    files={"file": open("audio.mp3", "rb")},
    headers={"Authorization": f"Token {TOKEN}"},
    data={
        "job_language": "en",
        "job_type": "Verbatim",
        "skip_diarization": "false",
        "webhook_url": "https://example.com/callback"
    }
)
print(response.json())

Response

{
  "job_id": "trans_1234567890abcdef",
  "status": "processing",
  "estimated_wait": 30,
  "created_at": "2025-07-18T14:30:00Z"
}
POST

/translate/

Translates existing transcriptions into other languages while preserving formatting.

Translation

Request Parameters

ParameterTypeRequiredDescription
job_idStringYesID of completed transcription job
to_languageStringYesTarget BCP-47 language code
webhook_urlStringNoURL for completion callback

Example Request

import requests

BASE_URL = "https://api.gumzoai.com/api/v2/"
TOKEN = "sk_autoscribe_1234567890abcdef1234567890abcdef"

# Create translation
data = {
    "job_id": "TRANSCRIPTION_ID",
    "to_language": "fr",
    "webhook_url": "https://example.com/callback"
}
response = requests.post(
    f"{BASE_URL}translate/",
    json=data,
    headers={"Authorization": f"Token {TOKEN}"}
)
print(response.json())

Response

{
  "translation_id": "translat_1234567890abcdef",
  "status": "queued",
  "estimated_wait": 45,
  "created_at": "2025-07-18T14:35:00Z"
}

Webhooks

Receive notifications when transcription or translation jobs complete by providing awebhook_urlparameter. We'll send a POST request to your endpoint when the job status changes.

Webhook Payload

{
  "event": "job_completed",
  "job_id": "trans_1234567890abcdef",
  "job_type": "transcription",
  "status": "completed",
  "result_url": "https://api.gumzoai.com/results/trans_1234567890abcdef",
  "created_at": "2025-07-18T14:45:00Z"
}

Verification

All webhook requests include a signature header for verification:

Header

X-Gumzo-Signature

Verification Method

HMAC-SHA256

Error Codes

StatusCodeDescription
400invalid_requestInvalid parameters or malformed request
401authentication_failedInvalid or missing API token
403forbiddenInsufficient permissions
404not_foundResource not found
429rate_limit_exceededToo many requests
500server_errorInternal server error