proofreader-ai is an AI-driven proofreading API designed to help developers and teams automatically check and correct grammar, spelling, and clarity in text. Built on FastAPI and leveraging advanced language models, it provides a simple, scalable, and asynchronous REST API for integrating proofreading capabilities into your applications, workflows, or content pipelines.
Key features include:
- Seamless integration with modern AI models (e.g., OpenAI, GitHub Models)
- Fast, asynchronous processing for high performance
- Simple RESTful endpoints for easy automation
- Interactive API documentation via Swagger UI and ReDoc
- Secure token-based authentication using environment variables
Whether you are building content management systems, document editors, chatbots, or any application that benefits from high-quality text, proofreader-ai offers a robust and extensible solution for automated proofreading.
- Python 3.13 or higher (Download Python)
- Poetry 2.0 or higher (Poetry installation guide)
This project uses Poetry for dependency management.
git clone https://github.com/rcw3bb/proofreader-ai.git
cd proofreader-ai
poetry installEnsure that a GITHUB_TOKEN environment variable is in your system with your GitHub Models API token:
GITHUB_TOKEN=your_github_models_token_hereThe project uses a logging.ini file for logging configuration. Logs are written to proofreader-ai.log and the console. You can adjust logging settings in logging.ini at the project root.
You can run the API server with:
poetry run uvicorn proofreader_ai.server:appOnce running, interactive API documentation is available at:
- Swagger UI: http://127.0.0.1:8000/docs
- ReDoc: http://127.0.0.1:8000/redoc
Send a POST request to /proofread with your text:
curl -X POST "http://127.0.0.1:8000/api/v1/proofread" -H "Content-Type: application/json" -d '{"text": "This is a sample paragraf with a typo and bad grammar."}'Response:
{
"messages": [
{
"content": "This is a sample paragraph with a typo and poor grammar.",
"role": "assistant",
"annotations": [],
"refusal": null
}
]
}- All source code is in the
proofreader_aipackage. - Tests are in the
testspackage, mirroring the source structure.
Run all tests and generate an HTML coverage report:
poetry run pytest --cov=proofreader_ai tests --cov-report htmlOpen htmlcov/index.html to view the coverage report.
Format and lint the code in one step:
poetry run black proofreader_ai && poetry run pylint proofreader_aiSee CHANGELOG.md for release history.
This project is licensed under the MIT License - see the LICENSE.md file for details.
Ron Webb