# Writing Assistance APIs
A collection of high-level browser-native web APIs proposed by the [[WebMachineLearning]] working group for text composition tasks. They wrap browser-provided LLMs (see [[Prompt API]] and [[Browser-Provided Language Models]]) behind task-specific JavaScript interfaces, delivering streaming output without cloud dependencies.
Spec repo: https://github.com/webmachinelearning/writing-assistance-apis
## Component APIs
### Summarizer API
- Condenses text into shorter form
- Configurable format (plain text, markdown, bullet points), length, and language
- Streaming output support
### Writer API
- Generates new text given instructions and optional context
- Configurable tone (formal, casual), format, and length
### Rewriter API
- Rewrites existing text following instructions
- Useful for tone changes, simplification, or localization
## Design Rationale
Higher-level than [[Prompt API]]:
- No prompt engineering required — caller specifies task type, format, length
- Implemented by the browser using its provided model
- Consistent behavior across use cases without needing a general-purpose LLM interface
## Relationship to Prompt API
| | Prompt API | Writing Assistance APIs |
|---|---|---|
| Abstraction | Low-level (raw prompts) | High-level (task-specific) |
| Flexibility | Arbitrary tasks | Summarize, Write, Rewrite |
| Prompt control | Full control | Browser-managed |
| Use case | Power users, complex apps | Standard writing workflows |
## Status
Early incubation in W3C WebML WG. Experimental in Chrome.
## References
- https://github.com/webmachinelearning/writing-assistance-apis
## Related
- [[WebMachineLearning]]
- [[Prompt API]]
- [[WebNN API]]
- [[Browser-Provided Language Models]]
- [[On-Device Machine Learning]]
- [[Large Language Models (LLMs)]]
- [[AI Inference]]