hanshs474 / veida
Generate images from PHP with no API key and no account, via the free tier of veida.ai
Requires
- php: >=8.1
- ext-curl: *
- ext-json: *
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Generate images from PHP with no API key, no account and no card.
use Veida\Veida; $img = Veida::generate('a paper boat on a calm lake at sunrise, soft light', '16:9'); echo $img->url; // https://cdn.veida.ai/uploads/....webp var_dump($img->watermarked); // true on the free tier
Install:
composer require hanshs474/veida
Most image libraries want a key from OpenAI, fal or Replicate before they run once. This one talks to the anonymous tier of Veida, an online AI image generator, using a client id the library invents rather than an account you register, so it works on a fresh machine with nothing configured.
What the free tier covers
Measured against the running service:
| Anonymous grant per client id | 4 credits |
| One text-to-image run | 4 credits, so one image per id |
| Per-IP ceiling | 30 credits a day, roughly 7 images |
| Output | 1K, watermarked |
The library mints a fresh client id for every call, so a loop is not limited to one image;
the per-IP ceiling is what stops it. When that is spent you get a Veida\QuotaException saying so.
Editing an existing photo is not offered here. The editing model costs 30 credits against a 4-credit grant, so an anonymous edit could never be paid for. Signed in, the image editor does that in a browser.
Past the free tier
Signing in removes the watermark, lifts the cap and opens the larger models: GPT Image 2 when the picture must contain readable text, Nano Banana 2 for instruction following and Seedream 5.0 Lite for colour and composition. What each costs is on the pricing page.
Prompts that work
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. The same engine backs the ChatGPT image generator and the free AI image generator in a browser.
API
Veida::generate(string $prompt, string $aspectRatio = '1:1', int $timeout = 240, int $pollEvery = 4): Image Veida\QuotaException // wait until tomorrow, or sign in Veida\RejectedException // reword the prompt Veida\TimeoutException // safe to retry
Aspect ratio is one of 1:1, 16:9, 9:16, 4:3, 3:4.
PHP 8.1+, ext-curl and ext-json only; no Guzzle, nothing to pin.
Other clients: Python · Go · MCP server.
MIT.