English Language Assessment Tool API

Analyze your English pronunciation and fluency in seconds. Upload speech, get instant feedback on grammar, accent, pacing, and CEFR level — improve every day!

Input

Send these Fields as input. A Field not listed here is refused.

sample

Audio file

An https URL or an upload id.

  • Type: string
  • Required: yes
  • Length in characters: at least 1

mother_language

Your first language

  • Type: string
  • Required: no
  • Length in characters: at most 30000

response_language

Response language

  • Type: string
  • Required: no
  • Length in characters: at most 30000

target_text

Textual version of the audio

  • Type: string
  • Required: no
  • Length in characters: at most 30000

Run it

One call presses the Widget and answers the run once its status is succeeded or failed, however long it takes. The key is read from ABYSS_API_KEY. Install the library with npm install abysshub or pip install abysshub; cURL sends the Fields as a form.

JavaScript

// index.mjs
import Abyss, { file } from "abysshub";

const abyss = new Abyss();

const run = await abyss.run("widget_336", {
  sample: file("audio.mp3"),
});

for (const path of await run.save("output")) {
  console.log(path);
}

Python

from abysshub import Abyss, file

abyss = Abyss()

run = abyss.run("widget_336", {
    "sample": file("audio.mp3"),
})

for path in run.save("output"):
    print(path)

cURL

curl https://api.abysshub.com/v1/widgets/widget_336/runs \
  -H "Authorization: Bearer $ABYSS_API_KEY" \
  -F sample=@audio.mp3

A succeeded run carries its result and its output_files. Their URLs are signed for each read: re-read the run, never store a URL. A run still queued or running in the answer (after an hour, or when the API is busy) is read again at its Location with ?wait=true.

More

Keys, files, errors and limits: API access.