Skip to content

Speak AI API reference for audio, video, and text data

Reference for the Speak AI REST API: base URL, API key and access token authentication, error format, and every endpoint for media, folders, and more.

Updated View as MarkdownAsk ClaudeOpen in ChatGPTllms.txt

The Speak AI API is a REST API for uploading audio, video, and text, reading the transcripts and insights Speak AI generates from them, and managing the folders, recorders, webhooks, and automations around them. It covers 75 endpoints across 14 resources.

What is the base URL for the Speak AI API?

The base URL for the Speak AI API is https://api.speakai.co/v1. Every path on this reference is relative to that base URL, so GET /media means GET https://api.speakai.co/v1/media.

How is the Speak AI API versioned?

The Speak AI API is versioned in the URL path. The base URL is https://api.speakai.co/[version] and the current version is v1, so every request goes to https://api.speakai.co/v1. The spec does not document a deprecation policy or any version other than v1.

How do you authenticate with the Speak AI API?

Every Speak AI API call takes two headers: x-speakai-key with your API key, and x-access-token with an access token you generate from that key. Get your API key from the developer page in your Speak AI account, then exchange it for a token pair.

curl -X POST 'https://api.speakai.co/v1/auth/accessToken' \
  -H 'x-speakai-key: sk_test_speak_0000000000000000' \
  -H 'Content-Type: application/json' \
  -d '{}'
{
  "status": "success",
  "data": {
    "email": "your_email_id",
    "accessToken": "access_token",
    "refreshToken": "refresh_token"
  }
}

Send the accessToken in the x-access-token header on every other call. The access token expires after 80 minutes and the refresh token after 24 hours. When the access token expires the API returns 401, and you call POST /auth/refreshToken for a new pair. When the refresh token expires you start again at POST /auth/accessToken.

What are the rate limits on the Speak AI API?

The two authentication endpoints, POST /auth/accessToken and POST /auth/refreshToken, are limited to 5 requests per 60 seconds, and going over returns 429 Too Many Requests. Back off and retry when you see a 429.

POST /live-transcription/token is limited the same way, to 5 requests per 60 seconds per IP address. It returns 429 with a plain text body rather than the usual JSON error, so mint one token per session and reuse it.

What does a Speak AI API error look like?

A failed Speak AI API call returns a JSON body with a status of failed, a requestId you can quote to support, a numeric code, a human readable message, and sometimes a hints array. This example is the response to a call made with an invalid API key.

{
  "status": "failed",
  "requestId": "ca665625-645e-438a-867d-366a6e3f133a",
  "code": 401,
  "message": "The authorization api key provided for the request is invalid.",
  "hints": [
    "The authorization api key provided for the request is invalid."
  ]
}

A successful call returns status: "success" with the payload under data. Note that the HTTP status line and the code field in the body do not always agree, so read the code field as well as the HTTP status.

Which endpoints does the Speak AI API have?

Speak AI groups its 75 endpoints into 14 resources, one page each. Each page lists every endpoint in that resource with its parameters, an example request, and the response shape.

Resource Endpoints What it covers
Authentication 2 Exchange your Speak AI API key for an access token, send it in the x-access-token header, and refresh the pair before the 80 minute expiry ends.
Media 10 Upload audio and video to Speak AI, list your media library, poll processing status, read the transcript and insights, and run the analysis again.
Live transcription 3 Open a live transcription session in Speak AI, mint the token that authorizes the streaming connection, and send words and the recording back as it runs.
Text 4 Create a text note in Speak AI, read the insights generated from it, update the note when its content changes, and delete it when you are finished.
Exports 4 Export a transcript or its insights from Speak AI as PDF, DOCX, TXT, SRT, VTT, CSV, or JSON, one file at a time or several files in one request.
Folders 12 Create, list, clone, update, and delete Speak AI folders, and manage the saved views that control how the media inside a folder is filtered.
Recorders and surveys 11 Create and clone Speak AI recorders, set their questions and settings, generate share URLs, and read the recordings that respondents submit.
Media embeds 5 Create and update Speak AI media embeds, check whether a piece of media is already embedded, and get the iframe URL to drop into your own page.
AI chat 2 Ask a question about the media stored in Speak AI and read the answer back, and list the AI chat prompts that have already run in your account.
Meeting assistant 4 Schedule the Speak AI meeting assistant to join a call, list your scheduled and past meeting events, and remove or delete an assistant booking.
Fields 4 Create custom fields in Speak AI, list every field defined in your account, and update a single field or a whole batch of fields in one request.
Automations 6 Create, read, update, and delete Speak AI automations, and turn an automation on or off without changing the trigger and action it is built from.
Admin 3 Create users in your Speak AI account, update an existing user, and list every user the account contains. These endpoints are for account admins.
Webhooks 5 Register a webhook so Speak AI posts events to your server, list and update the webhooks on your account, send a test payload, and delete a webhook.

How current is this reference?

Every endpoint, parameter, and response on these pages is generated from the API’s OpenAPI 3.0 definition, so the reference matches what the API actually accepts and returns. When the API changes, these pages change with it.

Get an API key on the Speak AI developer page, then start with Authentication.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close