Free and Open Source Machine Translation API. Self-hosted, no limits, no ties to proprietary services.
Project description
LibreTranslate
Free and Open Source Machine Translation API, entirely self-hosted. Unlike other APIs, it doesn't rely on proprietary providers such as Google or Azure to perform translations.
API Examples
Request:
const res = await fetch("https://libretranslate.com/translate", {
method: "POST",
body: JSON.stringify({
q: "Hello!",
source: "en",
target: "es"
}),
headers: { "Content-Type": "application/json" }
});
console.log(await res.json());
Response:
{
"translatedText": "¡Hola!"
}
Install and Run
You can run your own API server in just a few lines of setup!
Make sure you have installed Python (3.8 or higher), then simply issue:
pip install libretranslate
libretranslate [args]
Then open a web browser to http://localhost:5000
Build and Run
If you want to make some changes to the code, you can build from source, and run the API:
git clone https://github.com/uav4geo/LibreTranslate
cd LibreTranslate
pip install -e .
libretranslate [args]
Then open a web browser to http://localhost:5000
Run with Docker
Simply run:
docker run -ti --rm -p 5000:5000 libretranslate/libretranslate
Then open a web browser to http://localhost:5000
Build with Docker
Make sure you cloned the models
submodule before building the Docker image:
docker build -t libretranslate .
Run the built image:
docker run -it -p 5000:5000 libretranslate [args]
Or build and run using docker-compose
:
docker-compose up -d --build
Feel free to change the
docker-compose.yml
file to adapt it to your deployment needs, or use an extradocker-compose.prod.yml
file for your deployment configuration.
Arguments
Argument | Description | Default |
---|---|---|
--host | Set host to bind the server to | 127.0.0.1 |
--port | Set port to bind the server to | 5000 |
--char-limit | Set character limit | No limit |
--req-limit | Set maximum number of requests per minute per client | No limit |
--batch-limit | Set maximum number of texts to translate in a batch request | No limit |
--ga-id | Enable Google Analytics on the API client page by providing an ID | No tracking |
--debug | Enable debug environment | False |
--ssl | Whether to enable SSL | False |
--frontend-language-source | Set frontend default language - source | en |
--frontend-language-target | Set frontend default language - target | es |
--frontend-timeout | Set frontend translation timeout | 500 |
Roadmap
Help us by opening a pull request!
- A docker image (thanks @vemonet !)
- Auto-detect input language (thanks @vemonet !)
- User authentication / tokens
- Language bindings for every computer language
FAQ
Can I use your API server at libretranslate.com for my application in production?
The API on libretranslate.com should be used for testing, personal or infrequent use. If you're going to run an application in production, please get in touch to discuss options.
Credits
This work is largely possible thanks to Argos Translate, which powers the translation engine.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file libretranslate-1.1.0.tar.gz
.
File metadata
- Download URL: libretranslate-1.1.0.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4f04663b714592daa645687ac98a914a545e5fdb80c4250f2b3329bc95bd64c |
|
MD5 | 9eb468a977a4bc915632686857573416 |
|
BLAKE2b-256 | f0869ea59497c1106781766765fd3e46f0d249f360bd846cc3f8cbddcbc6d577 |
File details
Details for the file libretranslate-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: libretranslate-1.1.0-py3-none-any.whl
- Upload date:
- Size: 25.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0085fc3fed3725e9212b13b8cdb5b2309861620ca605feddf7eb10e55f5e5d84 |
|
MD5 | 793aab07f15c71da9392e459bc0a2674 |
|
BLAKE2b-256 | de2d1c13e912914ddb0e2823810163e5c4a790a3275e980f67822e333b3860b8 |