kavel
Generate images from a prompt with no API key and no account.
from kavel import generate
url = generate("a paper-cut layered mountain range at dusk, warm rim light")
That is the whole setup. No key to fetch, no config file, no dependencies — standard library only. It calls the anonymous endpoint on Kavel, an online AI image and video studio.
Editing a photo
Pass image_url and the prompt describes the change rather than the picture:
url = generate(
"restyle the hair into a shoulder-length layered cut, "
"keep the same face, skin and lighting",
image_url="https://example.com/portrait.jpg",
)
Naming what must stay is what holds the likeness. Prompts that only name the edit tend to drift the whole face.
What the free tier actually covers
| Anonymous grant | 15 credits |
| Text-to-image | 5 credits — so the grant covers two |
Photo edit (nano-banana-2-lite) |
15 credits — exactly one |
| Per-IP ceiling | 30 credits a day |
Anonymous output is 1K and watermarked. Signing in on kavel.ai removes the watermark and opens the larger models.
Video is deliberately not exposed here. The cheapest clip is 40 credits against a 15-credit anonymous wallet, so a signed-out call cannot succeed at any setting. Signed-out video on the site runs on a browser-side engine instead — see the video tools.
Errors worth catching
KavelError covers the three things that actually happen:
- the content filter refused the prompt (credits are spent either way, so rewrite rather than retry)
- the queue ran past
timeout - the per-IP daily ceiling returned 429
Prompts that work
Kavel keeps a page per edit, each preloaded with a prompt for that specific job — hairstyle, outfit, and the rest under image tools.
MIT licensed.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kavel-0.1.0.tar.gz.
File metadata
- Download URL: kavel-0.1.0.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
050b5518d3df233f017b26e577c66a630351824b97efd825138f48a8ee608f61
|
|
| MD5 |
e4f916fa6d9da783f2b0c459274958c3
|
|
| BLAKE2b-256 |
8df34424cc119a8bed6d02c13583c8de14d5d4d956ef3f6a446f26f3ce541e24
|
File details
Details for the file kavel-0.1.0-py3-none-any.whl.
File metadata
- Download URL: kavel-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea1feda0c312f112d9a48db655cc77c9842fe460ba60a33a85a154b4a862ed92
|
|
| MD5 |
4c2363890bdfca7505b0a2db24184c6c
|
|
| BLAKE2b-256 |
71dd4adf5321452ce5091d6f990736060a8214dcb26ab5d8cb7d8ca935c2a499
|