TonePerfect (Pronunciation Assessment API) · JSON-LD Context
Toneperfect Context
JSON-LD context defining the semantic vocabulary for Toneperfect from TonePerfect (Pronunciation Assessment API).
11 Classes
62 Properties
4 Namespaces
Namespaces
schema:
https://schema.org/
xsd:
http://www.w3.org/2001/XMLSchema#
dcterms:
http://purl.org/dc/terms/
toneperfect:
https://toneperfect.app/schema#
Classes
Error
StatusWindow
Billing
Scores
Phone
Word
Component
Syllable
CompactAssessment
Assessment
Capabilities
Properties
| Property | Type | Container |
|---|---|---|
| error | ||
| request_id | string | |
| id | string | |
| billing | reference | |
| checks | integer | |
| ok | integer | |
| success_rate | decimal | |
| p50_latency_ms | integer | |
| p90_latency_ms | integer | |
| busy_skipped | integer | |
| credits | integer | |
| balance_credits | integer | |
| free_credits | integer | |
| source | string | |
| overall | decimal | |
| pronunciation | decimal | |
| initial | decimal | |
| final | decimal | |
| tone | decimal | |
| integrity | decimal | |
| fluency | decimal | |
| rhythm | decimal | |
| dimension | string | |
| expected | string | |
| heard | string | |
| score | decimal | |
| decision | string | |
| flagged | boolean | |
| start_ms | integer | |
| end_ms | integer | |
| operation | string | |
| diagnosis_status | string | |
| word | string | |
| pinyin | string | |
| expected_ipa | string | |
| omission_suspected | boolean | |
| phones | list | |
| agrees_with_prompt | boolean | |
| confidence | string | |
| alternatives | list | |
| advice | string | |
| index | integer | |
| span_ms | list | |
| components | ||
| assessable | boolean | |
| reason | string | |
| locale | string | |
| task | string | |
| model_version | string | |
| scores | reference | |
| warnings | list | |
| words | list | |
| language | string | |
| status | string | |
| syllables | list | |
| duration_seconds | decimal | |
| timing_ms | integer | |
| timing | ||
| model | ||
| raw | ||
| languages | list | |
| limits |
JSON-LD Document
{
"@context": {
"@vocab": "https://toneperfect.app/schema#",
"schema": "https://schema.org/",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"dcterms": "http://purl.org/dc/terms/",
"toneperfect": "https://toneperfect.app/schema#",
"Error": "toneperfect:Error",
"error": {
"@id": "toneperfect:error"
},
"request_id": {
"@id": "toneperfect:request_id",
"@type": "xsd:string"
},
"id": {
"@id": "toneperfect:id",
"@type": "xsd:string"
},
"billing": {
"@id": "toneperfect:billing",
"@type": "@id"
},
"StatusWindow": "toneperfect:StatusWindow",
"checks": {
"@id": "toneperfect:checks",
"@type": "xsd:integer"
},
"ok": {
"@id": "toneperfect:ok",
"@type": "xsd:integer"
},
"success_rate": {
"@id": "toneperfect:success_rate",
"@type": "xsd:decimal"
},
"p50_latency_ms": {
"@id": "toneperfect:p50_latency_ms",
"@type": "xsd:integer"
},
"p90_latency_ms": {
"@id": "toneperfect:p90_latency_ms",
"@type": "xsd:integer"
},
"busy_skipped": {
"@id": "toneperfect:busy_skipped",
"@type": "xsd:integer"
},
"Billing": "toneperfect:Billing",
"credits": {
"@id": "toneperfect:credits",
"@type": "xsd:integer"
},
"balance_credits": {
"@id": "toneperfect:balance_credits",
"@type": "xsd:integer"
},
"free_credits": {
"@id": "toneperfect:free_credits",
"@type": "xsd:integer"
},
"source": {
"@id": "toneperfect:source",
"@type": "xsd:string"
},
"Scores": "toneperfect:Scores",
"overall": {
"@id": "toneperfect:overall",
"@type": "xsd:decimal"
},
"pronunciation": {
"@id": "toneperfect:pronunciation",
"@type": "xsd:decimal"
},
"initial": {
"@id": "toneperfect:initial",
"@type": "xsd:decimal"
},
"final": {
"@id": "toneperfect:final",
"@type": "xsd:decimal"
},
"tone": {
"@id": "toneperfect:tone",
"@type": "xsd:decimal"
},
"integrity": {
"@id": "toneperfect:integrity",
"@type": "xsd:decimal"
},
"fluency": {
"@id": "toneperfect:fluency",
"@type": "xsd:decimal"
},
"rhythm": {
"@id": "toneperfect:rhythm",
"@type": "xsd:decimal"
},
"Phone": "toneperfect:Phone",
"dimension": {
"@id": "toneperfect:dimension",
"@type": "xsd:string"
},
"expected": {
"@id": "toneperfect:expected",
"@type": "xsd:string"
},
"heard": {
"@id": "toneperfect:heard",
"@type": "xsd:string"
},
"score": {
"@id": "toneperfect:score",
"@type": "xsd:decimal"
},
"decision": {
"@id": "toneperfect:decision",
"@type": "xsd:string"
},
"flagged": {
"@id": "toneperfect:flagged",
"@type": "xsd:boolean"
},
"start_ms": {
"@id": "toneperfect:start_ms",
"@type": "xsd:integer"
},
"end_ms": {
"@id": "toneperfect:end_ms",
"@type": "xsd:integer"
},
"operation": {
"@id": "toneperfect:operation",
"@type": "xsd:string"
},
"diagnosis_status": {
"@id": "toneperfect:diagnosis_status",
"@type": "xsd:string"
},
"Word": "toneperfect:Word",
"word": {
"@id": "toneperfect:word",
"@type": "xsd:string"
},
"pinyin": {
"@id": "toneperfect:pinyin",
"@type": "xsd:string"
},
"expected_ipa": {
"@id": "toneperfect:expected_ipa",
"@type": "xsd:string"
},
"omission_suspected": {
"@id": "toneperfect:omission_suspected",
"@type": "xsd:boolean"
},
"phones": {
"@id": "toneperfect:phones",
"@container": "@list"
},
"Component": "toneperfect:Component",
"agrees_with_prompt": {
"@id": "toneperfect:agrees_with_prompt",
"@type": "xsd:boolean"
},
"confidence": {
"@id": "toneperfect:confidence",
"@type": "xsd:string"
},
"alternatives": {
"@id": "toneperfect:alternatives",
"@container": "@list"
},
"advice": {
"@id": "toneperfect:advice",
"@type": "xsd:string"
},
"Syllable": "toneperfect:Syllable",
"index": {
"@id": "toneperfect:index",
"@type": "xsd:integer"
},
"span_ms": {
"@id": "toneperfect:span_ms",
"@container": "@list"
},
"components": {
"@id": "toneperfect:components"
},
"CompactAssessment": "toneperfect:CompactAssessment",
"assessable": {
"@id": "toneperfect:assessable",
"@type": "xsd:boolean"
},
"reason": {
"@id": "toneperfect:reason",
"@type": "xsd:string"
},
"locale": {
"@id": "toneperfect:locale",
"@type": "xsd:string"
},
"task": {
"@id": "toneperfect:task",
"@type": "xsd:string"
},
"model_version": {
"@id": "toneperfect:model_version",
"@type": "xsd:string"
},
"scores": {
"@id": "toneperfect:scores",
"@type": "@id"
},
"warnings": {
"@id": "toneperfect:warnings",
"@container": "@list"
},
"words": {
"@id": "toneperfect:words",
"@container": "@list"
},
"Assessment": "toneperfect:Assessment",
"language": {
"@id": "toneperfect:language",
"@type": "xsd:string"
},
"status": {
"@id": "toneperfect:status",
"@type": "xsd:string"
},
"syllables": {
"@id": "toneperfect:syllables",
"@container": "@list"
},
"duration_seconds": {
"@id": "toneperfect:duration_seconds",
"@type": "xsd:decimal"
},
"timing_ms": {
"@id": "toneperfect:timing_ms",
"@type": "xsd:integer"
},
"timing": {
"@id": "toneperfect:timing"
},
"model": {
"@id": "toneperfect:model"
},
"raw": {
"@id": "toneperfect:raw"
},
"Capabilities": "toneperfect:Capabilities",
"languages": {
"@id": "toneperfect:languages",
"@container": "@list"
},
"limits": {
"@id": "toneperfect:limits"
}
},
"@type": "schema:Dataset",
"schema:name": "TonePerfect (Pronunciation Assessment API) API JSON-LD context",
"schema:description": "A JSON-LD @context for the objects TonePerfect (Pronunciation Assessment API)'s own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-10-08) from openapi/toneperfect-openapi.json.",
"dcterms:created": "2026-10-08",
"dcterms:source": [
"openapi/toneperfect-openapi.json"
]
}