{ "@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" ] }