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.
| Type | Price |
|---|---|
| Input | |
| Output |