Skip to main content

Free and Open Source Machine Translation API. Self-hosted, no limits, no ties to proprietary services.

Project description

LibreTranslate

Try it online! | API Docs

Publish to DockerHub Publish to GitHub Container Registry

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.

image

Try it online! | API Docs

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 extra docker-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

GNU Affero General Public License v3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libretranslate-1.1.0.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

libretranslate-1.1.0-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

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

Hashes for libretranslate-1.1.0.tar.gz
Algorithm Hash digest
SHA256 b4f04663b714592daa645687ac98a914a545e5fdb80c4250f2b3329bc95bd64c
MD5 9eb468a977a4bc915632686857573416
BLAKE2b-256 f0869ea59497c1106781766765fd3e46f0d249f360bd846cc3f8cbddcbc6d577

See more details on using hashes here.

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

Hashes for libretranslate-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0085fc3fed3725e9212b13b8cdb5b2309861620ca605feddf7eb10e55f5e5d84
MD5 793aab07f15c71da9392e459bc0a2674
BLAKE2b-256 de2d1c13e912914ddb0e2823810163e5c4a790a3275e980f67822e333b3860b8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page