Show typing test
show_typing_testRead-onlyIdempotent
Use this when the user wants to take a typing test, check their typing speed (WPM), practice typing, test on their own paragraph, or drill weak keys. Opens a live test in the widget: the timer starts on the first keystroke, characters are highlighted as typed, and the widget scores the result with calculate_typing_score. Returns the passage settings and a challenge link that opens the same test in a browser. Does not score text by itself and does not save results between conversations. Do not use for counting words in a document or for typing tutorials without a test.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | timed (type until the clock runs out) or passage (type one full passage; time stops at the last character). Defaults to timed, or passage when custom_text is given. Example: timed. | |
| seed | No | Optional number that picks the passage; the same seed and settings give the same passage (for retakes and fair challenges). Example: 4821. | |
| difficulty | No | Passage style: words (common English words, no punctuation), sentences (prose with capitals and punctuation), numbers (words mixed with numbers, times and dates), code (short code snippets with line breaks). Default words. Example: sentences. | |
| focus_keys | No | Practice drill: the keys to train, e.g. 'eth' or 'q;7' (a list like 'q, z and x' also works). Builds a drill passage from words that use these keys. Usually the weak_keys from a previous result. | |
| custom_text | No | Text the user wants to be tested on, pasted verbatim, e.g. 'The early bird catches the worm.' Curly quotes and dashes become keyboard characters; whitespace is collapsed (line breaks are kept when difficulty is code). At least 5 characters; text beyond 3,000 characters is cut at a word boundary. | |
| duration_seconds | No | Length of a timed test in seconds, 10-600. Common choices are 15, 30, 60, 120; job tests often use 60, 180 or 300. Default 60. Example: 60. |
Output Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| mode | Yes | ||
| seed | Yes | ||
| text | Yes | ||
| title | Yes | ||
| custom | Yes | ||
| downloads | Yes | ||
| char_count | Yes | ||
| difficulty | Yes | ||
| focus_keys | Yes | ||
| word_count | Yes | ||
| text_preview | Yes | ||
| difficulty_label | Yes | ||
| duration_seconds | Yes |