
What Is text-humanizer?
text-humanizer is a free, open-source Python project that rewrites AI-generated content using a multilingual, large language model-powered pipeline. Its goal is to preserve the source meaning while producing more natural sentence structures, varied phrasing, and greater stylistic diversity.
The project combines DeepSeek with translation services to transform text across several languages before reconstructing it in the original language. The README states that this process can bypass many AI detectors, although detector results can vary and should not be treated as guaranteed.
Key Features
- Preserves the original meaning while improving naturalness.
- Introduces varied sentence structures and linguistic patterns.
- Supports different writing styles and tones.
- Uses a multilingual rewriting and translation pipeline.
- Works with English, Japanese, Chinese, Korean, German, French, and Spanish through the listed language codes.
- Provides optional DeepL integration for additional cross-language variation.
- Is distributed as free, open-source software under the MIT License.
How the Rewriting Pipeline Works
Step 1: DeepSeek Rewrite
DeepSeek generates a semantically equivalent version of the input with modified phrasing, sentence structures, and information flow. According to the project documentation, this stage also uses Chinese as an intermediate representation to reduce patterns associated with the original language.
Step 2: Google Translation
The intermediate output passes through Google Translate and is translated into Turkish. This adds cross-lingual changes caused by differences in syntax and translation behavior.
Step 3: Optional DeepL Translation
If you provide a DeepL API key, the Turkish text is translated into Japanese through DeepL. This optional stage adds another language and an independent translation engine to the pipeline.
Step 4: Final DeepSeek Reconstruction
DeepSeek translates and reconstructs the result in the language selected for the input and output. The final pass is intended to remove translation artifacts, restore readable sentence flow, and retain the original meaning.
Prerequisites
Before installing the project, make sure you have the following:
- Python 3.6 or newer.
- Git for cloning the repository.
- A DeepSeek API key.
- An optional DeepL API key if you want to enable the additional DeepL stage.
- Internet access for the external model and translation services.
Installation
1. Clone the Repository
git clone https://github.com/korcarc/text-humanizer.git
cd text-humanizer2. Install the Dependencies
Install the Python packages defined by the project:
pip install -r requirements.txtIf your system maps pip to another Python installation, use the appropriate command for your environment, such as python -m pip or python3 -m pip.
3. Create the Configuration File
On Windows, copy the example configuration with:
copy .\config\config.example.toml .\config.tomlOn Linux or macOS, use the equivalent copy command:
cp ./config/config.example.toml ./config.tomlConfiguration
Open config.toml and configure the available options before running the application.
- target_language: Selects the language used for input and output. Listed values are
en,ja,zh,ko,de,fr, andes. - deepseek_api_key: Your required DeepSeek API key.
- deepl_api_key: Your optional DeepL API key.
- base_url: Overrides the API base URL. Leave it empty to use the provider default.
- model: Sets the model slug. Leave it empty to use the provider default.
- temperature: Controls the LLM sampling temperature. The project recommends
1.3.
A configuration based on the documented settings will resemble the following. Preserve the exact structure and field placement found in the supplied example file:
target_language = "en"
deepseek_api_key = "YOUR_DEEPSEEK_API_KEY"
deepl_api_key = ""
base_url = ""
model = ""
temperature = 1.3Replace the placeholder with your actual DeepSeek key. Leave deepl_api_key empty if you do not want to use the optional DeepL translation stage.
Basic Usage
Start the humanizer from the repository directory:
python main.pyOn systems where Python 3 uses a separate executable name, run:
python3 main.pyThe program processes text using the language and provider settings in config.toml. For example, setting target_language to en configures the pipeline for English input and output. To process Japanese text, change it to ja before launching the program again.
Example Language Changes
For German input and output:
target_language = "de"For Spanish input and output:
target_language = "es"Use only a language code supported by the project configuration.
Advanced Configuration Tips
Enable the Optional DeepL Stage
Add a valid DeepL key to deepl_api_key to enable the Turkish-to-Japanese translation stage. Without this key, the pipeline skips that optional step.
Adjust the Temperature
The README recommends a temperature of 1.3. This setting is intended to encourage variation during LLM rewriting. If you experiment with another value, compare the output carefully to ensure that the original meaning remains intact.
Use a Custom Endpoint or Model
The base_url setting can override the default API endpoint, while model can specify a model slug. Leave either field empty when you want to use the provider's default value. Custom values should match the API service you are using.
Review Meaning After Multiple Translations
The project is designed to preserve semantics, but every rewriting and translation stage can introduce subtle changes. Review names, figures, quotations, technical terminology, and factual claims in the final result before publishing it.
Protect API Credentials
Treat API keys as secrets. Avoid publishing a populated config.toml or committing credentials to a public repository.
Responsible Use
Use text-humanizer to improve clarity, tone, and stylistic variety rather than to misrepresent authorship or evade rules that require disclosure of AI assistance.
AI-detection systems are inconsistent, and no rewriting workflow can guarantee a particular detector result. Follow the disclosure, academic integrity, publishing, and platform policies that apply to your work.
Conclusion
text-humanizer offers a configurable approach to multilingual text rewriting by combining DeepSeek, Google Translate, and optional DeepL processing. After cloning the repository, installing its dependencies, and adding your API settings, you can launch the pipeline with python main.py. Review every result to confirm readability, factual accuracy, and semantic fidelity.
The source code and MIT license are available in the text-humanizer GitHub repository.
