Slam 1 API

AssemblyAI's most customizable model for transcription (English only).
Output
$0.0000975 / sec

How to use Slam 1 API

Install any OpenAI-compatible SDK, point it at api.aimlapi.com/v1, and set the model to aai/slam-1.
import requests, time

headers = {"Authorization": "Bearer " + AIMLAPI_KEY}
job = requests.post(
    "https://api.aimlapi.com/v1/stt/create",
    headers=headers,
    json={
      "model": "aai/slam-1",
      "url": "https://example.com/audio.mp3"
    },
).json()
gid = job["generation_id"]

while True:
    res = requests.get(f"https://api.aimlapi.com/v1/stt/{gid}", headers=headers).json()
    if res.get("status") in ("completed", "error", "failed"):
        break
    time.sleep(3)
print(res)
const headers = {
  Authorization: `Bearer ${process.env.AIMLAPI_KEY}`,
  "Content-Type": "application/json",
};
const job = await (await fetch("https://api.aimlapi.com/v1/stt/create", {
  method: "POST",
  headers,
  body: JSON.stringify({
    "model": "aai/slam-1",
    "url": "https://example.com/audio.mp3"
  }),
})).json();

let res;
do {
  await new Promise((r) => setTimeout(r, 3000));
  res = await (await fetch(`https://api.aimlapi.com/v1/stt/${job.generation_id}`, { headers })).json();
} while (!["completed", "error", "failed"].includes(res.status));
console.log(res);
# submit the job — the response contains "generation_id"
curl -X POST https://api.aimlapi.com/v1/stt/create \
  -H "Authorization: Bearer $AIMLAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"aai/slam-1","url":"https://example.com/audio.mp3"}'

# then poll for the result until it is ready
curl "https://api.aimlapi.com/v1/stt/{generation_id}" -H "Authorization: Bearer $AIMLAPI_KEY"

OpenAI-compatible — swap the base URL and it works with your existing SDK.

Slam 1 API Pricing

TypePrice
Input
Output
$0.0000975 / sec tokens

Start building with Slam 1

Get API Key
1000+ models, one API.