Pricing
Get started
Get started
Meeting assistants

Seamless multilingual transcription for global meeting assistants

Gladia is trusted by hundreds of AI assistants for error-free transcription, optimized for advanced LLM-powered meeting platforms.

Trusted by 600+ AI assistants and contact center platforms

What you can build with Gladia

Enhanced note-taking

Leverage Gladia’s asynchronous transcription engine to generate error-free summaries and action items. Our transcripts include speaker separation and timestamping features for a granular overview of each meeting’s roster and agenda.

Truly multilingual user experience

Gladia is the first API provider built from the ground up to offer advanced transcription and translation in 100+ languages, along with enhanced support for accents and the unique ability to adapt to different languages on the fly in the context of international calls and meetings.

Accurate transcription, whatever the topic or vertical

With our custom vocabulary and name consistency add-ons, you can ensure consistent and accurate spelling of key terminology and jargon across all meetings.

Advanced search and playback capabilities

Beyond transcription, our product makes it possible to integrate a series of value-adding features into your app, making it easier for users to search for videos and locate specific sections of a meeting.

Our customers achieved

30%

decrease in time spent on manual tasks

20+

languages transcribed per customer

75

%

increase in feature adoption

"The quality of the output from our platform, everything that we do based on this transcription became better after we switched to Gladia."

Valentin van Gastel

VP of Product & Engineering

Built for developers

Add cutting-edge AI to your product in 3 clicks. Our API is compatible with all tech stacks and doesn’t require any AI expertise or setup costs.

async function makeFetchRequest(url: string, options: any) {
  const response = await fetch(url, options);
  return response.json();
}

async function pollForResult(resultUrl: string, headers: any) {
  while (true) {
    console.log("Polling for results...");
    const pollResponse = await makeFetchRequest(resultUrl, { headers });

    if (pollResponse.status === "done") {
      console.log("- Transcription done: \n ");
      console.log(pollResponse.result.transcription.full_transcript);
      break;
    } else {
      console.log("Transcription status : ", pollResponse.status);
      await new Promise((resolve) => setTimeout(resolve, 1000));
    }
  }
}

async function startTranscription() {
  const gladiaKey = "YOUR_GLADIA_API_TOKEN";
  const requestData = {
    audio_url:
      "YOUR_AUDIO_URL",
  };
  const gladiaUrl = "https://api.gladia.io/v2/transcription/";
  const headers = {
    "x-gladia-key": gladiaKey,
    "Content-Type": "application/json",
  };

  console.log("- Sending initial request to Gladia API...");
  const initialResponse = await makeFetchRequest(gladiaUrl, {
    method: "POST",
    headers,
    body: JSON.stringify(requestData),
  });

  console.log("Initial response with Transcription ID :", initialResponse);

  if (initialResponse.result_url) {
    await pollForResult(initialResponse.result_url, headers);
  }
}

startTranscription();
import requests
import time

def make_fetch_request(url, headers, method='GET', data=None):
    if method == 'POST':
        response = requests.post(url, headers=headers, json=data)
    else:
        response = requests.get(url, headers=headers)
    return response.json()

gladia_key = "YOUR_GLADIA_API_TOKEN"
request_data = {"audio_url": "YOUR_AUDIO_URL"}
gladia_url = "https://api.gladia.io/v2/transcription/"

headers = {
    "x-gladia-key": gladia_key,
    "Content-Type": "application/json"
}

print("- Sending initial request to Gladia API...")
initial_response = make_fetch_request(gladia_url, headers, 'POST', request_data)

print("Initial response with Transcription ID:", initial_response)
result_url = initial_response.get("result_url")

if result_url:
    while True:
        print("Polling for results...")
        poll_response = make_fetch_request(result_url, headers)
        
        if poll_response.get("status") == "done":
            print("- Transcription done: \n")
            print(poll_response.get("result", {}).get("transcription", {}).get("full_transcript"))
            break
        else:
            print("Transcription status:", poll_response.get("status"))
        time.sleep(1)
ss Lower AI infrastructure costs. We leverage a proprietary know-how to fit more AI on less hardware — without compromising on quality and performance.
ss Technical edge. With Gladia, you get access to an optimized version of the most sophisticated ASR models and regular software upgrades at no extra cost.
ss Reduced time-to-market. By embedding advanced AI into your applications directly, your users can derive full value from your product from day one.
ss Easy-to-scale. Increase your processing capacity easily with our pay-as-you go system. Our enterprise-grade API is built to adapt to your ever-growing needs.

Read more