1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
|
<h4 align="center">Join <a href="https://github.com/thumbor/thumbor-bootcamp">thumbor-bootcamp</a> for a learning and contribution experience with ❤️ and 🤗 from the thumbor team</h4>
<p align="center">
<a href="http://www.thumbor.org">
<img title="thumbor" alt="thumbor" src="https://github.com/thumbor/thumbor/blob/readme/docs/thumbor-logo.png?raw=true" />
</a>
</p>
<h3 align="center">
Crop, resize, transform and much more, all on-demand and AI Powered
</h3>
<p align="center">
<img src='https://github.com/thumbor/thumbor/workflows/build/badge.svg' />
<a href='https://coveralls.io/github/thumbor/thumbor?branch=master' target='_blank'>
<img src='https://coveralls.io/repos/thumbor/thumbor/badge.svg?branch=master&service=github'/>
</a>
<a href='https://codeclimate.com/github/thumbor/thumbor' target='_blank'>
<img src='https://codeclimate.com/github/thumbor/thumbor/badges/gpa.svg'/>
</a>
<a href='https://pypi.python.org/pypi/thumbor' target='_blank'>
<img src='https://img.shields.io/pypi/v/thumbor.svg'/>
</a>
<br />
<a href='https://github.com/thumbor/thumbor/pulls' target='_blank'>
<img src='https://img.shields.io/github/issues-pr-raw/thumbor/thumbor.svg'/>
</a>
<a href='https://github.com/thumbor/thumbor/issues' target='_blank'>
<img src='https://img.shields.io/github/issues-raw/thumbor/thumbor.svg'/>
</a>
<a href='https://pypi.python.org/pypi/thumbor' target='_blank'>
<img src='https://img.shields.io/pypi/dm/thumbor.svg'/>
</a>
<a href='https://www.bountysource.com/trackers/257692-globocom-thumbor?utm_source=257692&utm_medium=shield&utm_campaign=TRACKER_BADGE' target='_blank'>
<img src='https://www.bountysource.com/badge/tracker?tracker_id=257692'/>
</a>
</p>
<h4 align="center">thumbor is trusted by hundreds of companies worldwide</h4>
<p align="center">
<img src="./docs/wikipedia.png" alt="Wikipedia trusts thumbor" title="Wikipedia trusts thumbor" width="128" height="128" />
<img src="https://github.com/thumbor/thumbor/blob/readme/docs/globocom.png?raw=true" alt="Globo.com trusts thumbor" title="Globo.com trusts thumbor" width="128" height="128" />
<img src="https://github.com/thumbor/thumbor/blob/readme/docs/vox.png?raw=true" alt="Vox Media trusts thumbor" title="Vox Media trusts thumbor" width="128" height="128" />
<img src="https://github.com/thumbor/thumbor/blob/readme/docs/forbes-logo.png?raw=true" alt="Forbes trusts thumbor" title="Forbes trusts thumbor" width="128" height="128" />
<img src="https://github.com/thumbor/thumbor/blob/readme/docs/squareup.png?raw=true" alt="Square trusts thumbor" title="Square trusts thumbor" width="128" height="128" />
<img src="https://github.com/thumbor/thumbor/blob/readme/docs/deliveroo.png?raw=true" alt="Deliveroo trusts thumbor" title="Deliveroo trusts thumbor" width="128" height="128" />
<img src="https://github.com/thumbor/thumbor/blob/readme/docs/canalplus.png?raw=true" alt="Canal+ trusts thumbor" title="Canal+ trusts thumbor" width="128" height="128" />
<img src="https://github.com/thumbor/thumbor/blob/readme/docs/terra.png?raw=true" alt="Terra trusts thumbor" title="Terra trusts thumbor" width="128" height="128" />
<img src="https://github.com/thumbor/thumbor/blob/readme/docs/nrc.png?raw=true" alt="nrc trusts thumbor" title="nrc trusts thumbor" width="128" height="128" />
<img src="https://github.com/thumbor/thumbor/blob/readme/docs/webdev.png?raw=true" alt="web.dev indicates thumbor for high-performance web sites" title="web.dev indicates thumbor for high-performance web sites" width="128" height="128" />
<img src="https://github.com/thumbor/thumbor/blob/readme/docs/aws.png?raw=true" alt="aws indicates thumbor for serverless image handling" title="aws indicates thumbor for serverless image handling" width="128" height="128" />
<br />
and many more!
</p>
thumbor is a smart imaging service that enables on-demand [cropping, resizing, applying filters and optimizing](http://thumbor.readthedocs.io/en/latest/crop_and_resize_algorithms.html) images.
Cropping photos automatically can be a frustrating experience with severed heads involved. thumbor
uses [AI for smart detection](http://thumbor.readthedocs.io/en/latest/detection_algorithms.html).
thumbor is an HTTP server and you can create as many different images as you want just by varying path parameters:
```
http://<thumbor-server>/300x200/smart/thumbor.readthedocs.io/en/latest/_images/logo-thumbor.png
```
You should see an image of the thumbor logo in 300x200.
Learn more about all you can do in [thumbor's documentation](http://thumbor.readthedocs.io/en/latest/index.html "thumbor docs").
## ⚙️ Installation
Decide which installation option you want to use.
### Option 1: pip
```bash
# thumbor with main dependencies only
pip install thumbor
# thumbor with OpenCV dependency
pip install thumbor[opencv]
# thumbor with all dependencies
pip install thumbor[all]
```
### Option 2: Binary
```bash
sudo add-apt-repository ppa:thumbor/ppa
sudo aptitude update
sudo aptitude install thumbor
```
For more ways, please check out [Installation](https://thumbor.readthedocs.io/en/latest/installing.html).
### Run
Running it is as easy as hit:
```bash
thumbor
```
After this, you can reach it on http://localhost:8888/unsafe/https://raw.githubusercontent.com/thumbor/thumbor/master/example.jpg
### Troubles?
If you experience any troubles, try running:
```bash
thumbor-doctor
```
If you have a `thumbor.conf` file, you can use that to help thumbor-doctor:
```bash
thumbor-doctor -c thumbor.conf
```
If you still need help, please [raise an issue](https://github.com/thumbor/thumbor/issues). Remember to send your `thumbor-doctor` output in the issue:
```bash
thumbor-doctor --nocolor -c thumbor.conf
```
## 🎯 Features
- supports all common images formats out of the box
- [intelligent cropping and resizing](http://thumbor.readthedocs.io/en/latest/detection_algorithms.html)
- blazing fast using caching
- supports many storages (local storage, AWS S3, Rackspace, Ceph, ...)
- AI-powered cropping based on face and feature detection (glasses, interesting points, ...)
- integrated with many programming languages and frameworks <img src="https://www.python.org/favicon.ico" width="16" height="16" /><img src="https://nodejs.org/static/images/favicons/favicon.png" width="16" height="16" /><img src="https://rubygems.org/favicon.ico" width="16" height="16" /> and many more...
- [highly extensible](https://thumbor.readthedocs.io/en/latest/customizing.html)
## 🌟 Awesome Goodies
[awesome-thumbor](https://github.com/thumbor/awesome-thumbor) is a curated list of all things thumbor. There you can find filters, storages, engines, loaders, docker images, extensions in your favorite language and framework, and much more.
All of it with a clear indication of each project's quality. Have fun!
## 👍 Contribute
thumbor is an open-source project with many contributors. Join them
[contributing code](https://github.com/thumbor/thumbor/blob/master/CONTRIBUTING.md) or
[contributing documentation](https://github.com/thumbor/thumbor/blob/master/CONTRIBUTING.md).
If you use thumbor, please take 1 minute and answer [this survey](http://t.co/qPBLXJX0mi)? Only 2 questions!
Join the chat at https://gitter.im/thumbor/thumbor
## 👀 Demo
You can see thumbor in action at http://thumborize.me/
|