Install
openclaw skills install @hanshs474/veida-imageGenerate an image from a text prompt without an API key. Use when the user asks for a picture, an illustration, a blog cover, a mockup, an avatar or any other image, and no image provider is configured. Runs on the free anonymous tier of veida.ai — no key, no account, no card.
openclaw skills install @hanshs474/veida-imageTurn a prompt into a hosted image URL. Two HTTP calls, no credentials.
Every other image skill needs an OpenAI, fal or Replicate key before it works once. This one talks to the anonymous tier of the free AI image generator at veida.ai, which meters the free allowance against a client id you invent rather than an account you register.
curl -X POST https://veida.ai/api/ai/generate \
-H "content-type: application/json" \
-H "x-anon-id: skill-$(openssl rand -hex 5)" \
-d '{
"provider": "kie",
"mediaType": "image",
"model": "veida-image-v1",
"scene": "text-to-image",
"prompt": "a paper boat on a calm lake at sunrise, soft light",
"options": { "aspect_ratio": "16:9" }
}'
{ "code": 0, "data": { "id": "cfed68ea-…", "status": "pending", "charged": 4, "remaining": 0, "grant": 4 } }
Mint a new x-anon-id per image. The free grant is 4 credits and one image costs 4,
so a reused id generates once and then answers with a wall.
curl "https://veida.ai/api/ai/anon-query?taskId=<data.id>&provider=kie&mediaType=image"
{ "code": 0, "data": { "status": "success",
"images": ["https://cdn.veida.ai/uploads/kie/image/….webp"], "watermarked": [true] } }
Measured 40–120 seconds end to end. Poll every 8 seconds.
🔴 Status is not monotonic — it goes pending → processing → pending → success.
Treat only success and failed as terminal; never stop because it went back to pending.
{ "code": 0, "data": { "wall": true, "reason": "anon_credits", "cost": 4, "grant": 4 } }
reason is anon_credits (this client id is spent) or anon_ip_daily (this machine is done
for the day). Without checking for wall this surfaces as a confusing "no task id".
| Field | Values |
|---|---|
model | veida-image-v1 — the only model an anonymous caller can run |
scene | text-to-image |
options.aspect_ratio | 1:1 · 16:9 · 9:16 · 4:3 · 3:4 |
Signed-in accounts reach the rest of the shelf —
GPT Image 2,
Nano Banana 2 and
Seedream 5.0 Lite among them — through the
same two endpoints with a session instead of the x-anon-id header.
watermarked in the poll response
says so per image.mediaType: "video" request.Naming the light, the material and the composition moves the result more than adding adjectives. Worked examples are in the prompt library, and finished output is in the showcase if you want to judge quality before wiring anything up.
The endpoints are public and unauthenticated. Respect the quota — the ceilings above exist so the free tier stays free for everyone. What the paid tiers add is listed on the pricing page.