Generate images from Python with no API key, no account and no card.
from veida import generate
url = generate("a paper boat on a calm lake at sunrise, soft light", aspect_ratio="16:9")
print(url) # https://cdn.veida.ai/uploads/kie/image/....webpFrom the shell:
pip install veida
python -m veida "an isometric illustration of a small coffee shop, pastel palette" --ratio 16:9Every other image library wants a key from OpenAI, fal or Replicate before it runs once. This one talks to the anonymous tier of Veida — a client id the library invents rather than an account you register — so it works on a fresh machine.
- Zero dependencies. Standard library only, so there is nothing to pin and nothing that can drift out from under you.
- A url, not bytes. The returned CDN link is permanent and cacheable, so it drops straight into a template, a Slack message or a database row.
- Readable failures.
VeidaErrorcarries a sentence about what to do — quota spent, content filter, timeout — instead of a stack trace you have to interpret.
- The anonymous grant is 4 credits and one image costs 4, so the library mints a fresh caller per call. A loop is not limited to one image.
- A ceiling of 30 credits per IP per day sits on top: roughly 7 images a day from
one machine. When it is spent you get a
VeidaErrorsaying so. - Free output is 1K and watermarked.
- 🔴 Editing an existing image is not available anonymously. The editing model costs 30 credits against a 4-credit grant, so an anonymous edit can never be paid for — this library does not pretend to offer one. Sign in and use the image editor or the ChatGPT image editor.
- There is no video on this service.
Signing in removes the watermark, lifts the cap and opens the rest of the shelf — GPT Image 2 when the picture must contain readable text, Nano Banana 2 for instruction following, Seedream 5.0 Lite for colour and composition, Qwen Image 3 for typography. What each tier costs is on the pricing page.
Name the light, the material and the composition. "A product photo of a mug" gives the model nothing; "matte black ceramic mug on pale oak, soft window light from the left, shallow depth of field" gives it a picture. Worked examples live in the prompt library, and finished output in the showcase.
The same engine backs the ChatGPT image generator and the free AI image generator in a browser. There is also an MCP server if you want the same thing inside an agent.
generate(prompt, aspect_ratio="1:1", timeout=240.0, poll_every=4.0) -> str
aspect_ratio is one of 1:1, 16:9, 9:16, 4:3, 3:4. Raises VeidaError.
MIT.