In a measured run with OpenAI's tiktoken library, 878 English lessons with 1,266,334 words came to 1,632,272 tokens with o200k_base, which is 1.29 tokens per word; GPT-2's tokenizer gave 1.32. So for English prose, tokens are about 1.3 times the words, and a 1,000-word document is about 1,300 tokens. The rule does not hold for code, tables, long numbers or other languages.
Language changes the count a lot. One sentence, "The server is slow today because many users are online.", took 11 tokens in English with all three tokenizers. With GPT-2's tokenizer, the same meaning took 89 tokens in Hindi and 100 in Bengali; with o200k_base it took 14 and 16. An app that sends that Bengali sentence 1,000 times a day would pay for 100,000 tokens with the old tokenizer and 16,000 with the new one, 6.25 times fewer. These are single translated sentences, so read them as a direction, not a fixed price per language.
Providers charge per token, usually quoted per million tokens, and price input and output separately. A request that sends 2,000 tokens and gets 500 back costs (2,000 x input price + 500 x output price) / 1,000,000. The context window, the most tokens a model can read at once, is counted the same way, and it holds your instructions, documents, question and the answer together.