quickthumb
Design thumbnails, social graphics, and presentation visuals in Python.
One layered API. Deterministic output. Ready for automation.
Get started · Browse recipes · API reference
Create the image. Keep the system
quickthumb turns a visual composition into reusable Python or JSON. Build it once, change the content or assets, and render consistent creative at any scale.
pip install quickthumb
from quickthumb import Canvas
canvas = (
Canvas.from_aspect_ratio("16:9", base_width=1280)
.background(color="#F5F5F7")
.text(
"Make the message impossible to miss.",
size=88,
color="#1D1D1F",
weight=700,
position=(80, 180),
max_width=820,
)
.shape(
"rectangle",
position=(80, 500),
width=180,
height=8,
color="#0066CC",
)
)
canvas.render("announcement.png")
The core workflow stays small:
- Create a
Canvas. - Add backgrounds, text, images, shapes, SVG, or auto-layout groups.
- Call
render().
Follow the five-minute guide →
Built for creative automation
- Layered by default — compose visuals in the same order people think about them.
- Python or JSON — author directly, generate specs with AI, or template content at scale.
- One source, many formats — render images, animated media, documents, and slide decks.
- Designed to be checked — diagnostics catch common layout and legibility problems before export.
Gallery
| YouTube thumbnail | Commentary thumbnail | Tutorial cover |
|---|---|---|
| Instagram news card | Podcast promo |
|---|---|
| Vertical shorts cover | Animated product reel |
|---|---|
|
|
|
Explore the examples and source files →
Render wherever the work goes
canvas.render("creative.png")
canvas.render("creative.svg")
canvas.render("creative.html")
canvas.render("creative.pptx")
canvas.render("creative.pdf")
canvas.render("creative.gif")
canvas.render("creative.mp4")
Multi-slide Deck compositions can also render to numbered images, PDF, PPTX,
HTML slideshows, GIF, WebM, and narrated MP4.
Some formats use optional dependencies. See Installation and Exporting for the exact setup and format behavior.
Pick a path
| I want to… | Start here |
|---|---|
| Make my first graphic | Getting Started |
| Build a proven layout | Cookbook |
| Generate visuals with JSON or AI | JSON & AI Workflow |
| Build a multi-slide deck | Deck guide |
| Validate a composition | Diagnostics & CLI |
| Look up a class or option | API Reference |
License
Release files for quickthumb 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| quickthumb-0.7.0.tar.gz | 87.6 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| quickthumb-0.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 87.9 MB
Release files / quickthumb-0.7.0.tar.gz
| Download URL | quickthumb-0.7.0.tar.gz |
|---|---|
| Size | 87.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f3c3cc67d68a18c4417e72a97fbc9225374de35ae4499187aa2c4bbc58554975
|
|
BLAKE2b-256 checksum How to use checksums |
8ce7ac38d28836c175ddfc9765eeedfd3ec7e6f120f55b932fff0aa1a71a33f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / quickthumb-0.7.0-py3-none-any.whl
| Download URL | quickthumb-0.7.0-py3-none-any.whl |
|---|---|
| Size | 253.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
21ae38ffa9d1676759af3ccc727670ce5d8e760164ddc00e91a915070acb9d5a
|
|
BLAKE2b-256 checksum How to use checksums |
6936570fefd18b02cab7c791de0f486ebc0331abeb2a233732373e49a05bb838
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|