{"id":"text-reading-stats","version":"1.0.0","description":"Return word, sentence, and paragraph counts plus a rounded-up reading-time estimate at a chosen pace.","supported_operations":["estimate reading time for this text","count sentences and paragraphs in prose","reading statistics at a custom pace","how many minutes to read this passage","measure words sentences and paragraphs","calculate reading duration from words per minute"],"unsupported_operations":["UAX #29 sentence segmentation","language-aware abbreviation detection","speech duration estimation"],"semantics":["Words are maximal non-empty runs of code points not having White_Space in Unicode 15.1.0 PropList.txt.","A sentence ends only at . ! or ? when the next code point has White_Space or the terminator is at end; repeated punctuation therefore counts only its final eligible terminator. This deliberately does not handle abbreviations, decimals, quotations, or UAX #29 sentence boundaries.","Paragraphs are non-empty groups of lines separated by one or more blank lines; a blank line contains only Unicode White_Space other than CR and LF. CRLF, CR, and LF are line breaks.","words_per_minute defaults to 200 and must be an integer from 1 through 1000. Reading time is ceil(word_count / words_per_minute), with empty text returning 0."],"limits":{"max_input_bytes":4096,"max_code_points":4096,"max_iterations":20480,"max_output_bytes":4500},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["text"],"properties":{"text":{"type":"string","maxLength":4096},"words_per_minute":{"type":"integer","minimum":1,"maximum":1000,"default":200}}},"output_schema":{"type":"object","additionalProperties":false,"required":["word_count","sentence_count","paragraph_count","words_per_minute","reading_time_minutes","standard_version","data_version"],"properties":{"word_count":{"type":"integer","minimum":0,"maximum":4096},"sentence_count":{"type":"integer","minimum":0,"maximum":4096},"paragraph_count":{"type":"integer","minimum":0,"maximum":4096},"words_per_minute":{"type":"integer","minimum":1,"maximum":1000},"reading_time_minutes":{"type":"integer","minimum":0,"maximum":4096},"standard_version":{"type":"string"},"data_version":{"type":"string"}}},"examples":[{"input":{"text":"First.\n\nSecond!"},"output":{"word_count":2,"sentence_count":2,"paragraph_count":2,"words_per_minute":200,"reading_time_minutes":1,"standard_version":"Unicode 15.1.0","data_version":"unicode-15.1.0-white-space"}},{"input":{"text":"one two three","words_per_minute":2},"output":{"word_count":3,"sentence_count":0,"paragraph_count":1,"words_per_minute":2,"reading_time_minutes":2,"standard_version":"Unicode 15.1.0","data_version":"unicode-15.1.0-white-space"}}],"execute_url":"/v1/tools/text-reading-stats/versions/1.0.0/execute"}