Takes a recording and the text that was supposed to be read, and returns a readi
Takes a recording and the text that was supposed to be read, and returns a reading assessment. The recording is transcribed with word timestamps and aligned to the text by global sequence alignment, ignoring case and punctuation. Every text word is marked correct, substituted (with what was heard), or omitted; words spoken but not in the text are listed as insertions.
Answeringour last check, 2026-10-31
1 of 1checks answered this week
1403 msmedian answer time
$0.025listed price per call
$0.025price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://medien.halowerk.com/v1/reading-check
| Category | Everything else |
|---|---|
| Provider host | medien.halowerk.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-31 | valid payment request | 402 | $0.025 | 1403 ms |
Example input (from the provider)
{
"body": {
"duration_minutes": 1,
"language": "en",
"source": {
"url": "https://static.deepgram.com/examples/Bueller-Life-moves-pretty-fast.wav"
},
"text": "Life moves pretty fast. If you don't stop and look around once in a while, you could miss it."
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"confidence_threshold": {
"default": 0.6,
"maximum": 1,
"minimum": 0,
"type": "number"
},
"duration_minutes": {
"description": "Length in started minutes \u2014 this is what you are billed for.",
"maximum": 15,
"minimum": 1,
"type": "integer"
},
"language": {
"description": "Language of the text (BCP-47). Strongly recommended.",
"maxLength": 12,
"type": "string"
},
"pause_seconds": {
"default": 1,
"maximum": 5,
"minimum": 0.3,
"type": "number"
},
"source": {
"additionalProperties": false,
"description": "The recording. Either url or content_base64.",
"properties": {
"content_base64": {
"description": "The file inline, base64. Larger files by url.",
"maxLength": 12000000,
"type": "string"
},
"filename": {
"maxLength": 260,
"type": "string"
},
"url": {
"description": "Public http(s) URL of the file.",
"maxLength": 2048,
"type": "string"
}
},
"type": "object"
},
"text": {
"description": "The text that was to be read.",
"maxLength": 30000,
"minLength": 1,
"type": "string"
}
},
"required": [
"source",
"duration_minutes",
"text"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}